유튜브와 로우패스 필터 (유튜브 뮤직 프리미엄)

유튜브 오디오는 16kHz 이상은 자른다? 유튜브 뮤직 프리미엄은?
고음질 오디오 M4A (AAC LC VBR)

현재 유튜브에 영상을 올리면 오디오는 OPUSAAC 코덱 두 가지로 트랜스코딩되어 스트리밍 되고 있다(이 글을 작성한 시점을 기준으로).

유튜브 오디오는 클라이언트(플레이어)의 설정과 코덱 지원 여부, 네트워크 속도에 따라 트랜스코딩된 것들 중에 하나로 스트리밍 된다.

전문 통계

예를 들어서 브라우저에서 유튜브 영상을 오른쪽 클릭하고 “전문 통계”를 보면 현재 어떤 오디오 코덱으로 소리를 듣고 있는지 확인 가능하다.

테스트 업로드의 yt-dlp -F 결과

유튜브 영상의 트랜스코딩된 오디오/비디오 코덱을 모두 확인/다운로드하려면 yt-dlp 같은 유틸리티를 사용할 수 있다.

더 보기 “유튜브와 로우패스 필터 (유튜브 뮤직 프리미엄)”

MP3, AAC를 1,000번 반복해서 인코딩하면 어떻게 될까?

https://youtu.be/RVMPUf_nQIc
MP3를 1,000번 반복해서 인코딩하면 어떻게 될까?
MP3를 1,000번 반복해서 인코딩하면 어떻게 될까? / 고음질 오디오 M4A (AAC LC VBR)

뻘짓 주의

mp3, aac로 인코딩한 파일을 인코딩하고 그 파일을 다시 인코딩하는 방식으로 1,000번씩 반복해 보았다(간단한 스크립트로 ffmpeg를 1,000번씩 돌림).

물론 이렇게 할 이유도 없고 원본이 압축 손실 파일일 때 편집이 필요하다면 무손실 PCM으로 저장해 두고 편집하는 것이 당연하지만…

MP3

MP3 1,000번 반복 😉
  • FFmpeg lame으로 “-q:a 0″를 주고 VBR로 인코딩
  • 사용한 옵션 : ffmpeg -i “X.mp3” -codec:a libmp3lame -q:a 0 “XX.mp3”
더 보기 “MP3, AAC를 1,000번 반복해서 인코딩하면 어떻게 될까?”

AAC, MP3, OPUS 널 테스트(null test)와 음질 비교

AAC, MP3, OPUS 세 가지로 인코딩할 때 주로 어떤 주파수 대역의 소리들이 원본과 비교해서 줄어드는지 화이트 노이즈와 음악 파일로 널 테스트(null test)를 해 보았다.

참고로 널 테스트는 같은 음원 두 개를 하나는 위상 반전해서 재생할 경우 파형이 동일하면 서로 상쇄되면서 아무런 소리도 나지 않게 되는 원리를 이용한 것이다(액티브 노이즈 캔슬링이 같은 원리).

널 테스트로 두 가지 음원에 차이가 있을 경우에는 상쇄되고 남는 데이터만 확인할 수 있으므로 어떤 소리들이 손실되는지 판단이 가능하다.

테스트 조건

  • 원본 : 24bit/48kHz PCM (no dithering)
  • AAC(AAC LC) : 애플 CoreAudio AAC 인코더 / QAAC 프런트엔드 사용
  • MP3 : LAME v3.99.5 / Mode q=2
  • Opus : Hard-CBR, Complexity 10 (Reaper에서 인코딩)
  • 세 가지 코덱 모두 CBR(Constant bitrate)로 인코딩
더 보기 “AAC, MP3, OPUS 널 테스트(null test)와 음질 비교”

윈도우에서 애플 CoreAudio AAC 인코더 사용

윈도우에서 CoreAudio AAC 또는 ALAC으로 파일을 인코딩하려면 qaac 커맨드 라인 프론트엔드를 사용하면 된다.

필요한 것

  • QAAC (CLI QuickTime AAC/ALAC encoder)
  • CoreAudio AAC 인코더는 아이튠즈, 퀵타임을 인스톨해도 되고 필요없다면 링크에서 “iTunes64Setup.exe”를 받아 7zip 같은 압축 프로그램으로 풀어서 “AppleApplicationSupport64.msi”만 설치
더 보기 “윈도우에서 애플 CoreAudio AAC 인코더 사용”