工作流程是:
- 相机获取的实时视频流
- 解析视频流后得到每帧图片
- 使用OpenCV在图片上标记了一些信息,得到带标记的图片帧
问题是:
如何将步骤3得到的这些帧重新组装成视频并通过直播流推送呢?
我的想法是:
- OpenCV的VideoWriter()可以将帧重新组装为视频,再将视频使用ffmpeg推流
- 将视频帧通过管道传输到ffmpeg子进程,实现推流
想法带来的问题:
- 方法1 需要生成一段推送一段,可能会带来延迟和卡顿的问题或是其他意想不到的bug
- 方法2 能查阅的资料较少(可能是本人的资料收集能力不佳),望各位有类似经验可以推荐一下
最终需求:
希望有完成过类似需求的诸位可以给点经验参考
背景:
- 之前是直接在客户端上显示这些图片帧,直接使用了MFC的图片控件或者是OpenCV自带的控件显示了。
- 但现在相机和客户端将不在同一个局域网,中间存在一个跳板服务器,所以有了一层推流需求。
- 结构如下: 客户端-服务器-跳板电脑-相机(服务器和跳板电脑都存在两个网卡,左右两边在不同的网段)
为了避免广告嫌疑,可以搜一下各类RTC的SDK来实现你的功能,实时音视频已经相对成熟了,可以避免自己造轮子