Evitar queda do ffmpeg quando o stream de entrada de dados caiu

0

Transcodifico um fluxo ICECAST e o udp multicast via ffmpeg com o seguinte comando:

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

Mas se um fluxo icecast cair, o ffmpeg também irá cair. A maneira de manter o ffmpeg em execução?
A melhor variante será ficar em silêncio no fluxo udp: // ip: port quando o fluxo do icecast for interrompido e continuar a reprodução quando esse fluxo estará disponível novamente.
Eu roteei a saída de wget e fIcy para ffmpeg, mas sem sorte. Existe alguma solução de software para isso?

    
por Ivan Kolesnikov 07.08.2017 / 11:49

1 resposta

1

Não foi testado, mas vale a pena tentar

Método mais curto

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

Método mais longo (tente se acima não funcionar)

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
    
por 07.08.2017 / 12:22