FFMPEG: Transmita um arquivo com taxa de reprodução original

2

Eu quero transmitir um arquivo para a rede usando ffmpeg em sua taxa de quadros original; para que eu possa reproduzir o fluxo UDP gerado usando algum cliente receptor, como o VLC . Eu usei este comando:

ffmpeg -i "myfile.mpg" -sameq -re -f mpegts "udp://127.0.0.1:2000"

Usando este comando, o ffmpeg inicia o streaming do arquivo em uma taxa muito alta; de tal forma que a transmissão de um arquivo que tenha cerca de 30 minutos de duração seja concluída após apenas 40 segundos. Eu quero ver o arquivo na taxa original. Também quero ter controle na taxa de vídeo para reproduzi-lo mais rápido ou mais devagar. Existe alguma opção para fazer isso? obrigada.

    
por sajad 21.11.2012 / 08:45

1 resposta

3

-re deve ser usado como uma opção de entrada, caso contrário, ele provavelmente será ignorado. Uma generalização da sintaxe básica é:

ffmpeg [input options] -i input [output options] output

Não use -sameq . Veja sameq não significa "mesma qualidade" para uma explicação detalhada.

Você já tentou copiar os fluxos em vez de recodificá-los? Adicione -map 0 -codec copy como opções de saída.

Quanto à alteração da velocidade do vídeo, você pode tentar o filtro setpts de multimídia. Observe que você precisa recodificar para usar esse filtro. Exemplos da documentação:

Apply fast motion effect: -filter:v setpts=0.5*PTS
Apply slow motion effect: -filter:v setpts=2.0*PTS

Para áudio, veja os filtros asetpts ou atempo .

    
por 21.11.2012 / 18:52