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