我刚刚开始使用 live555 库。使用实时库的实例不多。我从相机获取图像数据并转换为 h264 格式。现在,数据存储在程序的缓冲区中。所以我需要流式传输实时视频并通过带有 RTSP 服务的 RTP 传输。但是测试程序中最“test*Streamer”从文件中读取数据,我该如何修改它以便从实时源而不是文件中获取输入?我应该使用哪些数据结构或对象?如果有人可以帮助我提供某种指导/教程或至少一些示例,那将是很大的帮助。
问问题
1893 次
2 回答
1
这是您在这里追求的一个很好的例子:
https://www.imc-store.com.au/Articles.asp?ID=278
这是一个 c++ VS2010 项目,展示了如何使用 FFMPEG 对原始 RGB 帧进行编码,然后将该离散帧发送到 Live555 以进行流式传输。
VS2010项目包含所有的库和包含文件所以应该只是解压的情况,在VS2010中运行.sln文件,编译运行!
VLC 源代码同时实现了 FFMPEG 和 Live555,您可以查看他们的代码以获得一些额外的指针!
祝你好运!
于 2014-06-13T01:26:38.027 回答
0
您可以修改 testProgs 目录中提供的 test* 文件以从标准输入读取。为此,您需要在调用 main 函数之前“打开”要读取的设备,例如
int stream = open("/dev/ttyUSB0",O_RDONLY);
然后在您的play()
函数中,在创建字节流源之前,您需要调用该read()
函数。这对我来说非常有用。
于 2014-12-12T05:41:04.263 回答