Как синхронизировать два видеопотока по протоколу RTMP?

#video-streaming #rtmp #pyav

Вопрос:

У меня есть одна IP-камера, и каждый раз я обрабатываю один кадр, снятый OpenCV, и выводю два снимка. Затем я транслирую эти две картинки по разным адресам rtmp одновременно, например, один «rtmp://ip:порт/live/stream1», другой «rtmp://ip:порт/live/stream2». Со стороны сервера я тяну эти два потока по ПЯВ

 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-d.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 байтах для слияния двух изображений.

Спасибо! рука