2 điểm bởi GN⁺ 2025-03-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đã quan sát thấy một thử nghiệm hoặc A/B test trên một số tài khoản YouTube: khi đăng nhập bằng YouTube on TV, ngay cả video thông thường cũng chỉ nhận được các định dạng DRM từ client TVHTML5 Innertube
  • Hiện tượng này không chỉ giới hạn ở yt-dlp; khi dùng cùng tài khoản để thử các client YouTube TV chính thức như PS3, trình duyệt web, Apple TV, các định dạng video cũng chỉ được cung cấp dưới dạng DRM
  • Hiện tại, yt-dlp khi yêu cầu dữ liệu video YouTube có hoạt động giống YouTube on TV, nên với các tài khoản nằm trong diện thử nghiệm này, ngay cả video thông thường cũng bị xử lý với lỗi This video is DRM protected
  • Nhật ký tái hiện cho thấy khi truy vấn video aqz-KE-bpKQ bằng cookie Firefox và thiết lập youtube:player-client=tv, sẽ phát sinh lỗi bảo vệ DRM; nếu dùng tùy chọn dành cho nhà phát triển để hiển thị các định dạng không thể phát, sẽ thấy nhãn DRM gắn trên hầu hết các định dạng âm thanh và video
  • Vấn đề này hiện đã được đóng; trang có liên kết tới các PR liên quan là #14122#13539, nhưng phần nội dung không nêu cách sửa cụ thể hay thay đổi hành vi cuối cùng

Một số tài khoản chỉ nhận được định dạng DRM từ client TV

  • Đã có báo cáo rằng trên một số tài khoản YouTube, các video thông thường chỉ có định dạng DRM khi dùng client Innertube tv hoặc TVHTML5
  • Có vẻ vấn đề này là thử nghiệm hoặc A/B test mà YouTube đang áp dụng cho một số tài khoản, không thể khẳng định là áp dụng cho mọi người dùng
  • Trong phần giải thích làm rõ, một số tài khoản đăng nhập vào YouTube on TV cho thấy mọi video YouTube đều như thể được bảo vệ bằng DRM
  • YouTube on TV là giao diện hoặc ứng dụng dành cho màn hình lớn dùng trên TV, máy chơi game console, v.v.; có thể truy cập tại https://www.youtube.com/tv bằng user agent của TV hoặc máy chơi game console

Ảnh hưởng tới yt-dlp

  • Hiện tại, yt-dlp có cách yêu cầu dữ liệu video YouTube theo kiểu YouTube on TV, nên bị ảnh hưởng bởi thử nghiệm này
  • Với tổ hợp tài khoản đó và client tv, yt-dlp sẽ coi cả video thông thường là video được bảo vệ DRM
  • Lệnh tái hiện sử dụng cookie của trình duyệt Firefox và ép dùng client TV bằng --extractor-arg youtube:player-client=tv
    • URL mục tiêu là https://www.youtube.com/watch?v=aqz-KE-bpKQ
    • Phiên bản yt-dlp trong nhật ký là nightly@2025.03.07.232704
    • Kết quả thực thi là ERROR: [youtube] aqz-KE-bpKQ: This video is DRM protected

Kết quả tương tự ngay cả trên các client YouTube TV chính thức

  • Khi thử nhiều client YouTube TV chính thức bằng cùng một tài khoản, kết quả vẫn chỉ có các định dạng DRM
    • PS3
    • Trình duyệt web
    • Apple TV
  • Vì vậy, hiện tượng quan sát được không chỉ là vấn đề triển khai riêng của yt-dlp

