Chuyển tới nội dung
yt-dlp

Trình tạo lệnh yt-dlp cho YouTube

Tạo đúng câu lệnh yt-dlp cho một video, playlist hoặc kênh YouTube. Mặc định là 1080p MP4 kèm chương, metadata và đã cắt quảng cáo.

Không bắt buộc. Để trống thì câu lệnh kết thúc bằng URL để bạn tự điền.

Câu lệnh của bạn

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --embed-subs --sub-langs en --no-playlist --embed-thumbnail --embed-metadata --embed-chapters --sponsorblock-remove default 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
Cơ bản

Chỉ âm thanh sẽ tách phần tiếng và bỏ luồng video.

Video và chất lượng

Giới hạn chiều cao. yt-dlp vẫn chọn luồng tốt nhất ở mức đó hoặc thấp hơn.

Loại file mà luồng video và âm thanh tách rời được merge vào.

Tuỳ chọn nâng cao (3)

Ghi đè mục chọn chất lượng. Dành cho người đã biết cú pháp format.

Đóng gói lại các luồng mà không encode lại. Nhanh và không mất chất lượng.

Encode lại video. Chậm và giảm chất lượng — chỉ dùng khi remux không được.

Âm thanh

Định dạng mà âm thanh được chuyển sang.

VBR cho tỉ lệ dung lượng trên chất lượng tốt nhất; bitrate cố định thì dễ đoán hơn.

Phụ đề

Nhúng là đặt phụ đề vào trong video; lưu là ghi ra một file .srt riêng bên cạnh.

Cách nhau bằng dấu phẩy. Dùng all để lấy mọi ngôn ngữ có sẵn.

Playlist và kênh

Làm gì khi URL thuộc cả một video lẫn một playlist.

Dùng được cả khoảng và danh sách, ví dụ 1-10,15 hoặc -5::2 để lấy cách một mục tính từ cuối.

Tuỳ chọn nâng cao (1)

Ghi lại những gì đã tải nên chạy lại sẽ bỏ qua chúng. Đây là cách giữ một kênh luôn đồng bộ.

Cắt đoạn và chương
Tuỳ chọn nâng cao (2)

Một khoảng thời gian như *00:01:30-00:03:00, hoặc tên chương. Dấu hoa thị đứng đầu nghĩa là đây là mốc thời gian.

Metadata và ảnh bìa
Tuỳ chọn nâng cao (3)
SponsorBlock

Cắt hẳn các đoạn do cộng đồng đánh dấu ra khỏi file, dựa trên dữ liệu SponsorBlock.

Tuỳ chọn nâng cao (1)

Giữ lại các đoạn nhưng đánh dấu chúng để bạn tự bỏ qua.

Tệp và thư mục

Tên trường đặt trong %(...)s. Dấu gạch chéo sẽ tạo thư mục.

Tuỳ chọn nâng cao (4)

Nơi ghi file. Kết hợp với mẫu tên file ở trên để tạo thư mục con.

Độ dài tên file tối đa, tính theo ký tự.

Bộ lọc
Tuỳ chọn nâng cao (5)

Dạng YYYYMMDD, hoặc ngày tương đối như now-1month.

Dạng YYYYMMDD, hoặc ngày tương đối.

Bỏ qua file nhỏ hơn mức này. Nhận dạng 5M, 500K và tương tự.

Bỏ qua file lớn hơn mức này.

Số file cần tải trước khi dừng lại.

Mạng

Ví dụ 2M hoặc 500K. Hữu ích khi bạn cần để dành băng thông cho việc khác.

Tuỳ chọn nâng cao (5)

Tăng tốc các luồng chia fragment. Bắt đầu với 4 là hợp lý.

Thử lại bao nhiêu lần khi một phần bị lỗi. Dùng được cả infinite.

URL proxy dạng HTTP, HTTPS hoặc SOCKS.

Làm request giống một trình duyệt thật. Đây là cách sửa thường dùng khi đột nhiên bị lỗi 403.

Đăng nhập và cookies

Đọc trực tiếp phiên đăng nhập của bạn. Cần cho nội dung riêng tư, giới hạn tuổi hoặc chỉ dành cho thành viên.

Tuỳ chọn nâng cao (1)

Một file cookies.txt định dạng Netscape xuất ra từ trình duyệt của bạn.

Phát trực tiếp
Tuỳ chọn nâng cao (2)

Kiểm tra liên tục cho tới khi buổi phát đã hẹn bắt đầu. MIN-MAX là số giây giữa các lần kiểm tra.

Xử lý lỗi
Tuỳ chọn nâng cao (3)

Đã lỗi thời, thay bằng --add-headers. Vẫn giữ vì rất nhiều hướng dẫn cũ còn dùng nó.

Đã lỗi thời, thay bằng --add-headers.

Các tuỳ chọn riêng theo từng trang, ví dụ youtube:player_client=web.

Kết quả và gỡ lỗi
Tuỳ chọn nâng cao (2)
Đặt lại

YouTube khác gì so với các trang khác

Từ trên 720p, YouTube phát video và âm thanh thành hai luồng riêng. Vì vậy mọi câu lệnh muốn 1080p hay 4K đều phải tải cả hai rồi merge lại, và đó là lý do ffmpeg là điều kiện bắt buộc ở mức trên 720p nhưng không cần ở mức dưới. Preset ở đây đã làm sẵn việc đó.

Điều thứ hai đáng biết về YouTube là phần kiểm tra bot. Khi nó xuất hiện, giả dạng trình duyệt xử lý được nhiều trường hợp nhất, và đưa cookies của bạn vào thì giải quyết phần còn lại — video giới hạn tuổi, chỉ dành cho thành viên và riêng tư đều cần một phiên đăng nhập.

Câu hỏi thường gặp

Tải YouTube ở 1080p hay 4K thế nào?
Trên 720p, YouTube phát video và âm thanh thành hai luồng riêng, nên câu lệnh phải yêu cầu cả hai rồi merge lại — việc này cần ffmpeg. Hãy chọn độ phân giải ở trên và trình tạo lệnh sẽ viết sẵn format selector cùng container để merge.
YouTube yêu cầu tôi xác nhận không phải bot.
Hãy thêm --impersonate chrome, hoặc --cookies-from-browser chrome để dùng lại phiên đăng nhập của bạn. Đóng trình duyệt trước đã — Chrome khoá cơ sở dữ liệu cookies khi đang chạy.
Làm sao chỉ lấy âm thanh dạng MP3?
Chuyển kết quả sang Chỉ âm thanh và chọn MP3. Thêm ảnh bìa và metadata thì file về là dùng được ngay trong thư viện nhạc. Cần có ffmpeg.
Tải cả một playlist thế nào?
Đặt xử lý playlist thành toàn bộ playlist. Với playlist dài, hãy thêm file lưu lịch sử để chạy lại là tải tiếp chứ không làm lại từ đầu, và bật gặp-lỗi-vẫn-chạy-tiếp để một video bị chặn không làm dừng phần còn lại.
Tải phụ đề YouTube được không?
Được — nhúng vào video hoặc lưu thành file .srt riêng. Nên bật cả phụ đề tự động, vì video không có phụ đề do người viết sẽ không cho ra file nào cả.