如何解决如何通过 RTMP 协议同步两个视频流?
我有一个IP摄像头,每次处理OpenCV捕获的一帧并输出两张图片。然后我将这两张图片同时通过不同的rtmp地址进行流式传输,例如一个是“rtmp://ip:port/live/stream1”,另一个是“rtmp://ip:port/live/stream2”。从服务器端,我通过 PyAV 拉出这两个流
import os
import av
from multiprocessing import Pool
# change src for your need
src_dict = {
'background' : "rtmp://ip:port/live/stream1",'feature' : "rtmp://ip:port/live/stream2"
}
def frame_process(src):
container = av.open(src_dict[src],'r')
stream = container.streams.video[0]
print(stream.time_base)
for frame in container.decode(stream):
frame.to_image().save(src + '-frame-%04d.jpg' % frame.index)
if __name__=='__main__':
print('Parent process %s.' % os.getpid())
p = Pool(2)
for i in ['background','feature']:
p.apply_async(frame_process,args=(i,))
p.close()
p.join()
print('Child process end.')
并且我需要同步这两个流“背景”和“特征”,以便来自两个流的图片来自我上面描述的一张原始图片。然后融合这两张图。
有人可以提出一些建议,让我如何同步这两个流?另一个问题是我可以在流式传输视频时向 RTMP 协议添加一些附加信息,例如用于融合两个图像的 16 字节信息。
谢谢! ARM
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。