Tải cơ bản
Khi không thêm tùy chọn nào, yt-dlp chọn tổ hợp tốt nhất mà nó ghép được và đặt tên tệp theo tiêu đề. Đáng ngạc nhiên là rất thường xuyên, đây chính là lệnh đúng.
yt-dlp URL
Trước khi tải thứ gì đó lớn, nên xem thực sự có sẵn những gì. Lệnh này in ra bảng định dạng rồi thoát mà không tải gì cả.
yt-dlp -F URL
Cột bên trái của bảng đó là id định dạng, và sau đó bạn có thể yêu cầu trực tiếp. Hai id nối bằng + nghĩa là "tải cả hai rồi ghép lại".
yt-dlp -f 137+140 URL
Chất lượng và cách chọn định dạng
Các id định dạng viết cứng sẽ hỏng ngay khi một trang đổi bậc mã hóa của họ. Biểu thức bộ chọn mới là bản bền: nêu các thuộc tính bạn muốn rồi để yt-dlp tự tìm thứ khớp nhất.
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" URL
Đọc nó thế này: luồng video tốt nhất cao không quá 1080 cộng với âm thanh tốt nhất, và nếu cặp đó không tồn tại thì lấy tệp đơn tốt nhất cao không quá 1080. Chính phương án dự phòng sau dấu gạch chéo là thứ giữ cho lệnh không hỏng trên những trang chỉ đăng luồng progressive.
Ghép hai luồng lại thì yt-dlp phải chọn một container. MP4 phát được ở mọi nơi; MKV chứa được mọi thứ bạn ném vào, và điều đó quan trọng khi phụ đề với chương bắt đầu tham gia.
yt-dlp -f "bv*+ba" --merge-output-format mp4 URL
Để nêu một ưu tiên thay vì một giới hạn cứng, hãy sắp xếp thay vì lọc. Cách này ưu tiên 1080p và MP4 nhưng vẫn tải được thứ gì đó khi không có cả hai.
yt-dlp -S "res:1080,ext:mp4" URL
Âm thanh và MP3
Tách âm thanh cần ffmpeg — đây là lý do phổ biến nhất khiến lệnh bên dưới thất bại trên một máy vừa cài xong.
yt-dlp -x --audio-format mp3 URL
Thêm ảnh bìa và thẻ chỉ tốn thêm hai flag, và biến kết quả thành thứ dùng được trong thư viện nhạc thay vì một thư mục toàn tệp vô danh.
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata URL
--audio-quality 0 nghĩa là bitrate biến thiên ở mức tốt nhất, không phải "chất lượng bằng không". Nếu bạn cần bitrate cố định thì ghi rõ ra: --audio-quality 320K.
Khi nguồn đã là AAC hoặc Opus, chuyển sang MP3 tức là mã hóa lại và mất chất lượng một cách vô ích. Giữ nguyên bản gốc vừa nhanh hơn vừa tốt hơn.
yt-dlp -x --audio-format best URL
Phụ đề
Phụ đề nhúng đi theo tệp; tệp .srt riêng thì dễ sửa và dễ đưa sang công cụ khác hơn.
yt-dlp --embed-subs --sub-langs en URL yt-dlp --write-subs --sub-langs en,vi --convert-subs srt URL
Phụ đề do máy tạo là một công tắc riêng. Không có nó, một video không có phụ đề do người làm sẽ chẳng cho ra gì cả, và cũng không báo lỗi.
yt-dlp --write-auto-subs --sub-langs en --convert-subs srt --skip-download URL
Danh sách phát và kênh
Một URL YouTube thường thuộc về cả một video lẫn một danh sách phát, và yt-dlp phải đoán bạn muốn cái nào. Hãy nói rõ ra.
yt-dlp --no-playlist URL yt-dlp --yes-playlist URL
Với bất cứ thứ gì dài, tệp lưu trữ quan trọng hơn mọi tùy chọn khác ở đây: nó ghi lại những gì đã tải, nên chạy lại sẽ tiếp tục từ chỗ dừng thay vì bắt đầu lại từ đầu.
yt-dlp --yes-playlist -i \ --download-archive archive.txt \ -o "%(playlist_index)02d - %(title)s.%(ext)s" \ URL
Kết hợp với -i, một video bị khóa vùng hay đã xóa sẽ không còn làm hỏng hai trăm video còn lại. Để lấy một phần thay vì tất cả, -I nhận khoảng và danh sách: -I 1:10, -I "1,3,7-10".
Đoạn cắt, chương và phần tài trợ
Bạn có thể tải một phần video thay vì cả video. Dấu sao ở đầu đánh dấu đây là mốc thời gian chứ không phải tên chương, và dấu nháy là bắt buộc — bash sẽ khai triển một dấu * trần theo tên tệp của bạn.
yt-dlp --download-sections "*00:01:30-00:03:00" URL
SponsorBlock dùng các mốc do cộng đồng gửi lên để cắt hẳn từng đoạn ra, hoặc để lại chúng dưới dạng chương mà bạn tự bỏ qua.
yt-dlp --sponsorblock-remove default URL yt-dlp --sponsorblock-mark all --embed-chapters URL
Tên tệp và thư mục
Mẫu đầu ra kiểm soát cả hai. Một dấu gạch chéo sẽ tạo thư mục, nên một mẫu duy nhất có thể sắp xếp cả một kho lưu trữ.
yt-dlp -o "%(uploader)s/%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s" URL
Tiêu đề thường xuyên chứa ký tự mà một số hệ thống tệp từ chối. --restrict-filenames rút gọn mọi thứ về ASCII thuần, và điều đó đáng làm với bất cứ thứ gì sẽ được chuyển qua lại giữa các máy.
Trong tệp .bat của Windows, mọi dấu % phải được nhân đôi — %%(title)s — nếu không trình thông dịch batch sẽ nuốt mất mẫu trước khi yt-dlp kịp nhìn thấy. Bộ sinh lệnh làm sẵn việc này cho bạn khi bạn tải tệp .bat.
Những lỗi bạn thực sự sẽ gặp
ffmpeg not found
Mọi thứ liên quan tới ghép, chuyển đổi, nhúng hay cắt đều cần có ffmpeg trong PATH. Cài nó vào rồi xác nhận bằng ffmpeg -version.
Sign in to confirm you are not a bot
Thử --impersonate chrome trước, rồi tới --cookies-from-browser. Nếu cả hai đều không được thì cập nhật yt-dlp — riêng kiểu kiểm tra này thay đổi rất thường xuyên và bản vá thường về trong một phiên bản chỉ sau vài ngày.
Unable to extract player response
Gần như luôn là do yt-dlp đã cũ. Hãy cập nhật nó trước khi đổi bất cứ thứ gì khác: yt-dlp -U, hoặc dùng trình quản lý gói nếu bạn cài theo cách đó.
Requested format is not available
Bộ chọn của bạn không khớp với thứ gì cả. Chạy -F để xem có những gì, và nên dùng sắp xếp (-S) thay vì bộ lọc cứng để luôn còn phương án dự phòng.
HTTP Error 403
URL đó được ký cho một phiên hoặc một vùng khác. Hãy chạy lại với cookie mới, thêm --impersonate chrome, hoặc thử --geo-bypass.
Giữ yt-dlp luôn mới
Số lỗi được báo cáo mà việc cập nhật giải quyết được còn nhiều hơn bất kỳ flag nào. Nếu bạn cài bản thực thi độc lập:
yt-dlp -U
Nếu cài qua trình quản lý gói thì cập nhật đúng theo cách bạn đã cài — -U sẽ từ chối, và nó từ chối là đúng.