
Então, estou em uma situação em que quero alimentar um arquivo .wav (ou outro tipo de som) para um pipe/FIFO nomeado e usar o pipe como fonte de entrada do ffmpeg (com um feed ffserver como saída).
Isso foi tudo que consegui (o ffserver já está em execução e acho que não está relacionado ao meu problema):
$ mkfifo áudio.wav $ mplayer -ao pcm:file=audio.wav soundfile.wav & [2] 30864 O símbolo `ff_codec_bmp_tags' tem tamanho diferente no objeto compartilhado, considere vincular novamente MPlayer 1.0rc4-4.5.2 (C) 2000-2010 Equipe MPlayer [2]+ Parado mplayer -ao pcm:file=audio.wav soundfile.wav $ avconv -f wav -i audio.wav http://127.0.0.1:8090/feed1.ffm avconv versão 0.8, Copyright (c) 2000-2011 os desenvolvedores do Libav construído em 16 de março de 2012 15:30:40 com gcc 4.5.2 (Trava aqui, não produz mais nada)
No entanto, o ffmpeg acaba preso ali mesmo, com o processo aparentemente travado, e não parece que o ffmpeg esteja fazendo alguma coisa, e o feed final parece estar inativo. O aviso relacionado a ff_codec_bmp_tags também parece não ter relação.
Eu li alguns tópicos de fórum nos quais as pessoas parecem ter sucesso com algo muito próximo disso, mas suponho que haja algo que estou fazendo errado. Se alguém pudesse me ajudar sobre por que isso está acontecendo, eu realmente apreciaria. Existe algum sinalizador que eu deveria usar para indicar que é um FIFO que estou usando como fonte?
Desde já, obrigado.
Responder1
O mplayer quer usar o seu terminal, por isso ele fica parado em background ( [2]+ Stopped
) e tudo bloqueia. Sugiro usar terminais separados para os programas. Apenas janelas de terminal normais ou via screen
ou tmux
. Outra opção é usar nohup mplayer
.
Responder2
mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &