RTSP -> HLS с использованием FFMPEG

3694
James

Я использую FFMPEG для преобразования моего потока rtsp в поток HLS, чтобы его можно было воспроизводить во всех браузерах на моем сайте с помощью проигрывателя js. У меня проблема с FFMPEG, умирающим, если интернет-соединение с потоком rtsp выходит на минуту. Есть ли способ заставить его восстановить соединение? Я пытался использовать флаг -reconnect перед флагом -i, но я получил ответ, что команда не найдена.

ffmpeg -i rtsp: // rtspstreamaddress / 1 -flags flush_packets -max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3 -vcodec copy -y /var/www/video.m3u8

Затем у меня есть веб-сайт, который использует playwerjs для показа прямой трансляции. Как я могу убедиться, что поток остается без необходимости вручную войти в VPS и перезапустить сценарий.

5
Вы смотрели на ffserver? Он был разработан для такого рода приложений. Tyzoid 7 лет назад 0
Я имею. Но я не думаю, что ffserver поможет с переподключениями. James 7 лет назад 0

1 ответ на вопрос

3
James

Мне удалось создать следующий сценарий, который, кажется, работает для меня. Пока это работает для меня.

!/bin/bash while : do ffmpeg -i rtsp://rtspstreamaddress/1 -fflags flush_packets -max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3 -vcodec copy -y /var/www/video.m3u8 done