Danh sách định dạng được xác nhận bằng tùy chọn nhà phát triển

  • Sau khi làm cho các định dạng DRM hiển thị theo cách cần sửa mã, dùng tùy chọn --allow-un sẽ in ra danh sách các định dạng không thể phát
  • Trong danh sách được in ra, hầu hết các mục âm thanh và video đều có nhãn DRM
    • Định dạng chỉ âm thanh m4a: 148, 149, 148-drc, 149-drc
    • Định dạng chỉ video mp4webm: bao gồm từ 144p tới 2160p60
    • Ví dụ, định dạng 558 được hiển thị là 3840x2160 60fps, vp9, khoảng 1.27GiB, DRM, 2160p60, TV, webm_dash
  • --allow-un là tùy chọn dành cho gỡ lỗi của nhà phát triển; nhật ký đầu ra có kèm cảnh báo rằng đã yêu cầu liệt kê hoặc tải xuống các định dạng không thể phát

Trạng thái issue và các công việc liên quan

  • GitHub issue đang ở trạng thái Closed
  • Trang có liên kết tới các PR liên quan là #14122#13539
  • Nội dung được cung cấp không bao gồm thay đổi trong hai PR đó, việc đã được merge hay chưa, cách né tránh, hoặc cách giải quyết cuối cùng

