从实时源而不是live555中的文件中获取输入

时间:2014-03-27 07:07:44

标签: live-streaming live555

我刚开始使用live555库。使用实时库的实例并不多。我从相机获取图像数据,我已转换为h264格式。现在,数据存储在程序的缓冲区中。所以我需要流式传输实时视频并通过RTP与RTSP服务进行传输。但最多" test * Streamer"在测试程序中从文件中读取数据,如何修改它以便从实时源而不是文件中获取输入?我应该使用哪些数据结构或对象?如果有人可以帮我提供某种指导/教程或者至少有一些例子可以帮助我,那将会很有帮助。

2 个答案:

答案 0 :(得分:1)

以下是您在此之后的一个很好的例子:

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

这是一个c ++ VS2010项目,展示了如何使用FFMPEG对原始RGB帧进行编码,然后将该离散帧发送到Live555进行流式处理。

VS2010项目包含所有库和包含文件,因此它应该只是解压缩,在VS2010中运行.sln文件,编译并运行!

此外,VLC源代码同时实现了FFMPEG和Live555,你可以看一下他们的代码以获得一些额外的指示!

祝你好运!

答案 1 :(得分:0)

您可以修改testProgs目录中提供的test *文件以从stdin读取。为此,您需要在调用主函数之前“打开”您想要读取的设备,例如

int stream = open("/dev/ttyUSB0",O_RDONLY);

然后在play()函数中,在创建字节流源之前,您需要调用read()函数。这对我来说非常有用。