コマンドラインffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ar 8000 -c:a FOO pipe:1
が指定されていると、ffmpegは "適切な出力フォーマットを見つけることができません"という文句を言います。一部のコーデックでは、ffmpegにはデフォルトのコンテナ形式があります。 -c:a libmp3lame
はMP3を生成します。他のコーデックの場合は、あなた自身を繰り返してください:-c:a pcm_alaw -f alaw
ffmpegは "raw"出力にどのフォーマット/プロトコルを使用しますか?
しかし、生のコーデック出力をストリーミングしたい場合、一致する-f
はありませんか?私はただ-f alaw
を取って、それが何もしないと仮定することができますか? (G711 alawはバイトストリームを生成する単純なコーデックなので、-f alaw
はおそらくそのバイトストリームをコピーするだけです)
明らかに、パイプのもう一方の側では、コンテナ情報がないとデータストリームをどのように解釈する必要があるかを知る必要があります。しかし、パイプのもう一方の側が、-c:a FOO
でエンコードされた8kHzでサンプリングされたオーディオストリームを期待していることはすでにわかっているとします。
'-map 0'はトリックを行います。 – MSalters