Pular para o conteúdo

Reiniciar o FFmpeg automaticamente em caso de falha

Às vezes um stream pode falhar por problemas de rede, problemas na fonte ou outros motivos técnicos. No Senta, existe um mecanismo integrado de recuperação automática — Restart on crash.

  1. Abra as configurações do stream desejado.

  2. Habilite a opção Restart on crash.

  3. Defina o parâmetro Restart delay (in seconds) — o número de segundos que o sistema aguardará antes de reiniciar o stream.

Se o stream falhar, o Senta tentará reiniciá-lo automaticamente após o atraso especificado.

Para evitar loops de reinicialização infinitos com fontes instáveis, o aplicativo inclui o parâmetro Restart limit:

  1. Vá para a seção Settings.

  2. Defina o valor de Restart limit — o número máximo de tentativas de reinicialização dentro de um determinado período.

Como funciona:

  • O contador é mantido separadamente para cada stream, mas o limite é configurado globalmente nas configurações.
  • Se o número de tentativas exceder o limite, novas reinicializações são bloqueadas por 60 minutos.
  • O limite usa uma janela deslizante de 75 minutos — cada tentativa de reinicialização só conta para o limite por 75 minutos após ocorrer e depois expira por conta própria, em vez de o contador inteiro ser zerado de uma só vez em um horário fixo.
  • Se Restart limit for definido como 0 ou não for configurado, as tentativas de reinicialização continuarão indefinidamente.

Digamos que você tenha um stream com uma fonte instável que às vezes se desconecta. Você quer que o Senta faça várias tentativas de recuperação, mas pause se os erros persistirem:

  • Nas configurações do stream:
    • Habilite Restart on crash.
    • Defina Restart delay = 10 segundos.
  • Nas configurações globais:
    • Defina Restart limit = 5.

Nesse caso, quando o stream falhar, o Senta tentará reiniciá-lo até 5 vezes seguidas com um atraso de 10 segundos. Se todas as tentativas falharem, o sistema fará uma pausa de 60 minutos antes de tentar novamente.