Я транскодирую поток ICECAST и отправляю его в многоадресную рассылку через ffmpeg с помощью следующей команды:

ffmpeg -i http://ip:8000/ icecast -vn -acodec libmp3lame -ar 44100 -ac 2 -ab 128 -f mpegts udp://ip:порт

Но если поток ледяной трансляции будет сброшен, то и ffmpeg drop. Способ сохранить работу ffmpeg?
Наилучшим вариантом будет воспроизведение без вывода сообщений в потоке udp://ip:port, когда поток ледяного вещания прекращается, и продолжение воспроизведения, когда этот поток снова будет доступен.
Я перенаправил вывод из wget и ficy в ffmpeg, но не повезло. Существует ли какое-либо программное решение для этого?

1 ответ1

1

Не проверено, но стоит попробовать

Более короткий метод

ffmpeg -reconnect_at_eof 1 -reconnect_streamed 1 -i http://ip:8000/icecast
       -vn -c:a libmp3lame -ar 44100 -ac 2 -ab 128 -f mpegts udp://ip:port

Более длинный метод (попробуйте, если выше не работает)

ffmpeg -reconnect_at_eof 1 -reconnect_streamed 1 -i http://ip:8000/icecast
       -f lavfi -i anullsrc
       -filter_complex "[0]aresample=async=1[main];
                        [main][1]amix=dropout_transition=0,volume=2"
       -vn -c:a libmp3lame -ar 44100 -ac 2 -ab 128 -f mpegts udp://ip:port

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .