Como posso transmitir entre computadores com ffmpeg?

0

Estou usando o ffmpeg e o ffplay para transmitir um vídeo H.264 bruto entre dois computadores. É assim que a linha de comando de transmissão se parece:

ffmpeg -i input.h264 -f mpegts udp:10.0.2.101:1234

E este é o lado de recebimento:

ffplay -f h264 -f mpegts udp://127.0.0.1:1234

O problema é que a reprodução no lado de recepção mostra uma qualidade muito pior do que a que vejo quando reproduzo o arquivo de origem no lado do remetente. A rede é na verdade uma rede simulada no meu computador (duas máquinas virtuais), portanto, não há perda de pacotes nem nada.

O que eu fiz de errado?

    
por Mandy Weiss 20.03.2017 / 20:32

1 resposta

2

Você está recodificando o fluxo de vídeo. Note que se você não especificar um codec de vídeo, o ffmpeg irá escolher um para você - no seu caso, o MPEG-2 com suas configurações padrão, que de fato parecerá bastante ruim.

Se você planeja copiar o fluxo de bits, adicione a opção -c:v copy ao seu comando de envio.

    
por 20.03.2017 / 20:50