Bagaimana saya bisa memperbaiki durasi mp3 yang salah?

22

Saya memiliki sejumlah lagu di perpustakaan Musik saya yang menampilkan nilai durasi yang salah, dan hanya memutar sebagian di Clementine. Di Banshee dan beberapa pemain lain mereka menunjukkan nilai durasi yang berbeda dan kadang-kadang memainkan lagu lengkap.

Apakah ada cara untuk memperbaikinya tanpa harus "menyandikan ulang" lagu?

RolandiXor
sumber

Jawaban:

24

Diags MP3 dapat memperbaiki durasi yang salah (dan kesalahan lainnya). Ini adalah open source dan di repositori. Ini adalah Alat GUI.

Instalasi

sudo apt-get install mp3diags mp3diags-doc

Pilihan lain adalah MP3val , yang dapat digunakan baik melalui commandline atau melalui GUI:

Instalasi

sudo apt-get install mp3val

Contoh penggunaan

mp3val damaged.mp3 -f -t

-f: perbaiki kesalahan,: -tpertahankan stempel waktu asli

phoibos
sumber
Ini berhasil untuk saya. Saya menggunakan catuntuk menggabungkan bagian buku audio menjadi satu file ( cat 1.mp3 2.mp3 > out.mp3) dan itu berfungsi baik untuk pemutaran tetapi hampir setiap pemain aneh dengan cap waktu dan bahkan mediainfomenunjukkan durasi dari file pertama daripada gabungan.
blockloop
catkurang dari ideal untuk tugas-tugas seperti menggabungkan mp3s. Cara yang lebih baik: http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files
phoibos
Mengapa kamu berpikir begitu? File MP3 tidak lebih dari stream mentah dan mereka hampir merupakan kandidat yang sempurna untuk catselain dari efek samping sepele diselesaikan dengan penilaian ulang sederhana data header Xing. Bahkan tanpa mp3val, file-file tersebut masih diputar di setiap pemain yang saya kirimkan. catsangat efisien dan JAUH lebih cepat daripada pengkodean ulang dengan ffmpeg. Bahkan dengan perintah mp3val yang ditambahkan.
blockloop
ffmpegdengan concatdan -acodec copytidak bukan re-encode - itu hanya salinan sungai (jadi cepat), tetapi menciptakan sebuah file yang tepat di tempat pertama (tanpa berguna sundulan & tag data muncul beberapa kali dalam file yang dihasilkan).
phoibos
10

Jika Anda tidak ingin menginstal sesuatu yang baru, coba dengan ffmpeg :

ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3
Alcaro
sumber
Solusi sempurna, berfungsi juga jika file mp3 yang salah telah dibuat oleh ffmpeg sendiri!
Pierpaolo Cira
Ini sebenarnya bekerja untuk saya, ketika mp3valdan mp3checksolusinya tidak. (Hanya untuk memastikan, itu tidak menyandikan ulang, kan?)
Noldorin
Dengan salinan -acodec, itu tidak masuk kembali. Jika Anda ingin memverifikasi, coba dengan dan tanpa itu dan periksa seberapa cepat.
Alcaro
1

Selain dari header VBR yang tidak cocok dengan audio yang sebenarnya (yang akan Anda gunakan mp3valuntuk mengoreksi, seperti yang disebutkan dalam jawaban lain), alasan lain ini dapat disebabkan adalah oleh file MP3 yang memiliki tag ID3 yang memiliki nilai TLENtag yang salah. Anda dapat memperbaikinya dengan menggunakan mid3v2alat dari mutagenpaket untuk menghapus tag (tampaknya opsional):

$ mid3v2 --delete-frames=TLEN filename.mp3

Pemutar musik Quodlibet juga memiliki plugin "Perbaiki MP3 Durasi" yang nyaman yang dapat Anda gunakan untuk melakukan ini.

(Diambil dari FAQ Quodlibet: http://quodlibet.readthedocs.org/en/latest/guide/faq.html )

nedned
sumber
1

mp3check bekerja dengan sempurna untuk saya juga dengan wildcard.

sudo apt-get install mp3check

mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers
Dmitry Orlov
sumber
membantu ketika Windows media player menunjukkan durasi file mp3 yang salah
Mantas D
PERINGATAN Jika Anda memiliki tag id3v2, cover art dll, waspadalah dengan masalah ini (saya belajar dengan cara yang sulit) bugs.launchpad.net/ubuntu/+source/mp3check/+bug/592775 bugs.launchpad.net/ubuntu/+ sumber / mp3check / + bug / 1.348.223
digitaltoast