มีเครื่องมือที่สามารถตรวจจับ (และถ้าเป็นไปได้แก้ไข) บกพร่องในไฟล์ MP3 หรือไม่? [ปิด]


31

คอลเล็กชันของฉันมี MP3 บางตัวที่มีข้อบกพร่องบางอย่างเช่น:

  • แสดงระยะเวลาที่ไม่ถูกต้องในการโหลด
  • กระโดดเล็กน้อย
  • ทันใดนั้นก็สิ้นสุดลงแม้จะมีระยะเวลาที่เหลืออีกหนึ่งนาที
  • สัญญาณรบกวน

ฉันกำลังมองหาเครื่องมือที่สามารถตรวจจับข้อบกพร่องเหล่านี้ให้ได้มากที่สุดและแก้ไขสิ่งที่สามารถแก้ไขได้ (เห็นได้ชัดเช่นเสียงไม่สามารถกำจัดได้ในกรณีส่วนใหญ่)


เสียงเหมือนปัญหาผู้เล่น คุณแน่ใจเหรอว่าไฟล์เหล่านั้นเกิดจากไฟล์ MP3 ของคุณ?
digitxp

@digitxp การสิ้นสุดอย่างกะทันหันอาจเนื่องมาจากส่วนที่ขาดหายไปของไฟล์ แต่เวลาที่แสดงอย่างไม่ถูกต้องอาจเกิดจาก VLC แต่ก็ยังหมายความว่ามีบางอย่างผิดปกติกับไฟล์เนื่องจากไฟล์อื่น ๆ แสดงเวลาที่ถูกต้อง เสียงรบกวนและการกระโดดอาจเกิดจากการอ่านซีดีที่ไม่ดีฉันทำให้คอลเล็กชันของฉันเป็นดิจิตอลโดยไม่ทำการตรวจสอบซ้ำ: - /
Tobias Kienzler

อืมระยะเวลาที่ผิดอาจเกิดขึ้นจาก VBR กับ CBR ... ปัญหาที่เหลือคือความไม่สมบูรณ์และข้อผิดพลาดในการอ่านซีดี
Tobias Kienzler

คำตอบ:


35

เครื่องมือบรรทัดคำสั่งmp3valทำให้การสแกนหางานได้อย่างรวดเร็วและซ่อมแซมข้อบกพร่องทางโครงสร้างในไฟล์ mp3 ฉันพยายามที่จะเรียกใช้มันมากกว่าทุกไฟล์ในคอลเลกชันของฉันในหลักการ "ไม่สามารถทำร้าย" มันระบุจำนวนที่น่าทึ่งของไฟล์ที่เห็นได้ชัดที่ดีพร้อมข้อบกพร่องตั้งแต่ไม่สำคัญจนถึงขั้นรุนแรง

mp3val ทำได้ดีเป็นพิเศษในการรับรู้และแก้ไขข้อบกพร่องส่วนหัวเช่นการขาดส่วนหัว VBR ในไฟล์ VBR (แหล่งที่มาของระยะเวลาที่ผิดพลาดมากที่สุดและปัญหาการค้นหา) แต่มันจะล้างข้อมูลเฟรมเสียงที่เสีย / เสียหายด้วยเช่นกัน cruft ที่ใช้ไม่ได้ซึ่งผู้เล่นบางคนอาจจัดการได้น้อยกว่าความสวยงามหากทิ้งไว้ในไฟล์

มันสามารถบอกได้ว่าให้เรียกใช้ทั่วทั้งไดเรกทอรีของ mp3, ซ่อมแซมเฉพาะไฟล์ที่พบปัญหา, การสำรองข้อมูล

และมันก็ฟรีและโอเพ่นซอร์ส! (ลิงก์ไปยังโครงการ sourceforge)

แก้ไข:สิ่งสุดท้ายที่ฉันลืมพูดถึง "แต่ mp3val ไม่ได้รับการปรับปรุงตั้งแต่ปี 2009 !!" ฉันได้ยินคุณร้องไห้ นั่นจริงมาก! มันใช้งานได้ดีตั้งแต่ปี 2009 และไม่ต้องการการอัปเดต (ท้ายที่สุดมันไม่เหมือนรูปแบบไฟล์ MP3 ที่เปลี่ยนแปลงไปในช่วง 2 ปีที่ผ่านมา!)


