내 컬렉션에는 다음과 같은 결함이있는 MP3가 포함되어 있습니다.
- 로딩시 잘못된 지속 시간 표시
- 사소한 점프
- 지속 시간이 1 분 남았음에도 불구하고 갑자기 종료 됨
- 소음
가능한 한 많은 글리치를 감지하고 고정 할 수있는 것을 고칠 수있는 도구를 찾고 있습니다 (예를 들어 대부분의 경우 소음을 간단히 제거 할 수는 없습니다).
내 컬렉션에는 다음과 같은 결함이있는 MP3가 포함되어 있습니다.
가능한 한 많은 글리치를 감지하고 고정 할 수있는 것을 고칠 수있는 도구를 찾고 있습니다 (예를 들어 대부분의 경우 소음을 간단히 제거 할 수는 없습니다).
답변:
명령 행 도구 mp3val을 사용하면 mp3 파일의 구조적 결함을 신속하게 스캔하고 선택적으로 복구 할 수 있습니다. 나는 "다치게 할 수 없다"는 원칙에 따라 내 컬렉션의 거의 모든 파일을 실행하려고 시도합니다. 그것은 결과적으로 중요하지 않은 것부터 심각한 것까지 결함이있는 놀라운 수의 파일을 식별합니다.
mp3val은 VBR 파일에 VBR 헤더 부족 (가장 잘못된 지속 시간 및 탐색 문제의 원인)과 같은 헤더 부족을 인식하고 수정하는 데 특히 좋습니다. 그러나 또한 가비지 / 손상된 오디오 프레임 데이터, 일부 플레이어가 파일에 남아있는 경우 일부 플레이어가 우아하게 처리 할 수없는 부패를 제거합니다.
mp3의 전체 디렉토리를 실행하고, 문제가있는 파일 만 복구하고, 백업을 유지하거나 (선택적으로), 타임 스탬프를 유지하고 (선택적으로), 텍스트 파일에 세션을 로깅 (선택적으로)하도록 할 수도 있습니다.
그리고 무료이며 오픈 소스입니다! (링크는 sourceforge 프로젝트로 연결됩니다.)
편집 : 마지막으로 언급 한 것을 잊어 버렸습니다. "하지만 mp3val은 2009 년 이후로 업데이트되지 않았습니다 !!" 그건 사실 이야! 이 됐어요 잘 작동 2009 및 업데이 트를 필요로하지 않았다. (결국 지난 2 년 동안 MP3 파일 형식이 변경된 것과는 다릅니다!)
MP3Diags
그것들을 고칠 수 없었습니다 (VBR 파일의 Xing 헤더로 인해 잘못된 지속 시간이 표시됨)
mp3val
Fedora 28을 사용해 보았지만 여전히 잘 작동합니다. 가장 난해한 라이브러리 종속성은 libm.so.6
또는 중 하나 libstdc++.so.6
이므로 호환되지 않는 ABI 손상과 같지 않습니다. 기본 모드 : 그냥하지만, 확인 mp3val
되지 않습니다 모든 파일을 만지지 그것이 실행 않다면, 그것은 단지 수정을 할 수 있습니다 -f
- 스캔 모드는 기록 어디에서도 다음, 파일 만 플래그 WARNING:
또는 ERROR:
수정 될 것이다. 수정 가능한 문제를 발견하지 못하면 파일을 그대로 둡니다.
mp3val
했지만 파일이 정확했습니다. 그래서 mp3val
경고가 표시되지 않고 파일을 수정하지 않았습니다. 플레이어가 왜 트랙 시간을 잘못 표시했는지 모르겠습니다. 이전 댓글을 삭제하겠습니다.
나는 당신이 이미 Google에서 첫 번째 옵션을 시도했다고 가정합니다 ...? 또한 펄 스크립트 mp3checker 가 유용 할 것입니다.
편집하다:
트랙을 복구하는 데 MP3 Diags (생명 해커 기사 링크)가 표시 될 수 있습니다.
mpck 는 Windows 및 GNU / Linux에서 작동합니다.
홈페이지 : http://checkmate.gissen.nl/
잘못된 프레임을 감지하고 선택적 보고서를 생성합니다.
Windows 용 GUI 프론트 엔드도 있습니다.
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
UTF-8 로켈이있는 Cygwin (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
Tësting 1.mp3
Testíng ®eally hµrd.mp3
☭They don't get much weirder☭.mp3
ghex 로 임의의 블록을 0으로 지음)으로 인해 손상되었습니다. ... mp3val에는 제대로 처리하지 못했습니다.