6 điểm bởi GN⁺ 2023-08-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết về cách vượt qua giới hạn tốc độ tải xuống video của YouTube
  • YouTube tạo doanh thu từ lượt xem quảng cáo và áp dụng các biện pháp hạn chế để ngăn việc xem hoặc tải video bằng các ứng dụng khách không chính thức
  • Bước đầu tiên để vượt qua giới hạn tốc độ là giao tiếp với API của YouTube để tìm URL thực chứa tệp video
  • YouTube sử dụng một tham số cụ thể là n trong hầu hết URL tệp, và tham số này phải được преобразовать bằng thuật toán JavaScript nằm trong tệp base.js. Tham số này đóng vai trò như một thử thách để xác minh xem việc tải xuống có được bắt đầu từ ứng dụng khách "chính thức" hay không
  • Thuật toán JavaScript bị làm rối và thay đổi thường xuyên, nên việc cố gắng đảo ngược để hiểu nó là không thực tế. Giải pháp là tải tệp JavaScript về, trích xuất mã thuật toán, rồi thực thi nó bằng cách truyền tham số n
  • YouTube vẫn áp dụng các quy tắc giới hạn tốc độ tải xuống biến thiên dựa trên kích thước và độ dài của video. Để vượt qua giới hạn này, có thể chia việc tải xuống thành nhiều phần nhỏ bằng cách dùng header HTTP Range
  • YouTube phân phối kênh video và âm thanh thành hai tệp riêng biệt. Bước cuối cùng là kết hợp hai kênh này thành một tệp, có thể thực hiện bằng ffmpeg
  • Hiện nay nhiều dự án sử dụng các kỹ thuật này để vượt qua những hạn chế được thiết lập nhằm ngăn tải xuống video YouTube. Phổ biến nhất là yt-dlp được lập trình bằng Python (một nhánh fork của youtube-dl), nhưng nó có kèm một trình thông dịch JavaScript tùy chỉnh riêng để biến đổi tham số n
  • Bài viết giải thích quy trình và cung cấp các đoạn mã mẫu, giúp các kỹ sư phần mềm mới vào nghề cũng có thể tiếp cận

1 bình luận

 
GN⁺ 2023-08-15
Ý kiến trên Hacker News
  • Bài viết về cách vượt qua giới hạn tải xuống video của YouTube: dùng header HTTP Range để chia lượt tải thành các phần nhỏ
  • Header HTTP Range: cho phép chỉ định phần nào của tệp cần tải xuống trong mỗi yêu cầu
  • Một số người dùng: có thể vượt qua giới hạn và khôi phục tốc độ truyền bằng cách thêm tham số truy vấn phạm vi
  • Có báo cáo cho thấy YouTube đã gỡ giới hạn: một số người dùng vẫn đang gặp vấn đề bị giới hạn
  • Những thay đổi nhỏ của YouTube: gây ra vấn đề cho các công cụ cần tải tệp MP4 từ nền tảng
  • Một số người dùng nhận thấy khác biệt về chất lượng video: điều này cho thấy YouTube có thể áp dụng một bộ lọc tinh vi để làm mượt các hiện tượng nhiễu nén
  • Phân phối video của YouTube: được khen vì độ mượt ngay cả ở những khu vực có kết nối Internet kém
  • Thảo luận về hàm ý đạo đức của việc vượt qua giới hạn của YouTube: một số người cho rằng việc tối ưu tốc độ trình duyệt thông thường là hợp lý, trong khi số khác cảm thấy như vậy là không công bằng vì dùng nhiều tài nguyên hơn của YouTube
  • yt-dlp được nhắc đến trong bài: một nhánh fork viết bằng Python của youtube-dl, bao gồm trình thông dịch JavaScript tùy chỉnh để chuyển đổi tham số