2P by GN⁺ | ★ favorite | 댓글 1개
  • 일부 YouTube 계정에서 YouTube on TV로 로그인하면 일반 동영상도 TVHTML5 Innertube 클라이언트에서 DRM 포맷만 내려오는 실험 또는 A/B 테스트가 관찰됨
  • 이 현상은 yt-dlp에 한정되지 않고, 같은 계정으로 PS3, 웹 브라우저, Apple TV 등 공식 YouTube TV 클라이언트를 테스트해도 동영상 포맷이 DRM으로만 제공됨
  • yt-dlp는 현재 YouTube 동영상 데이터를 요청할 때 YouTube on TV처럼 동작하기 때문에, 해당 실험 대상 계정에서는 일반 동영상도 This video is DRM protected 오류로 처리됨
  • 재현 로그는 Firefox 쿠키와 youtube:player-client=tv 설정으로 aqz-KE-bpKQ 동영상을 조회했을 때 DRM 보호 오류가 발생하고, 개발자 옵션으로 재생 불가 포맷을 표시하면 오디오·비디오 포맷 전반에 DRM 표시가 붙는 것을 보여줌
  • 이 이슈는 닫힌 상태이며, 페이지에는 관련 PR로 #14122#13539가 연결되어 있지만 본문에는 구체적인 수정 방식이나 최종 동작 변화가 포함되어 있지 않음

일부 계정에서 TV 클라이언트 포맷이 DRM으로만 제공됨

  • 일부 YouTube 계정에서 일반 동영상이 tv 또는 TVHTML5 Innertube 클라이언트에서 DRM 포맷만 갖는 현상이 보고됨
  • 문제는 YouTube가 일부 계정에 적용 중인 실험 또는 A/B 테스트로 보이며, 모든 사용자에게 적용된다고 단정하지 않음
  • 명확화를 위한 설명에서, YouTube on TV에 로그인한 일부 계정은 모든 YouTube 동영상이 DRM으로 보호된 것처럼 보임
  • YouTube on TV는 TV, 게임 콘솔 등에서 쓰는 큰 화면용 인터페이스 또는 앱이며, TV나 게임 콘솔 사용자 에이전트로 https://www.youtube.com/tv에서 접근 가능함

yt-dlp에 미치는 영향

  • yt-dlp는 현재 YouTube 동영상 데이터를 요청할 때 YouTube on TV로 요청하는 방식이 포함되어 있어 이 실험의 영향을 받음
  • 해당 계정과 tv 클라이언트 조합에서는 yt-dlp가 일반 동영상도 DRM 보호 동영상으로 판단함
  • 재현 명령은 Firefox 브라우저 쿠키를 사용하고 --extractor-arg youtube:player-client=tv로 TV 클라이언트를 강제함

공식 YouTube TV 클라이언트에서도 같은 결과

  • 같은 계정으로 여러 공식 YouTube TV 클라이언트를 테스트했을 때도 DRM 포맷만 제공됨
    • PS3
    • 웹 브라우저
    • Apple TV
  • 따라서 관찰된 현상은 yt-dlp만의 구현 문제로 제한되지 않음

개발자 옵션으로 확인한 포맷 목록

  • 코드 수정이 필요한 방식으로 DRM 포맷을 보이게 한 뒤 --allow-un 옵션을 사용하면 재생 불가 포맷 목록이 출력됨
  • 출력된 포맷에는 오디오와 비디오 항목 전반에 DRM 표시가 붙음
    • 오디오 전용 m4a 포맷: 148, 149, 148-drc, 149-drc
    • 비디오 전용 mp4webm 포맷: 144p부터 2160p60까지 포함
    • 예시로 558 포맷은 3840x2160 60fps, vp9, 약 1.27GiB, DRM, 2160p60, TV, webm_dash로 표시됨
  • --allow-un은 개발자 디버깅용 옵션이며, 출력 로그에는 재생 불가 포맷의 목록화 또는 다운로드를 요청했다는 경고가 포함됨

이슈 상태와 연결된 작업

  • GitHub 이슈는 Closed 상태임
  • 페이지에는 관련 PR로 #14122#13539가 연결되어 있음
  • 제공된 본문에는 두 PR의 변경 내용, 병합 여부, 회피 방법, 최종 해결 방식은 포함되어 있지 않음

댓글과 토론

