次のコマンドを使用してflacで可変速度mp3を作成しようとしています。
avconv -i t.flac -id3v2_version 3 -vn -acodec libmp3lame -aq 0 t.mp3
avconvとmediainfoはどちらも最終的なmp3の再生時間を2分40秒で正確に表示しますが、私が使ってみたすべてのmp3プレーヤー(clementine、juk、amarok)では曲の長さが21分15秒と言われています。 clementineとamarokを使ってファイルに関する詳細を見てみると、ビットレートは32kbpsであると考えていましたが、avconvとmediainfoは(正確に)全体のビットレートを255kbpsとリストしました。 (255/32)*2.66 = 21.20 なので、体感ビットレートが問題なのは確かなのですが、どのように解決すべきかわかりません。
楽しみにして、以下を使って固定ビットレートファイルを作成してみました。
avconv -i t.flac -id3v2_version 3 -vn -acodec libmp3lame -ab 320k u.mp3
これも同じ問題があります。奇妙なことに、ビットレートが指定されているにもかかわらず、mediainfoはまだビットレートが可変であると報告し、mp3プレーヤーにも持続時間に関する同じ一般的な問題があります。
この問題をどのように解決できますか?
答え1
一定のビットレートの場合、修正は次のトピックで説明されます。libmp3lameを使用してCBRを取得する方法:avconv 出力をファイルにパイプします。
avconv -i test_orig.mp3 -b:a 128k -f mp3 - >test_ffmpeg_cbr.mp3
これにより、avconvはCBRに良いmp3ヘッダーを使用します。
他の方法:結果のmp3を扱う(ソースデータが利用できなくなったときに便利です):
avconv -i faulty_mp3 -vn -c:a copy -ss 0:0:0 repaired_mp3
答え2
lame
直接使用すると、どの可変ビットレートメカニズムを選択しても(lame
提供--abr
、--vbr-old
および)--vbr-new
同じことが起こります。
だからこれはMP3形式や不都合なエンコーダの限界のようです。このようなプレーヤーは、mplayer
これまでに経験した平均ビットレートで全長を推測しているようです。
私が試したファイルは30分を表示し始め、10秒後に実際の8:08に近い8:15に落ちました。
今まではうまく再生されるので修正する必要はないようです。ハードウェアプレーヤーがそれを処理できない場合は、固定ビットレートに切り替える必要があります。または、プレーヤーが可変ビットレート(OGG / Vorbis?)をサポートする他のフォーマットをサポートしている場合は、まったく異なるフォーマットを使用する必要があります。
答え3
avconvにこの問題があることを確認できますが、いいえ絶頂!私のLinux Mint 14 Nadiaで
avconv パスの場合、クイック修正は次を使用することです。修理する最終的なmp3ファイルは次のようになります。vbrfix -always -makevbr -lameinfo imput.mp3 output.mp3