2012-12-16 67 views
1

我正在制作流式网络摄像头的应用程序。我想用OpenCV捕获摄像头,ffmpeg作为编码器,live555作为服务器。我知道我必须在live555中实现DeviceSource.cpp来封装编码器以接收来自ffmpeg的帧。但是,似乎没有如何做到这一点的例子。所以任何人都可以提供一些有关实施DeviceSource的教程或示例。先谢谢了。执行live555 DeviceSource从ffmpeg编码器接收帧

回答

0

DeviceSource.cpp是实现使用实时数据的Live555 FramedSource的示例。查看DeviceSource.cpp文件并阅读注释。特别要注意以下几行deliverFrame()

u_int8_t* newFrameDataStart = (u_int8_t*)0xDEADBEEF; //%%% TO BE WRITTEN %%% 
unsigned newFrameSize = 0; //%%% TO BE WRITTEN %%% 

这是你设置数据的地方。

0

这里是真正的你以后这里一个很好的例子:

https://www.imc-store.com.au/Articles.asp?ID=278

它展示了如何使用FFMPEG,然后发送到编码原始RGB帧C++ VS2010项目,离散帧到LIVE555进行流式传输。

VS2010项目包括所有的库和包含文件,所以它应该只是一个解压缩的情况,在VS2010中运行.sln文件,编译并运行!

此外,VLC源代码实现FFMPEG和Live555,你可以看看他们的代码一些额外的指针!

祝你好运!