Добрый день!
Существует задача организации трансляции видео с нескольких камер (набор url, поток h264).
Клиент должен перейти браузером по некоторому url (задав в параметрах id камеры, id профиля??) и получить видео с указанной камеры.
Если несколько клиентов смотрят одну камеру, то используется один instance ffmpeg, если все клиенты отключаются все потоки ffmpeg должны останавливаться.
Таким образом количество ffmpeg транскодеров должно равняться количеству различных просматриваемых одновременно камер.
Использую плеер dash.js и openresty (для возможности использовать LUA)
В случае одной камеры все работает:
rtmp {
dash on;
server {
listen 1935;
application cams {
live on;
dash_path /tmp/cams;
exec_static ffmpeg -i rtsp://
172.1.0.15:5540/media/1/video=1&stream=1&audio=1 -vcodec copy -f flv -s 1920x1080 -an rtmp://
127.0.0.1/cams/stream;
}
}
}
Проблема в том, что ffmpeg живет постоянно.
Если использовать exec_pull или exec, то ffmpeg не поднимается.
Вопрос, как построить архитектуру, основы настроек и можно ли решить данную задачу связкой openresty + rtmp-module + lua + dash.js
Спасибо!
С уважением.