Hacker News 의견들
  • 이 이슈가 실제로 무슨 뜻인지 설명이 필요함
    핵심 논점이 기술에 익숙한 일반 독자에게도 이해하기 어려운 개념들에 걸쳐 있어서, 결국 사람들은 키워드만 붙잡고 생산적이지 않은 논의로 흐를 가능성이 큼
    구체적으로 innertube 클라이언트, tv innertube 클라이언트, TVHTML5, “DRM 형식”, 그 형식이 “사용 가능하다”는 의미, 그리고 그게 왜 tv innertube 클라이언트에만 제공될 때 중요한지가 궁금함

    • 요약하면 YouTube가 특정 클라이언트에 DRM으로 잠긴 동영상 스트림만 내려주는 변경을 A/B 테스트 중임
      이게 중요한 이유는 yt-dlp가 정상 동작 중 그 클라이언트들로 가장하기 때문이고, yt-dlp는 DRM 잠금 동영상 복호화를 지원하지 않을 예정이라 이 변경은 모든 동영상 다운로드를 깨뜨릴 수 있음
      innertube는 비공개 YouTube API의 이름이고, 여러 종류의 YouTube 클라이언트 소프트웨어가 쓰도록 만들어진 API임. 예시 라이브러리는 https://github.com/tombulled/innertube/이고, yt-dlp는 별도 클라이언트 코드를 갖고 있음
      “tv” 클라이언트는 클라이언트 유형 중 하나이며 예시는 https://github.com/tombulled/innertube/blob/main/innertube/c...에서 볼 수 있음
      TVHTML5는 TVLITE나 TVANDROID 같은 것과 구분되는 특정 클라이언트이고, TV마다 특정 TV 클라이언트와 특정 TV API를 쓰는 것으로 보임
      yt-dlp가 동영상을 받을 때는 대략 innertube가 지원하는 클라이언트 중 하나인 척하고, 최상위 동영상 객체를 받은 뒤, 가능한 형식 목록을 파싱함. 형식은 “MP4, 1080p, AAC 오디오 포함”이나 “Ogg, 오디오 전용” 같은 것임. 기본적으로 yt-dlp는 최고 품질 오디오와 최고 품질 비디오 스트림을 받아 하나의 파일로 합치지만 설정으로 바꿀 수 있음
      DRM 형식은 아마 Widevine으로 보호되는 형식이고 https://en.wikipedia.org/wiki/Widevine, yt-dlp는 그 복호화를 지원하지 않겠다고 밝힘
      “사용 가능”하다는 건 yt-dlp 클라이언트가 다운로드할 선택지로 보인다는 뜻임. 모든 동영상이 모든 클라이언트에 모든 형식을 제공하는 건 아니며, 4K로 업로드되지 않았거나 4K 디코딩을 지원하지 않는 클라이언트에는 4K 선택지가 안 보일 수 있음
      이번 경우에는 이 특정 내부 클라이언트 유형이 동영상을 받을 수 없다는 뜻임. yt-dlp가 요청하면 DRM 잠금 형식만 받기 때문임. TV 클라이언트가 유효한 YouTube 로그인 토큰 없이도 YouTube API에서 고화질 동영상을 얻는 방법이라서 주목할 만함. 이슈 아래쪽에서 제보자는 토큰을 제공하면 “web” innertube 클라이언트가 동작한다고 말함
  • 지금 상황은 결국 사람들이 이 상태에 만족하기 때문에 생긴 것임
    영화, 음반, 책을 소유하지 않아도 괜찮다고 여기고, 그 의미를 이해하지 못하는 사람이 많음. 이해하는 쪽은 소수임
    스트리밍 자체에 반대하는 건 아니지만, 모든 제공자는 합리적인 가격에 합법적인 디지털 사본을 소유할 선택지를 줘야 함. 여기서 소유란 DRM 없는 단순 미디어 파일을 갖고, 원하는 곳에서 재생할 수 있다는 뜻임
    무언가를 소유하기 위해 돈을 내는 데는 전혀 문제가 없지만, 그 전까지는 이런 회사들에 한 푼도 내지 않겠음

    • 스트리밍 1시간은 탄소 0.5g이고, 하루 6시간씩 365일이면 1인당 연 1095g임
      20억 명이 스트리밍한다고 치면 2,000,000,000 × 1095 = 2,190,000,000,000g, 즉 219만 톤의 불필요한 이산화탄소가 됨
      불법복제는 한 번이면 끝나니 더 친환경적이고, 지구를 구할 수 있다는 식으로 볼 수도 있음
  • yt-dlp로 구독 채널을 내려받고 mp3로 변환한 뒤 로컬 네트워크 안에서 팟캐스트 피드를 제공하는 스크립트를 만들어서 YouTube 앱 사용 시간을 이미 크게 줄였음
    이게 언젠가 깨지면 여가 시간에 밖에 나가야 할지도 모르겠지만, 아직은 동작하니 봄까지는 버텨주길 바람

    • 나도 며칠 전에 똑같이 해볼 생각을 했음
      yt-dlp 말고 어떤 도구를 쓰는지 궁금함. 예를 들어 RSS 피드를 생성하고 호스팅하는 데 무엇을 쓰는지 알고 싶음
    • yt-dlp에 오디오 전용 파일을 요청하면 굳이 변환하지 않아도 되지 않나 싶음
    • uBlock Origin, NewPipe, yt-dlp 조합 덕분에 몇 년째 YouTube 앱을 쓰지 않고 있음
  • 정말 끔찍한 소식임
    이런 일이 올 거라는 건 꽤 분명했고, Google의 매우 고수준 전략 일부라는 점도 꽤 분명해 보임. Google은 몇 년 동안 클라이언트와 서버 양쪽에서 이 모든 부분에 크게 투자해 왔음
    내겐 엔시티피케이션 냄새가 나지만, 그보다 더 크게는 잠기고 닫힌 기술의 시대로 막 들어가려는 것 같음. 전체 환경을 보면 DRM 없는 YouTube는 시대착오처럼 느껴질 정도임
    대부분의 사람들은 자신이 할 수 있는 일을 심하게 제한하는 기기를 기꺼이 사기 때문에, 소비자들의 실질적 반발도 기대하지 않음. 이걸 정말 신경 쓰는 사람들은 원칙을 위해 디지털 세계에서 스스로 갈라져 결핍을 감수하거나, 가장 낮은 공통분모 사용자들과 같은 상자 안으로 강제로 밀려 들어가는 선택지를 마주하게 될 것 같음
    Google 경영진에게 악의가 없다고 가정하면, AI가 마지막 방아쇠였는지도 궁금함. Gemini의 해자를 만들려면 데이터 수집자들이 YouTube 동영상에 접근하지 못하게 해야 하고, 이를 보장하는 유일한 “진짜” 방법은 DRM을 거는 것임. X/Twitter, Reddit, Stack Overflow 등도 비슷한 이유로 조치를 취했음. 어차피 하고 싶었던 일일 테니 AI는 이유라기보다 핑계일 수 있지만, 아무 의미 없는 요인은 아닐 것임

    • 이런 플랫폼들의 권력 집중에 더 강하게 맞서는 움직임이 있었으면 좋겠음
      우리는 자기 냄비에 직접 연료를 넣는 개구리 같은 상태임
      예전에는 DRM이 사용자를 대변하지 않기 때문에 브라우저와 충돌한다고 여겨졌음. DRM이 꼭 필요하다면 Silverlight 같은 외부 플러그인으로 플랫폼 쪽이 억지로 끼워 넣어야 했음
      Firefox가 EME 확장을 도입했을 때 끝의 시작이라고 봤음. DRM을 그냥 켤 수 있는 스위치로 만들면 예외가 아니라 표준이 됨. 수년 전부터 글꼴 DRM 같은 터무니없는 제안도 있었음. 회사가 DRM을 고집한다면 브라우저가 원래 지원해서는 안 되는 일을 하느라 생기는 부담은 그 회사가 져야 함
      우리가 향해 달려가는 악몽은 한 번에 아주 조금의 동영상만 캐시할 수 있고, TPM 증명 하드웨어가 모든 HTTP 요청에 토큰을 포함해야 하는 세상임. 브라우저는 그냥 소프트웨어 케이블 박스가 됨
      이들은 URL도 마음에 들어 하지 않으며, 무언가를 공유하려면 앱에서 만료 해시와 조회 제한이 붙은 URL을 생성하는 식으로 자신들의 조건을 따르게 만들고 싶어 할 것임. 물론 인플루언서에게는 무제한 공유 특권이 남아 있을 수 있음
      지난 10년 동안 이런 인프라가 천천히 깔려 왔고, 이것들은 고립된 불편이 아니라 관에 박히는 못들임
    • 경영진이 이해하는 위협은 아마 AI일 것임
      GrayJay https://grayjay.app/ 같은 꽤 괜찮은 제3자 YouTube 클라이언트도 있음
      이런 앱은 여러 동영상 플랫폼의 창작자를 한 앱에서 팔로우하게 해주는데, Google이 원하는 YouTube 종속에는 나쁨
  • 한동안 오디오 트랙을 포함한 MP4 동영상인 itag 18과 22가 사라지고, itag 136과 137처럼 비디오 전용 형식이 선호되는 것처럼 보였음
    이 경우 ffmpeg로 오디오 트랙과 비디오를 합쳐야 했음. 최근에는 itag 18이 다시 돌아온 것 같음

  • YouTube가 동영상 다운로드와 싸우는 것 같음
    Tor를 쓰면 매일 “로그인해서 봇이 아님을 증명하라”는 메시지를 받고, Tor 없이는 YouTube에 접근할 수 없음. 광고를 보거나 캡차를 푸는 건 괜찮지만, YouTube는 최악의 방식을 골랐음

    • 최근 Amazon FireCube의 YouTube 앱이 열 때마다 로그인하라고 묻기 시작했음
      인증까지 하지는 않아도 되지만 프로필은 선택해야 함
      몇 달 전부터 시작됐고 별생각 없었는데, 지금 보니 이 동작이 새 DRM 추진의 전조였을 수도 있어 보임
      YouTube는 매일 완전히 피해야 할 이유를 더 많이 줌
  • 마침 여기서도 YouTube가 “커뮤니티 보호를 위해 봇이 아님을 확인하려면 로그인하라”고 맞이했음
    목줄을 조이는 방법은 많음
    안타깝게도 어떤 사람들은 절대 계정을 만들지 않을 것이고, 어떤 사람들은 어떤 DRM 시스템도 쓰지 않을 것임. 그 풍부한 자료에 간접적으로 접근할 방법을 찾아야 함

  • lofi나 synthwave 음악을 발견할 수 있는 YouTube 대안을 추천받고 싶음

  • Firefox 사용자는 어떻게 되는지 궁금함
    Firefox가 지원하는 DRM은 쉽게 깨지는데, YouTube가 Firefox 지원을 중단할까?

    • 현재로서는 yt-dlp가 쓰는 특정 TV 클라이언트 API에서만 보인 것으로 보이고, 모든 YouTube 동영상에 적용된 건 아닌 듯함
      https://github.com/yuliskov/SmartTube/issues/4444에서도 “회원 전용” 동영상에서 봤지만 역시 모든 동영상은 아니었음
      아마 Widevine L3와 L1, PlayReady SL2000과 SL3000 같은 소프트웨어 DRM과 하드웨어 DRM 차이를 말하는 것 같은데, 이건 정확히 Firefox 대 Chrome 구도는 아님. Firefox도 Windows에서 하드웨어 DRM 사용 가능성을 작업한 것으로 알려져 있고, 아마 Media Foundation API를 통해서였을 것임
      Netflix 같은 서비스에서 보이는 최악의 시나리오는 Firefox처럼 소프트웨어 DRM만 가능한 브라우저에는 낮은 화질만 제공하고, 더 좋은 화질은 하드웨어 DRM에서만 얻을 수 있는 키로 암호화하는 방식임. 다만 YouTube가 지금 그 정도까지 갈지는 모르겠음. Netflix나 Amazon은 권리자와 그런 보호 조치를 요구하는 계약을 맺지만, YouTube는 다행히도 “YouTuber”들과 같은 종류의 관계와 계약을 맺고 있지는 않다고 봄
      지금 YouTube가 원하는 건 웹사이트나 앱을 통하지 않고 콘텐츠를 보는 사람, 즉 광고를 보지 않는 사람을 크게 줄이는 것 같음. yt-dlp 사용자보다는 YouTube-to-mp3 사이트나 비슷한 쉬운 도구에 의존하는 훨씬 많은 사람들을 겨냥한 것일 가능성이 큼
      소프트웨어 DRM을 강제하는 것만으로도 그런 도구들을 적어도 일시적으로 깨뜨리고 사용자들을 플랫폼으로 되돌릴 수 있음. 그리고 “암호화 우회” 메커니즘이 도구 안에 들어가면 개발자를 고소할 수도 있을 것 같지만, 법률 전문가는 아님
    • DRM의 주된 용도는 시스템을 법적으로 DMCA 범위 안으로 끌어들이는 것이라고 볼 수 있음
      그렇게 되면 yt-dlp가 GitHub에 호스팅되는 것도, apt 저장소나 pip, Homebrew 등을 통해 배포되는 것도 끝날 가능성이 매우 큼
    • 그런 일이 벌어질 가능성은 낮다고 보지만, 다른 스트리밍 서비스에는 DRM을 지원하지 않거나 마음에 들지 않는 클라이언트에 낮은 화질만 제공한 전례가 있음
  • 관련해서 TubeArchivist가 막 v0.5를 릴리스했고, 공식적으로 기능 동결 상태는 아님