因此,我想要将 .wav(或其他类型的声音)文件提供给命名管道/FIFO,并使用该管道作为 ffmpeg 的输入源(使用 ffserver feed 作为输出)。
据我所知(ffserver 已经在运行,我认为与我的问题无关):
$ mkfifo 音频.wav $ mplayer -ao pcm:file=audio.wav soundfile.wav & [2]30864 符号“ff_codec_bmp_tags”在共享对象中具有不同的大小,请考虑重新链接 MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer 团队 [2]+ 停止 mplayer -ao pcm:file=audio.wav soundfile.wav $ avconv -f wav -i audio.wav http://127.0.0.1:8090/feed1.ffm avconv 版本 0.8,版权所有 (c) 2000-2011 Libav 开发人员 建于 2012 年 3 月 16 日 15:30:40,使用 gcc 4.5.2 (挂在这里,不会输出任何其他内容)
然而,ffmpeg 最终卡在那里,进程似乎挂起,并且 ffmpeg 似乎没有做任何事情,并且最终提要似乎不活动。与 ff_codec_bmp_tags 相关的警告似乎也无关。
我读过一些论坛帖子,其中人们似乎在与此非常接近的事情上取得了成功,但我想我做错了一些事情。如果有人能帮助我解释为什么会发生这种情况,我将非常感激。我应该使用一些标志来指示我正在使用的源是 FIFO 吗?
提前致谢。
答案1
[2]+ Stopped
mplayer 想要使用您的终端,这就是它在后台停止 ( ) 且所有内容都阻塞的原因。我建议为程序使用单独的终端。要么只是普通的终端窗口,要么通过screen
或tmux
。另一种选择是使用nohup mplayer
.
答案2
mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &