
そこで、.wav (または他の種類のサウンド) ファイルを名前付きパイプ/FIFO に送り、そのパイプを ffmpeg の入力ソースとして使用し (ffserver フィードを出力として使用) たい状況にあります。
私が得たのはここまでです (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、Copyright (c) 2000-2011 Libav 開発者 2012年3月16日 15:30:40にgcc 4.5.2でビルド (ここでハングし、他には何も出力されません)
しかし、ffmpeg はそこで停止してしまい、プロセスがハングしているように見え、ffmpeg は何もしていないようで、エンド フィードは非アクティブのようです。ff_codec_bmp_tags に関連する上記の警告も無関係のようです。
これに非常に近い方法で成功したというフォーラムのスレッドをいくつか読んだことがありますが、おそらく私が間違っているのでしょう。なぜこのようなことが起こるのか、どなたか教えていただけると助かります。ソースとして FIFO を使用していることを示すために使用すべきフラグはありますか?
前もって感謝します。
答え1
mplayer はターミナルを使用しようとします。そのため、バックグラウンド ( [2]+ Stopped
) で停止し、すべてがブロックされます。プログラムには別のターミナルを使用することをお勧めします。通常のターミナル ウィンドウを使用するか、または をscreen
使用しますtmux
。別のオプションは を使用することですnohup mplayer
。
答え2
mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &