FFMPEGを利用してMP4形式(拡張子 .mp4)から音声を抽出していた際に[Invalid audio stream. Exactly one MP3 audio stream is required.]が表示された場合の対処法を備忘録的に投稿しておきます。
FFMpegでファイル変換
動画の作成や編集、変換を行う[FFmpeg]は、動画ファイルから音声や映像のみを抽出も可能です。
詳しい内容は別記事をご覧ください。
Invalid audio stream エラー
例えば[FFmpeg]を利用して次のオプションで、MP4形式からMP3形式を作成します。
/bin/ffmpeg -i "sample.mp4" -vn -y -acodec copy "sample.mp4"
実行時に[Invalid audio stream. Exactly one MP3 audio stream is required.]が表示され作成されない場合があります。

エラーの概要は、「保存されている音声ストリームの形式が合わないのでMP3が利用できる音声ストリームが必要」です。
つまり[-acodec copy]オプションで保存されている音声形式を利用が不可という話です。
MP4形式で保存されている音声ストリームの形式を確認するには、次のコマンドが使えます。
/bin/ffmpeg -i "sample.mp4"
赤枠の[Audio:]部分に音声ストリームの形式が表示されます。(上のイメージの場合はAAC形式)
なので、[-acodec]オプションにMP3に対応したコーデックに指定すると作成が可能です。
/bin/ffmpeg -i "sample.mp4" -vn -y -acodec libmp3lame "sample.mp3"
まとめ
今回はFFMPEGを利用してMP4形式(拡張子 .mp4)から音声を抽出していた際に[Invalid audio stream. Exactly one MP3 audio stream is required.]が表示された場合の対処法について書きました。
[FFmpeg]を利用する場合、mp4形式のファイルから映像や音声を抽出して別ファイルを作成が可能です。
その際に、新しく作成するファイルに利用する音声(または映像)ストリームのコーデックが指定されていない場合に[Invalid audio stream…]エラーになります。
[FFmpeg]でMP3形式のファイルを作成する場合にエラーが発生する人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。

