web-dev-qa-db-ja.com

FFserver-FFmpeg必要なオーディオストリームがありません

私はffserverとffmpegをいじって、ウェブカメラでリアルタイムストリームを設定しています。一度(実際には4〜5回)動作するようになりましたが、サーバーを起動しようとするたびにこのエラーが発生しました:このffmに必要なオーディオストリームが見つかりません。

起動方法は次のとおりです。

ffserver -f ffserver.conf & ffmpeg -i /dev/video0 http://localhost:8090/feed1.ffm

ffserver.confファイルのさまざまなものを変更しようとしました。たとえば、別のビデオ形式/ codecで、行NoAudioを削除するなどです。 ...もう機能しません。

答えをウェブで検索したが、何も見つからなかったので、私は非常に必死です...私はここの何人かの人々が助けたり、少なくともアイデアや考えを提出できることを願っています、この時点で私は何でも取っています!

4
victor jung

だから私は自分で解決策を見つけました!そのため、ブロックにNoAudioを追加する必要があります。これは、使用する形式に応じて必須であるかどうかによって異なります。問題は、ffserverを起動しようとしてもffserver.confファイルのいくつかのミスが原因で機能しない場合、それらを修正するだけでは不十分で、起動しようとしたシェルを閉じて新しいものを再度開く必要があることです。シェルして再試行してください。そうしないと、非常に奇妙な理由でエラーが再び発生します。

すべてのエラーについて同じです。ffserver.confを修正し、起動しようとしたシェルを閉じ、新しいものを開いてサーバーを再起動してください。

これがあなたの少数に役立つことを願っています。

3
victor jung

私の場合、問題はデフォルトのffserver.conf(ソース配布のdocディレクトリとUbuntu FFmpegパッケージの/etc/ffserver.confにある)を使用していたことです。デフォルトのffserver.confには<Stream>を使用する2つの異なるfeed1.ffmブロックブロックがあり、これに気付いていなかったので、最初のストリームブロックをNoAudioとマークしたにもかかわらず、 2番目のストリームブロックはまだそれを必要としていました。

必要なブロックとディレクティブのみを含む最小限のffserver.confに切り替えると、これが修正されました。

2
Josh Kelley

シェル自体(ほとんどの場合、bash)を強制終了する必要はありませんが、ffserverプロセスのみを終了してから再起動する必要があります。これは通常(シェルウィンドウで)を使用するだけです Control-C、 Up-Arrow (または Control-P)、 そして戻る。

Launch(Feedセクション)を使用して/etc/ffserver.confファイル内からffmpegを実行しているため、ffserverを再起動するとすべてが実行されます。基本的な起動行は次のようになります。

Launch ffmpeg -r 5 -i /dev/video0

実行中の迷走があるかどうかを確認するには、2番目のウィンドウで次の(ややカジュアルなコマンド)を使用します:ps -ef | grep ff

0
Alex North-Keys