설정에 해당 옵션이 없어서 직접 AAC VBR로 인코딩되도록 입력했습니다만
제 설정과 상관없이 CBR 모드로 강제로 인코딩 되는듯 합니다 VBR 지원 안하고 있나요?
설정에 해당 옵션이 없어서 직접 AAC VBR로 인코딩되도록 입력했습니다만
제 설정과 상관없이 CBR 모드로 강제로 인코딩 되는듯 합니다 VBR 지원 안하고 있나요?
-vbr 설정이 -b : a 설정보다 우선하므로 문제가되지 않는다고 생각합니다. (ffmpeg 및 shanaencoder.sha, libfdk_aac 인코더로 테스트 됨)
(↑Google translate)
I don't think the does matter, because the -vbr setting will override -b:a setting. (tested with ffmpeg and shanaencoder.sha, libfdk_aac encoder)
-vbr 옵션 말씀하시는 거죠? 샤나인코더의 인코딩 라이브러리인 FFmpeg 쪽의 문제 같습니다. 인코딩은 되지만 미디어인포로 보면 오디오 쪽 비트레이트가 고정 비트레이트로 보이죠. 최종 mp4 파일의 미디어인포 정보를 기록하는 FFmpeg 내장 mp4 먹서 문제일 수도 있습니다.
FFmpeg 자체적으로 막아놨는지, FFmpeg의 AAC 인코딩 관련 사용자 문서를 참고해서 libfdk_aac 인코더가 가능한 FFmpeg로 직접 실행해봐도 그렇고, libfdk_aac 매뉴얼 참고해서 옵션 바꿔봐도 그렇고, FFmpeg에서는 아래와 같은 불친절한 오류 메시지만 뜨고 VBR 인코딩이 안 되네요.
독자 실행 인코더 파일인 fdkaac 자체 도움말에도 VBR 관련해서 아래와 같은 경고 문구가 있습니다.
하지만 실제로 6채널 flac 오디오 스트림을 하나 가진 mkv 파일에서 오디오 스트림만 FFmpeg로 wav 파이핑해서 fdkaac로 VBR 인코딩이 가능하긴 합니다. 그것도 HE-AAC 프로파일을 가진 m4a 컨테이너 형식 안의 AAC 오디오 스트림으로요.
결과물로 나오는 m4a 파일의 미디어인포를 보면 HE-AAC 프로파일인데 VBR로 인코딩돼 있는 걸 볼 수 있습니다.
뭐, 실제로 진짜 VBR인지, 미디어인포만 저렇게 붙여놓은 건지는 모르겠지만 말이죠.
어쨌든 이렇게 만들어진 m4a 파일은 mkvmerge나 MP4Box 같은 먹싱 프로그램으로 mkv나 mp4 파일로 비디오와 먹싱하면 되겠죠.
AAC 관련해서 VBR 인코딩이 가능한 또다른 인코더는 애플이 iTunes 안에 넣어서 배포하는 qaac가 있습니다. 하지만 qaac는 LC 프로파일에서만 VBR이 가능하다는 한계가 있습니다. 물론 AAC 관련 모든 인코더를 통틀어 가장 음질이 우수하다고 평가받고 있기는 합니다.
그렇지만 qaac는 라이센스 문제로 FFmpeg로의 통합은 불가능하고 독자적인 실행 파일과 라이브러리 파일들을 사용자가 직접 알아서 구해야 합니다.
여러 이야기를 늘어놓았지만, 결론적으로 현재 FFmpeg에서 (샤나인코더의 디폴트 AAC 인코더인) libfdk_aac 인코더로 VBR AAC 인코딩은 불가능한 것으로 보입니다. 아니면, VBR 인코딩이 되긴 되지만 FFmpeg 내장 MP4Box가 오디오 비트레이트를 'CBR'로 표시하는 것일 수도 있습니다. 이것이 FFmpeg 측에서 일부러 그렇게 해놓은 것인지, 아니면 버그인지는 모르겠습니다. 독자 fdkaac 인코더에서는 잘만 되는 걸로 보아 버그 쪽에 의심이 강하게 가긴 합니다만... 버그라면 FFmpeg 쪽에 버그 리포팅을 해야 할 텐데, 좀 귀찮네요.