通过管道将 mplayer 输出传输到其他工具

通过管道将 mplayer 输出传输到其他工具

我正在尝试通过 mplayer 播放在线直播流,并将音频从该流传输到另一个工具。

播放流工作正常:

mplayer http://user:[email protected]:8080/stream.flv

但现在我不确定如何获取它的音频流。我设法通过以下方式写入 wav 文件:

mplayer -ao pcm:file=/tmp/out.wav -vo null -vc null -novideo http://user:[email protected]:8080/stream.flv

但我怎样才能做这样的事情:

mplayer [options] http://user:[email protected]:8080/stream.flv | sox -r 44100 -b 32 -c 1 -e floating-point -t raw - -r 16000 -b 16 -e signed-integer -c 1 -t raw /tmp/out.wav

答案1

我想做类似的事情,将mplayer输出重定向到lame,我用 FIFO 解决了这个问题。尝试这个:

mkfifo fifo
mplayer -ao pcm:file=fifo [option] [stream_url] &
sox [option] fifo /tmp/out.wav
rm fifo

相关内容