ยัง +1 เป็นครั้งที่สองสำหรับคุณแก้ไข :-) แต่ดูเหมือนจะมีข้อบกพร่องบางอย่างที่ถูกต้องยังคงเปิด ...
โทเบียส KIENZLER

1
ใช่ดูเหมือนว่า mp3val มีปัญหาจริงบางอย่างภายใต้ Windows 7 ที่มีชื่อไฟล์ลึกลับบางอย่าง นั่นเป็นโชคร้าย (กฎข้อแรกของการคำนวณที่ทันสมัย: คอลเลกชัน MP3 ที่มีขนาดใหญ่พอที่จะมีไฟล์ที่มีชื่อไฟล์ที่ลึกลับใด ๆ ) มันสามารถใช้ luv จากโปรแกรมเมอร์ของ Windows ได้หากใครก็ตาม [OffTopic: มันยอดเยี่ยมมากเมื่อมองไปที่ mp3val svn และพบว่า patch ล่าสุดมาจาก ME - โดยเฉพาะอย่างยิ่งเมื่อฉันลืมทำมันทั้งหมด! ;-)]
FeRD

1
. แต่น่าเสียดายที่ล้มเหลวในการแก้ไขปัญหา MP3val บางส่วนของไฟล์ของฉัน :( แต่MP3Diagsก็สามารถที่จะแก้ไขได้ (หัว Xing กับไฟล์ VBR ซึ่งนำไปสู่การเป็นระยะเวลาที่ไม่ถูกต้องปรากฏขึ้น).
SCAI

@ Marecky มันแปลกมาก ฉันเพิ่งลองใช้mp3valFedora 28 และมันก็ยังทำงานได้ดี การพึ่งพาไลบรารี่ที่ลึกลับที่สุดนั้นมีอยู่อย่างใดอย่างหนึ่งlibm.so.6หรือlibstdc++.so.6ดังนั้นจึงไม่เหมือนกับการแตก ABI ที่เข้ากันไม่ได้ เพียงเพื่อตรวจสอบ: ในโหมดเริ่มต้นmp3val จะไม่แตะไฟล์ใด ๆ มันจะทำการแก้ไขถ้ามันทำงานด้วยการ-fตั้งค่าสถานะ - และแม้กระทั่งเฉพาะไฟล์ที่โหมดสแกนบันทึกWARNING:หรือERROR:จะถูกปรับเปลี่ยน หากไม่พบปัญหาที่แก้ไขได้ใด ๆ ไฟล์นั้นจะไม่ถูกแก้ไข
FeRD

1
@ FeRD - ถูกต้องฉันจำไม่ได้แล้วว่าโปรแกรมนี้คืออะไร (Audacious, Gnome MPV หรือ Rhythmbox Music Player) แต่หลังจากริพซีดีด้วยไฟล์ล่าสุดฉันใส่ไฟล์ใหม่ลงในเพลย์ลิสต์ของหนึ่งในโปรแกรมเหล่านี้และเห็นผิด แทร็กไทม์ - นั่นคือเหตุผลที่ฉันคิดว่า mp3 มีดัชนีผิด (หรืออะไรก็ตามที่อยู่ภายใน) และรันบนmp3val- แต่ไฟล์นั้นถูกต้อง - นั่นคือเหตุผลที่mp3valไม่เคยแสดงคำเตือนใด ๆ และไม่ได้แก้ไขไฟล์ ฉันไม่รู้ว่าทำไมผู้เล่นถึงแสดงเวลาที่ผิดฉันจะลบความคิดเห็นก่อนหน้าของฉัน
Marecky

10

ฉันคิดว่าคุณได้ลองใช้ตัวเลือกแรกใน google ... หรือยัง? นอกจากนี้ยังมีสคริปต์ Perl, mp3checkerซึ่งอาจเป็นประโยชน์

แก้ไข:

สำหรับการซ่อมแทร็กของคุณอาจให้MP3 Diags (ลิงก์ไปยังบทความ lifehacker) ดู


ขอบคุณรุกฆาตเป็นเครื่องมือที่ดีในการระบุไฟล์ที่มีปัญหา (ที่ยังคงออกจากงานของการแก้ไขสิ่งต่าง ๆ ถ้าเป็นไปได้)
Tobias Kienzler

1
Thumbs up สำหรับ MP3 Diags ฉันมีปัญหากับเครื่องเล่น mp3 ของฉันไม่รายงานระยะเวลาอย่างถูกต้อง พบ MP3 Diags และแก้ไขปัญหา
David L

4

mpckทำงานได้บน Windows และ GNU / Linux

หน้าแรก: http://checkmate.gissen.nl/

มันตรวจพบเฟรมที่ไม่ดีและสร้างรายงานเพิ่มเติม
มีส่วนหน้า GUI สำหรับ windows ด้วย

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

ปรับปรุง:

ดูเหมือนว่าโปรแกรมนี้จะสามารถจัดการชื่อไฟล์ utf-8 ได้อย่างเต็มที่แม้ว่าฉันจะไม่ได้ลองร่ายมนตร์ภาษาจีนภาษาจีนหรือภาษาแปลก ๆ

เจนทู (UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

Cygwin พร้อม UTF-8 locale (locale ภาษาญี่ปุ่นใน windows)
ไบนารี windows ดั้งเดิมไม่ได้รับรู้ cygwin ดังนั้นฉันต้องแปลงผลลัพธ์

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            

ขอบคุณแม้ว่าจะถูกกล่าวถึงในคำตอบนี้แล้ว
Tobias Kienzler

mpck! = mp3check ฉันผิดหรือเปล่า?
ЯрославРахматуллин

ไม่มันเป็นลิงก์ที่ระบุว่า "ตัวเลือกแรกบน Google" แต่ +1 อย่างไรก็ตามเนื่องจากคุณอธิบายเพิ่มเติมเกี่ยวกับฟังก์ชั่นของมันสักหน่อย
Tobias Kienzler

โอ้ใช่. ฉันไม่สนใจสิ่งนั้น ฉันจะตรวจสอบ mp3val แต่จนถึงตอนนี้ mpck ก็สามารถทำทุกอย่างที่ฉันต้องการได้จากเครื่องมือตรวจสอบ mp3
ЯрославРахматуллин

2
บน Linux มันไม่ได้ตีฉันเท่าที่จำเป็นในการใช้วิธีการแก้ปัญหาใด ๆ สำหรับ mp3val - AFAICT ข้อผิดพลาดที่อ้างอิงเป็นปัญหาเฉพาะ Windows เท่านั้น (ฟังก์ชั่นใดก็ตามที่ใช้สำหรับการแยกวิเคราะห์บรรทัดคำสั่งหรือการจัดการชื่อไฟล์จะต้องไม่ปลอดภัยจาก Unicode) ภายใต้ Linux ฉันเพิ่งเสียหายด้วยมือ (โดยการสุ่มบล็อกด้วย ghex) เป็นTësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3ศูนย์ เกิดปัญหาในการประมวลผลทั้งหมดอย่างถูกต้อง
FeRD

0

ง่ายกว่าคือใช้ ffmpeg เพื่อคัดลอกไฟล์จากไฟล์ที่มีระยะเวลาผิดพลาดในแท็ก ID3 นี่ทำให้การเขียนข้อมูลที่ถูกต้อง

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

เนื่องจากใช้การคัดลอกจะใช้เวลาเพียงเล็กน้อยในการเข้ารหัสดั้งเดิม นี่เป็นเพลงที่แทบจะไม่สังเกตเห็นได้ชัดเจน แต่คุณชื่นชมมันด้วยหนังสือเสียง 7 ชั่วโมง หลังจากเข้ารหัสอีกครั้งตอนนี้แท็ก ID3 จะมีข้อมูลที่ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.