1 bình luận

 
GN⁺ 2025-03-11
Các ý kiến trên Hacker News
  • Cần có lời giải thích rằng vấn đề này thực sự có nghĩa là gì
    Điểm tranh luận cốt lõi trải rộng qua những khái niệm mà ngay cả độc giả phổ thông có hiểu biết kỹ thuật cũng khó nắm bắt, nên cuối cùng mọi người có khả năng chỉ bám vào vài từ khóa và cuộc thảo luận sẽ đi theo hướng kém hiệu quả
    Cụ thể, tôi thắc mắc về innertube client, innertube client tv, TVHTML5, “định dạng DRM”, việc định dạng đó “khả dụng” nghĩa là gì, và tại sao điều đó lại quan trọng khi nó chỉ được cung cấp cho tv innertube client

    • Tóm lại, YouTube đang A/B test một thay đổi trong đó họ chỉ trả về luồng video bị khóa bằng DRM cho một số client nhất định
      Lý do điều này quan trọng là vì yt-dlp, trong quá trình hoạt động bình thường, giả lập các client đó; mà yt-dlp dự kiến sẽ không hỗ trợ giải mã video bị khóa DRM, nên thay đổi này có thể làm hỏng việc tải xuống mọi video
      innertube là tên của API YouTube không công khai, được tạo ra để nhiều loại phần mềm client YouTube sử dụng. Một thư viện ví dụ là https://github.com/tombulled/innertube/, còn yt-dlp có mã client riêng
      Client “tv” là một trong các loại client; có thể xem ví dụ tại https://github.com/tombulled/innertube/blob/main/innertube/c...
      TVHTML5 là một client cụ thể, khác với những thứ như TVLITE hay TVANDROID, và có vẻ mỗi TV dùng một client TV cụ thể cùng một API TV cụ thể
      Khi yt-dlp tải video, đại khái nó giả vờ là một trong các client mà innertube hỗ trợ, nhận đối tượng video cấp cao nhất, rồi phân tích danh sách các định dạng khả dụng. Định dạng ở đây là những thứ như “MP4, 1080p, kèm âm thanh AAC” hoặc “Ogg, chỉ âm thanh”. Theo mặc định, yt-dlp tải luồng âm thanh chất lượng cao nhất và luồng video chất lượng cao nhất rồi ghép thành một tệp, nhưng có thể thay đổi bằng cấu hình
      Định dạng DRM có lẽ là định dạng được bảo vệ bằng Widevine https://en.wikipedia.org/wiki/Widevine, và yt-dlp đã nói rằng họ sẽ không hỗ trợ giải mã nó
      “Khả dụng” nghĩa là client yt-dlp nhìn thấy nó như một lựa chọn để tải xuống. Không phải mọi video đều cung cấp mọi định dạng cho mọi client; nếu video không được upload ở 4K hoặc client không hỗ trợ giải mã 4K, tùy chọn 4K có thể không xuất hiện
      Trong trường hợp này, điều đó có nghĩa là loại client nội bộ cụ thể này không thể nhận video. Vì khi yt-dlp gửi yêu cầu, nó chỉ nhận được các định dạng bị khóa DRM. Điều này đáng chú ý vì TV client là cách để lấy video chất lượng cao từ YouTube API mà không cần token đăng nhập YouTube hợp lệ. Ở phần dưới của issue, người báo cáo nói rằng nếu cung cấp token thì innertube client “web” hoạt động
  • Tình hình hiện tại rốt cuộc là do mọi người hài lòng với trạng thái này
    Nhiều người thấy ổn với việc không sở hữu phim, album, sách, và không hiểu ý nghĩa của điều đó. Những người hiểu thì chỉ là thiểu số
    Tôi không phản đối bản thân streaming, nhưng mọi nhà cung cấp nên đưa ra tùy chọn sở hữu một bản sao kỹ thuật số hợp pháp với giá hợp lý. Ở đây, sở hữu nghĩa là có một tệp media đơn giản không DRM và có thể phát ở nơi mình muốn
    Trả tiền để sở hữu thứ gì đó thì hoàn toàn không có vấn đề gì, nhưng cho đến khi điều đó xảy ra, tôi sẽ không trả cho các công ty kiểu này một xu nào

    • Một giờ streaming tạo ra 0,5g carbon, và nếu mỗi ngày 6 giờ trong 365 ngày thì là 1095g mỗi người mỗi năm
      Nếu giả sử 2 tỷ người streaming, thì 2.000.000.000 × 1095 = 2.190.000.000.000g, tức 2,19 triệu tấn CO2 không cần thiết
      Cũng có thể nhìn theo kiểu vi phạm bản quyền chỉ cần một lần là xong nên thân thiện với môi trường hơn, và có thể cứu Trái Đất
  • Tôi đã viết một script dùng yt-dlp để tải các kênh đã đăng ký, chuyển sang mp3, rồi cung cấp podcast feed trong mạng nội bộ, nhờ đó đã giảm đáng kể thời gian dùng ứng dụng YouTube
    Nếu một ngày nào đó nó hỏng, có lẽ tôi sẽ phải ra ngoài trong thời gian rảnh, nhưng hiện giờ nó vẫn chạy nên mong là trụ được đến mùa xuân

    • Tôi cũng vừa nghĩ đến việc làm y hệt vài ngày trước
      Tò mò không biết bạn dùng công cụ nào ngoài yt-dlp. Ví dụ muốn biết bạn dùng gì để tạo và host RSS feed
    • Nếu yêu cầu yt-dlp lấy tệp chỉ âm thanh thì có lẽ không cần phải chuyển đổi nhỉ
    • Nhờ kết hợp uBlock Origin, NewPipe và yt-dlp, tôi đã không dùng ứng dụng YouTube suốt mấy năm nay
  • Đây đúng là tin khủng khiếp
    Việc chuyện này sẽ đến là khá rõ ràng, và có vẻ cũng khá rõ rằng đây là một phần trong chiến lược cấp rất cao của Google. Google đã đầu tư rất mạnh vào tất cả những phần này trong nhiều năm, ở cả phía client lẫn server
    Với tôi thì nó có mùi enshittification, nhưng rộng hơn thế, có vẻ như chúng ta sắp bước vào một kỷ nguyên của công nghệ bị khóa chặt và đóng kín. Nhìn vào toàn cảnh, YouTube không có DRM thậm chí còn có cảm giác như một thứ lỗi thời
    Phần lớn mọi người sẵn sàng mua các thiết bị hạn chế nghiêm trọng những gì họ có thể làm, nên tôi cũng không kỳ vọng sẽ có phản ứng thực chất nào từ người tiêu dùng. Những người thật sự bận tâm đến chuyện này có lẽ sẽ phải đối mặt với lựa chọn: tự tách mình khỏi thế giới số và chấp nhận thiếu thốn vì nguyên tắc, hoặc bị ép vào cùng một chiếc hộp với nhóm người dùng mẫu số chung thấp nhất
    Nếu giả định ban lãnh đạo Google không có ác ý, tôi cũng tự hỏi liệu AI có phải là phát súng kích hoạt cuối cùng hay không. Để tạo hào phòng thủ cho Gemini, họ phải ngăn những bên thu thập dữ liệu truy cập video YouTube, và cách “thật sự” duy nhất để bảo đảm điều đó là gắn DRM. X/Twitter, Reddit, Stack Overflow, v.v. cũng đã có các động thái tương tự vì lý do tương tự. Dù sao thì đây có lẽ cũng là việc họ vốn muốn làm, nên AI có thể là cái cớ hơn là lý do, nhưng chắc chắn không phải là một yếu tố vô nghĩa

    • Tôi ước có một phong trào đối kháng mạnh mẽ hơn trước sự tập trung quyền lực của các nền tảng này
      Chúng ta đang như những con ếch tự đổ thêm nhiên liệu vào cái nồi của chính mình
      Trước đây, DRM từng được xem là xung đột với trình duyệt vì nó không đại diện cho người dùng. Nếu DRM thật sự cần thiết, phía nền tảng phải tự nhồi nhét nó vào bằng một plugin bên ngoài như Silverlight
      Khi Firefox đưa phần mở rộng EME vào, tôi đã xem đó là khởi đầu của hồi kết. Nếu biến DRM thành một công tắc có thể bật lên, nó sẽ trở thành tiêu chuẩn chứ không còn là ngoại lệ. Từ nhiều năm trước đã có cả những đề xuất lố bịch như DRM cho phông chữ. Nếu một công ty khăng khăng đòi DRM, thì công ty đó phải gánh lấy chi phí phát sinh từ việc bắt trình duyệt làm điều mà về nguyên tắc nó không nên hỗ trợ
      Cơn ác mộng mà chúng ta đang lao tới là một thế giới nơi mỗi lần chỉ có thể cache được một lượng video rất nhỏ, và phần cứng chứng thực TPM phải đưa token vào mọi yêu cầu HTTP. Trình duyệt khi đó chỉ còn là một hộp truyền hình cáp bằng phần mềm
      Họ cũng không thích URL, và nếu bạn muốn chia sẻ thứ gì đó, họ sẽ muốn buộc bạn làm theo điều kiện của họ, chẳng hạn tạo URL từ trong ứng dụng kèm hash hết hạn và giới hạn lượt xem. Tất nhiên các influencer có thể vẫn còn đặc quyền chia sẻ không giới hạn
      Trong 10 năm qua, hạ tầng kiểu này đã được âm thầm đặt xuống, và chúng không phải là những bất tiện riêng lẻ mà là những chiếc đinh đóng vào quan tài
    • Mối đe dọa mà ban lãnh đạo hiểu được có lẽ là AI
      Cũng có những client YouTube bên thứ ba khá tốt như GrayJay https://grayjay.app/
      Các ứng dụng kiểu này cho phép theo dõi nhà sáng tạo từ nhiều nền tảng video trong một ứng dụng, điều này bất lợi cho sự phụ thuộc vào YouTube mà Google mong muốn
  • Trong một thời gian, itag 18 và 22, vốn là video MP4 có kèm track âm thanh, đã biến mất, và có vẻ các định dạng chỉ có video như itag 136 và 137 được ưu tiên hơn
    Trong trường hợp này phải dùng ffmpeg để ghép track âm thanh với video. Gần đây có vẻ itag 18 đã quay trở lại

  • Có vẻ YouTube đang chống lại việc tải video xuống
    Khi dùng Tor, mỗi ngày tôi đều nhận được thông báo “hãy đăng nhập để chứng minh bạn không phải bot”, còn không có Tor thì tôi không thể truy cập YouTube. Xem quảng cáo hoặc giải captcha thì cũng được, nhưng YouTube đã chọn cách tệ nhất

    • Gần đây ứng dụng YouTube trên Amazon FireCube bắt đầu hỏi đăng nhập mỗi lần mở
      Không cần xác thực hẳn, nhưng phải chọn hồ sơ
      Chuyện này bắt đầu từ vài tháng trước và tôi không nghĩ nhiều, nhưng giờ nhìn lại thì hành vi này có thể là dấu hiệu báo trước cho đợt thúc đẩy DRM mới
      YouTube mỗi ngày lại cho thêm nhiều lý do để phải tránh hoàn toàn
  • Vừa đúng lúc, ở đây YouTube cũng chào tôi bằng câu “hãy đăng nhập để xác nhận bạn không phải bot nhằm bảo vệ cộng đồng”
    Có nhiều cách để siết dây xích
    Đáng tiếc là sẽ có những người tuyệt đối không tạo tài khoản, và có những người tuyệt đối không dùng bất kỳ hệ thống DRM nào. Chúng ta cần tìm cách truy cập gián tiếp kho tư liệu phong phú đó

  • Tôi muốn được gợi ý các lựa chọn thay thế YouTube để khám phá nhạc lofi hoặc synthwave

  • Tôi thắc mắc người dùng Firefox sẽ ra sao
    DRM mà Firefox hỗ trợ khá dễ bị bẻ khóa, vậy YouTube có ngừng hỗ trợ Firefox không?

    • Hiện tại, có vẻ điều này chỉ xuất hiện ở một API client TV cụ thể mà yt-dlp dùng, chứ chưa áp dụng cho mọi video YouTube
      Trong https://github.com/yuliskov/SmartTube/issues/4444 cũng thấy trên video “chỉ dành cho hội viên”, nhưng cũng không phải mọi video
      Có lẽ họ đang nói đến khác biệt giữa DRM phần mềm và DRM phần cứng, như Widevine L3 và L1, PlayReady SL2000 và SL3000, nhưng đây không hẳn là cục diện Firefox đối đầu Chrome. Được biết Firefox cũng đã từng làm việc về khả năng dùng DRM phần cứng trên Windows, có lẽ thông qua Media Foundation API
      Kịch bản xấu nhất, như thấy ở các dịch vụ như Netflix, là chỉ cung cấp chất lượng thấp cho các trình duyệt chỉ dùng được DRM phần mềm như Firefox, còn chất lượng cao hơn thì mã hóa bằng khóa chỉ có thể lấy được qua DRM phần cứng. Tuy nhiên, không rõ YouTube hiện có đi xa đến mức đó không. Netflix hay Amazon có hợp đồng với chủ sở hữu quyền yêu cầu các biện pháp bảo vệ như vậy, nhưng may là YouTube dường như không có cùng kiểu quan hệ và hợp đồng đó với các “YouTuber”
      Có vẻ điều YouTube muốn hiện nay là giảm mạnh số người xem nội dung mà không thông qua website hoặc ứng dụng, tức là những người không xem quảng cáo. Khả năng cao họ nhắm đến nhóm đông hơn rất nhiều dựa vào các trang YouTube-to-mp3 hoặc những công cụ dễ dùng tương tự, hơn là người dùng yt-dlp
      Chỉ riêng việc bắt buộc DRM phần mềm cũng có thể làm hỏng các công cụ đó, ít nhất là tạm thời, và kéo người dùng quay lại nền tảng. Và nếu cơ chế “vượt qua mã hóa” được đưa vào công cụ, có lẽ họ cũng có thể kiện nhà phát triển, nhưng tôi không phải chuyên gia pháp lý
    • Có thể xem mục đích chính của DRM là kéo hệ thống vào phạm vi DMCA về mặt pháp lý
      Khi đó, rất có khả năng yt-dlp sẽ không còn được host trên GitHub, cũng như không thể được phân phối qua kho apt, pip, Homebrew, v.v.
    • Tôi cho rằng khả năng chuyện đó xảy ra là thấp, nhưng đã có tiền lệ các dịch vụ streaming khác chỉ cung cấp chất lượng thấp cho những client không hỗ trợ DRM hoặc không được họ ưa thích
  • Liên quan đến việc này, TubeArchivist vừa phát hành v0.5, và về chính thức thì chưa ở trạng thái đóng băng tính năng