RTSP -> HLS за допомогою FFMPEG


6

Я використовую 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 та перезапускати сценарій.


Ви подивилися на ffserver? Він був розроблений для такого роду додатків.
Тизоїд

У мене є. Але я не думаю, що ffserver не допоможе відновити зв'язки.
Джеймс

Відповіді:


4

Мені вдалося створити наступний сценарій, який, здається, працює для мене. Поки що це працює на мене.

!/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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.