Hướng dẫn download phim từ các trang stream list file .ts

HLS là gì?

HLS là một giao thức truyền phát dựa trên HTTP.

HLS hoạt động bằng cách chia nhỏ một luồng thành một chuỗi các gói nhỏ. Khi luồng được phát, máy khách sẽ chọn một số luồng thay thế khác nhau chứa cùng thông tin được mã hóa với nhiều tốc độ dữ liệu khác nhau. Nó cho phép các phiên phát trực tuyến để lấy dữ liệu từ các tốc độ dữ liệu khác nhau.

Khi bắt đầu phiên phát trực tuyến, HLS tải xuống một tệp có phần mở rộng M3U (và m3u8 nếu sử dụng định dạng mã hóa ký tự mã hóa UTF-8). Nó chứa vị trí cụ thể của một hoặc nhiều tệp phương tiện. Nó thường được sử dụng để trỏ người chơi phương tiện truyền thông đến các nguồn âm thanh và video.

Tệp M3U là tệp văn bản thuần chỉ định vị trí của một hoặc nhiều tệp phương tiện.

HLS sử dụng các giao dịch cơ sở HTTP qua TCP, không giống như giao dịch giao thức RTP qua UDP.

Truyền phát trực tiếp HTTP sử dụng máy chủ web (giao thức mạng để phân phối thông tin trên web trên toàn thế giới) để phân phối nội dung phát trực tuyến. Chức năng chính của máy chủ web là lưu trữ, xử lý và phân phối các trang web hoặc máy khách.

Máy chủ mã hóa và đóng gói các video đầu vào thành định dạng phù hợp để phân phối. Video sau đó được chuẩn bị để phân phối bằng cách phân đoạn chúng thành các tệp khác nhau. Do đó, video được chuyển thành các tệp bị phân mảnh và được lập chỉ mục.

Dữ liệu âm thanh / video được gói gọn và tạo thành gói PES (luồng sơ cấp được đóng gói (dữ liệu video.audio thực tế), sau đó được liên kết với gói TS.) Sau này được gắn với luồng truyền tải MPEG.

Đừng nhầm lẫn MJPEG với MOEG2TS. MJPEG là một codec có thông tin video vàMOEG2TS là một thùng chứa cho phép truyền dữ liệu luồng.

Thường thường chúng ta sẽ down file m3u trước, vì trong file này có danh sách các file .ts, và và key của AES-128 (hoặc đường dẫn tới key)

.m3u8 : chứa list các file ts sẽ được stream
.ts : là một phần của video đã mã hóa

Các bước thực hiện

Bước 1: tìm gói tin get tới file m3u8, thường là đường dẫn .m3u/.m3u8 hoặc đường dẫn bất kỳ, content-Type thường là application/vnd.apple.mpegurl. Trong gói tin này sẽ có đường dẫn tới key decrypt file và các đường link tới file .ts, chính là các file video được cắt ra và bị mã hóa.

Bước 2: Sử dụng câu lệnh sau để decode

openssl enc -d -aes-128-cbc -in ${input} -out ${output} -K ${key_hex} -iv ${iv} -nosalt

Bước 3: Sau khi decrypt các file và ghép chúng lại, ta được clip hoàn chỉnh.

Chúc các bẹn may mắn!

P/S: cho nhanh có thể dùng extension của chrome là https://chrome.google.com/webstore/detail/hls-downloader/hkbifmjmkohpemgdkknlbgmnpocooogp

Published by Nhat Truong

Hi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: