FFmpeg / avconv e UDP - conecta o ouvinte após o remetente?

1

Estou tentando solucionar um problema de ligação de porta no avconv / FFmpeg. Eu tenho dois comandos de teste; um que envia um fluxo de áudio sobre o UDP:

avconv -i test.wav "udp://localhost:6613?localport=6614&reuse=1&connect=0"

E um que ouve:

avconv -loglevel debug -f wav -ac 1 -i "udp://localhost:6613?reuse=1&connect=0" out.wav

Se o segundo comando (listener) for executado antes do primeiro, ele funcionará; ele simplesmente fica suspenso até que o primeiro comece a enviar dados por essa porta.

No entanto, se o primeiro comando for iniciado primeiro e começar a enviar dados antes que o listener seja configurado, a execução do segundo comando produzirá a seguinte saída:

Opening an input file: udp://localhost:6613.  
udp://localhost:6613: Operation not permitted

No entanto, isso não é um erro de ligação de porta !

Se eu remover reuse=1 do segundo comando e executá-lo duas vezes - tentando, na verdade, vincular o soquete duas vezes - ele gerará a seguinte mensagem:

Opening an input file: udp://localhost:6613.
[udp @ 0x1a77140] bind failed: Address already in use
udp://localhost:6613: Input/output error

Contanto que reuse=1 ainda esteja no comando, executá-lo duas vezes não gerará um erro de ligação, e ele estará nos comandos de teste na esperança de resolver o problema ... o que não acontece.

Então, eu gostaria de saber por que tem um problema em ouvir um fluxo contínuo e, além disso, como evitar isso.

    
por DigitalMan 06.05.2013 / 04:18

0 respostas

Tags