일괄 처리에서 일련의 MP3를 M4B로 변환하는 방법


10

MP3 기반의 책이 있습니다. 그들 중 일부는 책의 자체 구조에 따라 파일로 나뉩니다 : 장 등. 그들 중 일부는 방금 길쭉한 부분으로 나뉘 었습니다.

그래서. iPhone을 구입했는데 모두 M4B 형식으로 변환하고 싶습니다. 일괄 처리로 어떻게 변환 할 수 있습니까? 각 책마다 한 번씩 프로세스를 설정 한 다음 몇 주 후에 완전히 변환 된 라이브러리를받는 방법을 의미합니다.

내가 찾은 그러한 변환을위한 유일한 프로그램 은 Mac 용 Audiobook Builder 였습니다. 그러나 속도가 느리고 원칙적으로 일괄 처리를 지원하지 않습니다.

모든 플랫폼을 위한 솔루션입니다 .

답변:


7

MP3를 M4B에 연결하기 위해 ffmpeg를 사용할 수 있습니다. 최신 버전을 다운로드 한 후 다음을 실행하십시오.

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -c:a libfdk_aac -b:a 64k -f mp4 output.m4b

ffmpeg가 fdk_aac활성화 되지 않았을 수 있습니다. 그 경우에, 당신은 사용해 볼 수 있습니다

  • -c:a libfaac (고품질)
  • -c:a aac -strict experimental (품질은 좋지만 높은 비트 전송률을 사용하십시오)
  • -c:a libvo_aacenc (품질이 떨어짐)

자세한 내용은 AAC 인코딩 안내서 를 참조하십시오.


대신 neroAacEnc를 사용하려면 다음을 사용할 수 있습니다.

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -f wav - | neroAacEnc -if - -ignorelength -q 0.3 output.m4b

이들 중 어느 것도 장 메타 데이터를 추가하지 않을 것입니다.


@ -slhck "-c : a libfaac"을 사용할 때 "알 수없는 인코더 'libfaac'"오류 메시지가 나타납니다. libfdk_aac과 유사합니다.
athos

@athos는 다른 ffmpeg 옵션 중 하나를 사용하거나 neroAacEnc를 다운로드 하여 사용하십시오 (필요하지 않은 경우 neroAacEnc를 권장합니다 libfdk_aac).
evilsoup

@athos aac 인코더는 ffmpeg에 내장되어 있으므로 항상 작동해야합니다. Linux를 사용하는 경우 직접 ffmpeg를 빌드하거나 OS X의 Homebrew를 통해 설치할 수 있습니다. 그러면 libfdk_aac 인코더가 제공되며 이것이 최상의 품질을 제공합니다.
slhck

@ slhck Windows 솔루션이 있습니까?
athos

@athos 가능 하지만 ( trac.ffmpeg.org/wiki/CompilationGuide#Windows 참조 ) 다소 복잡 할 수 있습니다. 그러나 내부 aac 엔코더 만 사용하면 괜찮습니다.
slhck

0

터미널을 엽니 다. MP3 파일이있는 디렉토리로 변경하십시오.

for i in *mp3 ; do ffmpeg -i $i -qscale 0 $i.m4a ; done

물론 ffmpeg 가 설치되어 있어야합니다.

위에서 "m4a"를 사용했습니다. m4b 형식은 책임을 나타 내기 위해 문자를 변경 한 것과 동일한 것으로 보입니다. 한 글자 차이로 인해 버그가 발생하면 나중에 이름을 모두 바꿀 수 있습니다. 그들은 똑같이 연주합니다.

편집 : 나는 당신이 Mac을 사용한다고 가정합니다. 유닉스 계열 OS를 실행하거나 Windows에서 Cygwin 을 설치하면 위의 내용은 PC에서도 작동합니다 .


결과 파일에 챕터 메타 데이터가 추가되지 않습니까?
Artem Tikhomirov

2
그리고 mp3 파일을 하나로 병합하지 않습니다. 점은 무엇인가?
Artem Tikhomirov

원래 질문의 장을 결합 해야하는 요구 사항을 보지 못했습니다. 각 장의 시작과 끝을 나타내는 메타 데이터 추가를 포함하여 각 오디오 북의 모든 MP3 파일을 단일 파일로 결합 하시겠습니까? 그것은 당신이 처음에 물었던 질문이 아닙니다. 메타 데이터가 원본 MP3 파일에 있지 않으면 수동으로 추가해야합니다.
CarlF

ffmpeg우분투 12.04에가로 변환하는 방법을 알고하는 것 같지 않았어요 .m4b하지만 난으로 변환하여 주위에 그 일을 .m4a한 다음 이름 바꾸기.
tripleee

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.