Cách tải video phát trực tuyến HLS

Hướng dẫn đầy đủ để lưu các luồng HLS (.m3u8) dưới dạng tệp MP4 trực tiếp trong trình duyệt của bạn — không cần dòng lệnh.

HLS là gì?

HLS viết tắt của HTTP Live Streaming. Đây là một giao thức truyền tải video được phát triển bởi Apple và hiện được sử dụng bởi phần lớn các nền tảng phát trực tuyến trên toàn thế giới. Thay vì gửi một tệp video lớn, HLS chia nhỏ video thành các phân đoạn nhỏ (thường từ 2–10 giây mỗi phân đoạn) và truyền tải chúng một cách tuần tự. Một tệp danh sách phát (playlist) có phần mở rộng .m3u8 đóng vai trò như một mục lục, cho trình phát biết nơi tìm thấy từng phân đoạn.

Cách tiếp cận này có một số lợi thế cho các dịch vụ phát trực tuyến: nó tự động điều chỉnh chất lượng video theo tốc độ internet của bạn trong thời gian thực, bắt đầu phát lại gần như ngay lập tức và khó tải xuống hơn so với một liên kết MP4 thông thường. Tuy nhiên, getvy Video Downloader được thiết kế đặc biệt để xử lý các luồng HLS.

Cách getvy tải xuống video HLS

Khi bạn truy cập một trang phát video HLS, trình duyệt của bạn sẽ thực hiện các yêu cầu mạng để lấy danh sách phát .m3u8 và các phân đoạn của nó. getvy theo dõi các yêu cầu này trong nền và tự động ghi lại URL của danh sách phát. Khi bạn bắt đầu tải xuống, nó sẽ:

1
Đọc danh sách phát
Lấy tệp .m3u8 và phân tích danh sách tất cả các URL phân đoạn, bao gồm bất kỳ biến thể chất lượng nào từ danh sách phát chính (master playlist).
2
Tải xuống các phân đoạn song song
Tải xuống đồng thời tối đa 6 phân đoạn .ts, giúp tốc độ nhanh hơn tới 6 lần so với tải xuống từng phân đoạn một.
3
Chuyển đổi sang MP4 trong trình duyệt của bạn
Sử dụng ffmpeg.wasm — một cổng WebAssembly của ffmpeg — để ghép nối tất cả các phân đoạn .ts thành một tệp .mp4 duy nhất hoàn toàn bên trong trình duyệt của bạn. Không có gì được gửi lên máy chủ.

Từng bước: Tải xuống video HLS

  1. Cài đặt getvy Video Downloader từ Chrome Web Store và ghim nó vào thanh công cụ của bạn.
  2. Điều hướng đến trang chứa video bạn muốn tải xuống và nhấn Play để video bắt đầu tải.
  3. Nhìn vào biểu tượng getvy trên thanh công cụ của bạn — nó sẽ hiển thị một huy hiệu số cho biết có bao nhiêu nguồn video đã được phát hiện.
  4. Nhấp vào biểu tượng getvy để mở cửa sổ bật lên. Bạn sẽ thấy danh sách các URL video được phát hiện. Các luồng HLS được gắn nhãn HLS và hiển thị địa chỉ .m3u8.
  5. Nhấp vào nút tải xuống bên cạnh luồng bạn muốn. Một tab mới sẽ mở ra hiển thị tiến trình tải xuống và chuyển đổi.
  6. Chờ chuyển đổi hoàn tất (việc này có thể mất một phút đối với các video dài). Tệp MP4 hoàn thành sẽ tự động được lưu vào thư mục tải xuống mặc định của trình duyệt của bạn.

Lựa chọn chất lượng

Nhiều luồng HLS sử dụng danh sách phát chính (master playlist) liệt kê nhiều mức chất lượng khác nhau (ví dụ: 1080p, 720p, 480p). getvy tự động chọn chất lượng cao nhất hiện có để tải xuống. Nếu luồng sử dụng danh sách phát có chất lượng duy nhất, chất lượng đó sẽ được sử dụng trực tiếp.

Khắc phục các sự cố HLS thường gặp

Biểu tượng tiện ích mở rộng không hiển thị huy hiệu số
Tiện ích mở rộng chỉ phát hiện các yêu cầu được thực hiện sau khi nó được cài đặt và trang đã tải xong. Hãy tải lại trang và nhấn Play một lần nữa. Ngoài ra, hãy đảm bảo video thực sự đã bắt đầu tải bộ đệm (buffering), chứ không chỉ hiển thị hình thu nhỏ.
Quá trình tải xuống dừng lại giữa chừng
Mạng không ổn định hoặc giới hạn tốc độ của máy chủ có thể làm gián đoạn quá trình tải xuống phân đoạn. Hãy giữ tab tải xuống ở chế độ hiển thị (foreground) và thử lại. Đối với các video rất dài, tùy chọn lệnh ffmpeg (sao chép vào khay nhớ tạm) và chạy nó cục bộ sẽ đáng tin cậy hơn so với việc chuyển đổi trong trình duyệt.
Quá trình chuyển đổi diễn ra chậm
ffmpeg.wasm chạy trên CPU của bạn bên trong trình duyệt. Tốc độ thay đổi tùy theo thiết bị. Một máy tính xách tay hiện đại thường chuyển đổi một video dài một giờ trong vòng 2–5 phút. Để chuyển đổi nhanh hơn, hãy sao chép lệnh ffmpeg và chạy nó trực tiếp trong terminal.
Cài đặt getvy — Miễn phí