別のスクリプトで使用できるように、mp3 ファイルを wav 形式にトランスコードしようとしています。スクリプトではファイルが 44.1Khz である必要があるため、それを ffmpeg コマンドに追加します。
問題は、ファイルにカバー画像が埋め込まれている場合に発生します。
時間: 00:05:53.85、開始: 0.000000、ビットレート: 319 kb/s ストリーム #0:0: オーディオ: mp3、44100 Hz、ステレオ、s16p、320 kb/s ストリーム #0:1: ビデオ: mjpeg、グレー、938x936 [SAR 300:300 DAR 469:468]、90k tbr、90k tbn、90k tbc メタデータ: 題名 : コメント : 表紙(表) ストリーム #0:2: ビデオ: mjpeg、yuvj420p、88x31 [SAR 96:96 DAR 88:31]、90k tbr、90k tbn、90k tbc メタデータ: 題名 : コメント : 表紙(表)
私が使用するffmpegコマンドは次のとおりです。
ffmpeg -loglevel warning -y -i :source -vn -ac 2 -ar 44100 -f wav :dest
そのため、ファイルをトランスコードすると、次の警告がスローされます。
[mp3 @ 0xa0bba60] Format mp3 detected only with low score of 24, misdetection possible!
[mp3 @ 0xa0bba60] max_analyze_duration 5000000 reached at 5015510
[mp3 @ 0xa0bba60] Estimating duration from bitrate, this may be inaccurate
結果の wav ファイルにはいくつかの問題があります (おそらくヘッダー情報が間違っているのでしょうか?)。ファイルにあるよりも多くのフレームがあると報告されているため、フォローアップ スクリプトがデータの終わりをオーバーシュートしていると思います。
問題はmp3ファイルの余分なストリーム(カバー画像)にあると思いますが、ffmpegにオーディオだけを処理するように指示することはできません。
この例で使用しているファイルは次のとおりです: 07-Zimmer070-KOSMORAUM-_Junior85-For_reason_forgotten.mp3 (http://archive.org/details/ZIMMER070)
そして、ffmpeg は彼らの git リポジトリからの最新のものです: git://source.ffmpeg.org/ffmpeg.git
事前に情報をありがとう!