Доброго всем дня! Столкнулся с задачей запуска видеопотока с камер через nginx и столкнулся с некоторым непониманием). Начну с предистории.
Изначально собрал связку nginx + ffmpeg + rtmp_modul и создал нужное количеств аппликейшенов. Все работает отлично и даже вещает в dash и hls. Но в дальнейшем появилась необходимость запуска необходимой камеры по ее id в базе для удобства. Решено было написать на python скрипт подготовки и запуска ffmpeg строки(с python я тольк начинаю дружить):
def ffstart(ip,rtsp,name):
pipeline = '/home/podkrilom/bin/ffmpeg -rtsp_transport tcp -i "rtsp://admin:admin@'+str(ip)+':554/cam/realmonitor?channel='+str(rtsp)+'&subtype=0" -s 1280x720 -f flv -vcodec copy -acodec copy rtmp://localhost:1935/'+str(name)
p = subprocess.Popen(pipeline, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return p.communicate()[0]
При запуске из командной строки поток успешно запускается, но пришла пора подключать скрипт к nginx и тут начались непонимания.
При запуске из nginx через wsgi я получаю 500 ошибку тк скрипт запускает ffmpeg а не транслирует поток через себя.
Также wsgi как я понимаю хочет работать через http.
Отсюда вопрос как заставить ffmpeg вещать rtmp поток через скрпит в nginx?