Para um website, transmitimos reportagens sobre eventos locais na minha área. Nós transmitimos o relatório ao vivo para o nosso hub de vídeo (Linux com FFmpeg) e a partir daí o fluxo é distribuído para o YouTube, Facebook, televisão local e o canal de informações do provedor de cabo local.
Como o up-link on location nem sempre é tão estável quanto esperamos, às vezes o fluxo de up-link é interrompido. Então, temos que reiniciar todos os processos novamente, no local, no meio de um programa, com todo o estresse relacionado a isso.
Existe uma maneira de configurar um filtro FFmpeg (ou vários processos FFmpeg / software alternativo) para que quando o up-link falhar, ele faça failover para um fluxo secundário (um gráfico de teste ou vídeo de repetição) e retorne para o canal principal quando o up-link é restaurado?
Eu tenho visto perguntas semelhantes, mas não vi nenhuma resposta útil.
Nossa configuração atual é:
ffmpeg \
-listen 1 -i rtmp://0.0.0.0:8080/ -y -c copy \
-f tee -map 0:v -map 0:a -flags +global_header \
"[f=flv:onfail=ignore]${YT_URL}|[f=flv:onfail=ignore]${FB_URL}|${FILE}"
Tags ffmpeg video-streaming linux