Nếu bạn dùng Linux và muốn giữ một video được phép tải thành tệp riêng, yt-dlp là lựa chọn gọn hơn nhiều so với việc mở các trang tải xuống đầy quảng cáo. Công cụ này chạy trong Terminal, nhận liên kết video và cho phép bạn chọn định dạng, độ phân giải, âm thanh hoặc cả danh sách phát. Bài hướng dẫn dưới đây tập trung vào nội dung bạn sở hữu, nội dung được phát hành theo giấy phép cho phép tải lại, hoặc video mà chủ sở hữu đã đồng ý cho bạn lưu.
Mình sẽ đi từ cài đặt đến lệnh tải cơ bản, sau đó xử lý các nhu cầu hay gặp như xem danh sách định dạng, lấy âm thanh, tải playlist và đặt tên file. Nếu bạn chỉ cần tải nhanh trên điện thoại, hãy xem hướng dẫn lưu video YouTube phù hợp với thiết bị của mình; còn phần dưới dành cho máy Linux có Terminal.
yt-dlp là gì và vì sao hợp với Linux?
yt-dlp là một công cụ mã nguồn mở chạy bằng dòng lệnh. Nó được phát triển từ youtube-dl và có thể làm việc với YouTube cùng nhiều dịch vụ video khác. Điểm đáng chú ý là bạn không bị giới hạn ở một nút “Tải xuống” cố định: lệnh có thể yêu cầu định dạng cụ thể, chọn riêng luồng hình hoặc tiếng, lấy phụ đề và giữ thông tin mô tả tùy theo trang hỗ trợ.
Cách tải ngoại tuyến bên trong ứng dụng YouTube có một giới hạn: video thường chỉ xem lại được trong chính ứng dụng đó. Với yt-dlp, đầu ra là file nằm trong thư mục máy tính, nên bạn có thể sao lưu, đổi tên hoặc phát bằng trình phát khác. Đổi lại, Terminal không thân thiện với người mới bằng giao diện nút bấm. Bạn cần cẩn thận khi dán lệnh, kiểm tra thư mục hiện tại và đọc thông báo lỗi thay vì chạy lại vô thức.
Một lưu ý bảo mật cũng đáng nói: tiện ích trình duyệt có thể có quyền đọc dữ liệu trên nhiều trang bạn đang mở. Một công cụ dòng lệnh cài từ nguồn đáng tin cậy giúp thu hẹp bề mặt rủi ro, nhưng bạn vẫn nên tải bản phát hành chính thức và cập nhật đều. Hướng dẫn nguồn của bài này cũng mô tả yt-dlp như một công cụ có nhiều tùy chọn cho loại file và độ phân giải. Nguồn tham khảo về yt-dlp trên Linux.
Cài yt-dlp trên Linux
Cách phổ biến là tải tệp nhị phân rồi đặt vào một thư mục có trong PATH. Mở Terminal và chạy:
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
Lệnh đầu tiên tải bản phát hành mới nhất vào /usr/local/bin/yt-dlp. Lệnh thứ hai cấp quyền thực thi cho tệp. Khi hệ thống hỏi mật khẩu, hãy nhập mật khẩu tài khoản có quyền sudo; ký tự sẽ không hiện trên màn hình, đó là bình thường.
Kiểm tra cài đặt bằng:
yt-dlp --version
Nếu Terminal trả về số phiên bản, công cụ đã sẵn sàng. Nếu báo “command not found”, hãy kiểm tra tệp có tồn tại không bằng ls -l /usr/local/bin/yt-dlp. Trường hợp máy của bạn chặn ghi vào thư mục này, có thể dùng thư mục cá nhân như ~/.local/bin, rồi thêm thư mục đó vào PATH theo tài liệu của bản phân phối Linux đang dùng.
Tải một video bằng lệnh cơ bản
Mở video cần lưu, sao chép URL trên thanh địa chỉ, rồi chạy:
yt-dlp 'URL_VIDEO'
Thay URL_VIDEO bằng liên kết thật. Ví dụ minh họa:
yt-dlp 'https://www.youtube.com/watch?v=ma-vi-du'
Đừng hiểu chuỗi trên là một video có thật để tải; đây chỉ là mẫu cú pháp. yt-dlp sẽ lưu file vào thư mục hiện tại của Terminal. Bạn có thể biết thư mục đó bằng lệnh pwd, sau đó xem file mới bằng ls -lh. Nếu muốn tải vào thư mục riêng, chuyển đến đó trước:
mkdir -p ~/Video/YouTube
cd ~/Video/YouTube
yt-dlp 'URL_VIDEO'
Với một video dài, tốc độ và kích thước file phụ thuộc vào định dạng mà máy chủ cung cấp. Đừng vội kết luận tải lỗi chỉ vì Terminal đứng vài giây ở bước ghép luồng. Một số mức chất lượng cao có hình và tiếng tách riêng, công cụ cần xử lý cả hai trước khi tạo file hoàn chỉnh.
Chọn chất lượng, định dạng và chỉ lấy âm thanh
Muốn xem các lựa chọn mà video đang có, dùng:
yt-dlp --list-formats 'URL_VIDEO'
Kết quả thường có mã định dạng, độ phân giải, kích thước gần đúng và codec. Không phải video nào cũng có 4K; độ phân giải phụ thuộc vào bản gốc mà người đăng đã đưa lên. Vì vậy, nếu danh sách chỉ có 720p thì thêm chữ “4K” vào lệnh cũng không tạo ra chi tiết mới.
Sau khi chọn được mã, dùng tùy chọn -f. Chẳng hạn, nguồn tham khảo minh họa việc chọn một mã âm thanh cụ thể bằng lệnh dạng yt-dlp -f 140 'URL_VIDEO'. Mã 140 chỉ là ví dụ cho một video và có thể không còn tồn tại ở video khác, nên hãy chạy --list-formats trước.
Nếu muốn lấy video tốt nhất kèm âm thanh tốt nhất rồi ghép thành một file, có thể dùng:
yt-dlp -f 'bv*+ba' -o '%(id)s.%(ext)s' 'URL_VIDEO'
Trong đó bv* đại diện cho luồng video tốt nhất có thể chọn, còn ba là âm thanh tốt nhất. Mẫu tên %(id)s.%(ext)s dùng mã video làm tên file, giúp giảm lỗi do tiêu đề có ký tự đặc biệt. Nếu bạn thích tên dễ đọc, dùng -o '%(title)s.%(ext)s', nhưng nên nhớ tiêu đề có thể rất dài hoặc chứa ký tự mà hệ thống file xử lý không giống nhau.
Để tạo MP3 từ nguồn âm thanh, bạn cần bộ công cụ chuyển đổi phù hợp như ffmpeg. Cú pháp mẫu:
yt-dlp --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output '%(title)s.%(ext)s' 'URL_VIDEO'
Tham số --extract-audio yêu cầu tách âm thanh, --audio-format mp3 chọn MP3 và --audio-quality 160K đặt mức bitrate mục tiêu. Việc đổi sang MP3 có thể làm giảm chất lượng so với giữ nguyên luồng âm thanh gốc. Nếu thiết bị của bạn phát được M4A hoặc Opus, giữ định dạng gốc thường hợp lý hơn.
Tải playlist và đặt quy tắc lưu file
Với playlist mà bạn có quyền lưu, chỉ cần dùng URL playlist thay cho URL một video. Muốn lấy toàn bộ dưới dạng MP3, thêm --yes-playlist vào lệnh:
yt-dlp --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output '%(playlist_index)s - %(title)s.%(ext)s' --yes-playlist 'URL_PLAYLIST'
Phần %(playlist_index)s thêm số thứ tự vào đầu tên file. Ví dụ, video đầu tiên có thể bắt đầu bằng “01”, video thứ hai bằng “02”, nhờ vậy trình quản lý file sắp xếp đúng thứ tự. Nếu playlist rất dài, hãy thử với một video hoặc một phạm vi nhỏ trước để kiểm tra chất lượng và dung lượng.
Bạn cũng có thể giữ file trong cấu trúc thư mục theo kênh và playlist:
yt-dlp -o '~/Video/%(uploader)s/%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s' 'URL_PLAYLIST'
Đường dẫn mẫu này có thể cần điều chỉnh nếu tên kênh hoặc playlist chứa ký tự đặc biệt. Sau khi tải xong, nên kiểm tra vài file đầu và cuối, mở thử cả hình lẫn tiếng, rồi mới xóa thư mục tạm. Nếu bạn đang xây kho lưu trữ lâu dài, hãy giữ URL nguồn và ngày tải trong một tệp ghi chú; video trên mạng có thể bị sửa hoặc gỡ sau đó.
Lỗi thường gặp và giới hạn cần nhớ
Nếu URL không được nhận, hãy mở lại trang trong trình duyệt, sao chép toàn bộ địa chỉ và đặt nó trong dấu nháy đơn. Nếu tải giữa chừng bị dừng, kiểm tra mạng, dung lượng đĩa và quyền ghi của thư mục. Lỗi do nền tảng thay đổi thường được xử lý bằng cách cập nhật yt-dlp lên bản mới.
Không nên dùng công cụ để vượt qua DRM, truy cập nội dung riêng tư hoặc né giới hạn khu vực trái với điều khoản dịch vụ. Với video có giấy phép Creative Commons, hãy đọc đúng điều kiện của giấy phép: có loại yêu cầu ghi công, có loại hạn chế dùng thương mại hoặc không cho phép tạo tác phẩm phái sinh. Video thuộc phạm vi công cộng cũng cần được xác nhận theo nơi bạn sử dụng, vì quy định bản quyền có thể khác giữa các quốc gia.
FAQ
yt-dlp có tải được mọi video YouTube không?
Không. Khả năng tải phụ thuộc vào trạng thái video, đăng nhập, giới hạn của nền tảng, DRM và việc yt-dlp còn hỗ trợ trang đó hay không. Video riêng tư hoặc bị bảo vệ không nên tìm cách vượt qua.
Tại sao file tải về không có tiếng?
Bạn có thể đã chọn luồng video-only. Hãy chạy --list-formats, hoặc dùng mẫu -f 'bv*+ba' để lấy hình và tiếng rồi ghép lại. Nếu vẫn lỗi, kiểm tra ffmpeg đã cài và file đầu ra bằng trình phát khác.
Có nên chọn MP3 thay vì âm thanh gốc?
Chỉ chọn MP3 khi thiết bị hoặc phần mềm đích bắt buộc định dạng này. Nếu không, giữ M4A hoặc định dạng gốc sẽ tránh thêm một lần nén mất dữ liệu.
Kết luận
yt-dlp phù hợp khi bạn muốn kiểm soát việc lưu video trên Linux: biết file nằm ở đâu, chọn chất lượng nào và tự đặt quy tắc tên file. Hãy bắt đầu bằng một video được phép tải, kiểm tra --list-formats trước khi chọn chất lượng, rồi mới mở rộng sang playlist. Nếu bạn gặp lỗi với link từ nền tảng khác, có thể xem thêm hướng dẫn lưu video TikTok hoặc tải video Facebook để chọn cách phù hợp hơn. Trước khi chia sẻ lại bất kỳ file nào, kiểm tra quyền sử dụng và giữ thông tin ghi công theo yêu cầu.
