ffmpeg: Grave o fluxo rtsp no disco em tempo real e coloque os quadros pretos quando o rtsp atingir o tempo limite

0

Eu preciso gravar um fluxo de vídeo rtsp para o disco em tempo real. Isso funciona bem e bem com algo parecido com isto (tcp não udp):

ffmpeg -i rtsp://@stream -acodec copy -vcodec copy -movflags frag_keyframe+empty_moov -f mp4 test.mp4

O fluxo de origem é feito com uma placa matrox HDX que obtém vídeo e áudio de um cabo SDi.

Infelizmente, o fluxo não é 100% confiável (suspeito que a conexão com a Internet e não o matrox HDX) e, às vezes, apenas expira um pouco. É extremamente crucial para mim, entretanto, que todos os "timestamps" estejam intactos. Isto significa que quando eu não obtenho dados para 20s, eu quero que o ffmpeg escreva 20s de vídeo preto com 0 áudio. Agora ele apenas interrompe a gravação com uma coisinha de "conexão esgotada".

rtsp://@stream: Connection timed out

Isso é de alguma forma possível com o ffmpeg? Alguém já conseguiu isso? Se não: existe outra solução onde é possível?

    
por Michel Chanton 30.11.2017 / 16:15

0 respostas