내 음악 라이브러리에 잘못된 지속 시간 값을 표시하는 많은 노래가 있으므로 Clementine에서만 부분적으로 재생됩니다. 밴시 및 일부 다른 플레이어에서는 다른 지속 시간 값을 표시하고 때로는 전체 노래를 재생합니다.
노래를 "재 인코딩"하지 않고이 문제를 해결할 수있는 방법이 있습니까?
내 음악 라이브러리에 잘못된 지속 시간 값을 표시하는 많은 노래가 있으므로 Clementine에서만 부분적으로 재생됩니다. 밴시 및 일부 다른 플레이어에서는 다른 지속 시간 값을 표시하고 때로는 전체 노래를 재생합니다.
노래를 "재 인코딩"하지 않고이 문제를 해결할 수있는 방법이 있습니까?
답변:
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
mp3 결합과 같은 작업에 이상적입니다. 더 좋은 방법 : http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files
cat
. mp3val이 없어도 파일은 내가 보낸 모든 플레이어에서 계속 재생됩니다. cat
ffmpeg로 다시 인코딩하는 것보다 매우 효율적이고 훨씬 빠릅니다. 추가 된 mp3val 명령으로도.
ffmpeg
과 concat
및 -acodec copy
수행 하지 다시 인코딩 - 그것은 단지 복사 스트림 (가 빠른 그래서),하지만 (쓸모없는 헤더 및 태그 데이터가 결과 파일에서 여러 번 등장하지 않고) 처음에 적절한 파일을 만듭니다.
새로운 것을 설치하지 않으려면 ffmpeg을 사용해보십시오 .
ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3
mp3val
과 mp3check
솔루션이 작동하지 않았을 때 효과적이었습니다 . (확실히 다시 인코딩하지는 않습니까?)
실제 오디오와 일치하지 않는 VBR 헤더 ( mp3val
다른 답변에서 언급 한대로 수정 하는 데 사용 ) 외에, 다른 원인은 ID3 태그가있는 MP3 파일에 태그 값이 올바르지 않은 것 TLEN
입니다. 패키지 에서 mid3v2
도구를 사용하여이를 수정 mutagen
하여 태그를 제거 할 수 있습니다 (명백히 선택 사항 임).
$ mid3v2 --delete-frames=TLEN filename.mp3
음악 플레이어 Quodlibet에는 편리한 "Fix MP3 Duration"플러그인도 있습니다.
(Quodlibet FAQ에서 가져옴 : 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
오디오 북 부분을 하나의 파일 (cat 1.mp3 2.mp3 > out.mp3
) 로 결합 하는 데 사용 하며 재생에 효과적이지만 거의 모든 플레이어가 타임 스탬프에mediainfo
이상 해져 결합 된 것이 아니라 첫 번째 파일의 지속 시간을 보여줍니다.