Produzindo um atraso no fluxo do udp com ffmpeg

0

Eu tenho um fluxo vindo de um fluxo RTP sobre o UDP. Com o FFMPEG, estou redirecionando esse fluxo para outra porta. Gostaria de saber se existe uma maneira de adicionar intencionalmente um atraso a esse fluxo de saída.

Um exemplo da função de fluxo atual:

ffmpeg -an -i rtsp://stream-ip:port -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Gostaria de adicionar uma latência intencional de 30 a 180 segundos ao fluxo. Isso permitiria que os sistemas no terminal de saída sejam alertados para executar algum processamento de vídeo com um buffer adequado. O ffmpeg tem essa característica, se não existe uma rota alternativa para produzir tal atraso intencional?

    
por scicalculator 04.01.2017 / 01:05

1 resposta

0

Não há recurso direto, mas você pode prefixar um fluxo em branco de N segundos para atingir o mesmo objetivo.

ffmpeg -f lavfi -i nullsrc=s=WxH:d=N -an -i rtsp://stream-ip:port -filter_complex "concat" -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Você precisa substituir WxH pela resolução do feed de entrada e N pela duração do "atraso" em segundos.

    
por 04.01.2017 / 18:43