ミュージックライブラリに、不適切なデュレーション値を表示する曲がいくつかあるため、クレメンタインで部分的にしか再生できません。Bansheeと他の一部のプレーヤーでは、異なるデュレーション値が表示され、時には曲全体が再生されます。
曲を「再エンコード」することなくこれを修正する方法はありますか?
ミュージックライブラリに、不適切なデュレーション値を表示する曲がいくつかあるため、クレメンタインで部分的にしか再生できません。Bansheeと他の一部のプレーヤーでは、異なるデュレーション値が表示され、時には曲全体が再生されます。
曲を「再エンコード」することなくこれを修正する方法はありますか?
回答:
MP3 Diagsは、不適切な期間(およびその他のエラー)を修正できます。これはオープンソースであり、リポジトリにあります。これはGUIツールです。
設置
sudo apt-get install mp3diags mp3diags-doc
別のオプションはMP3valで、コマンドラインまたはGUIを介して使用できます。
設置
sudo apt-get install mp3val
使用例
mp3val damaged.mp3 -f -t
-f
:エラーを修正、
-t
:元のタイムスタンプを保持
cat
。mp3valがなくても、ファイルは私が送信したすべてのプレーヤーで再生されます。cat
ffmpegで再エンコードするよりも非常に効率的で非常に高速です。mp3valコマンドを追加しても。
ffmpeg
再エンコードなしで-ストリームをコピーするだけなので(高速です)、最初に適切なファイルを作成します(結果ファイルに不要なヘッダーとタグデータが複数回表示されることはconcat
あり-acodec copy
ません)。
VBRヘッダーが実際のオーディオ(mp3val
他の回答で述べたように修正に使用する)と一致しないことは別として、これが発生する別の理由は、TLEN
タグの値が正しくないID3タグを持つMP3ファイルが原因です。これを修正するにmid3v2
は、mutagen
パッケージのツールを使用してタグを削除します(明らかにオプションです)。
$ mid3v2 --delete-frames=TLEN filename.mp3
音楽プレーヤーQuodlibetには、これを行うために使用できる便利な「Fix MP3 Duration」プラグインもあります。
(Quodlibetよくある質問からの引用:http://quodlibet.readthedocs.org/en/latest/guide/faq.html)
ワイルドカードでもmp3checkは完璧に機能しました。
sudo apt-get install mp3check
mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers
cat
オーディオブックパーツを1つのファイルに結合するために使用します(cat 1.mp3 2.mp3 > out.mp3
)。これは再生に適していますが、ほとんどすべてのプレーヤーがタイムスタンプに奇抜でmediainfo
、結合ではなく最初のファイルの長さを示しています。