Một video đáng giữ thường không chỉ có mỗi tệp MP4. Nếu bạn lưu một kênh để xem khi mạng chập chờn, làm tư liệu cá nhân hoặc tìm lại nội dung sau này, phần phụ đề, mô tả, chương và ngày đăng cũng quan trọng không kém hình ảnh. Tải xong rồi để tất cả nằm trong thư mục Downloads là cách nhanh nhất để vài tháng sau không còn biết file nào là file nào.
Mình tham khảo một quy trình lưu trữ bằng yt-dlp được chia sẻ cho việc lưu cả kênh, rồi rút gọn lại cho nhu cầu cá nhân. Quy trình này phù hợp với video công khai mà bạn có quyền lưu; nó không phải cách vượt DRM, khóa riêng tư hay điều kiện sử dụng của nền tảng.
Lưu video cùng phần thông tin đi kèm
Với một video riêng lẻ, trước hết bạn nên xác định mình cần gì: chỉ hình ảnh, cả âm thanh, phụ đề, hay một bản lưu có thể tìm kiếm về sau. Một quy trình lưu trữ kênh đề xuất ưu tiên luồng hình và tiếng tốt nhất rồi ghép lại, đưa vào container MKV, nhúng chương, metadata và thumbnail, đồng thời ghi phụ đề cùng bản mô tả riêng theo hướng dẫn lưu trữ được chia sẻ.[1]
Không cần bê nguyên một lệnh dài nếu bạn chỉ lưu vài video. Hãy hiểu vai trò của từng phần:
bestvideo+bestaudio/bestưu tiên lấy hình và tiếng tốt nhất ở hai luồng riêng, sau đó ghép lại; nếu không có thì dùng một luồng đơn.--merge-output-format mkvchọn MKV làm vỏ chứa. MKV tiện khi cần giữ nhiều luồng, chương và phụ đề, nhưng không làm video tự nhiên nét hơn.--embed-chaptersđưa các mốc chương vào file để trình phát nhảy nhanh đến từng phần.--embed-metadatagiữ tiêu đề, ngày đăng và mã video trong file.--write-descriptiontạo thêm tệp mô tả, hữu ích khi bạn muốn tìm kiếm toàn văn mà không mở video.--download-archiveghi lại các video đã tải. Lần chạy sau sẽ bỏ qua những mục đã có.
Ví dụ, bạn lưu một playlist 12 video. Nếu lần đầu tải đủ 12 video, tệp nhật ký sẽ ghi 12 mã video. Khi playlist có thêm 2 video mới, lần chạy sau chỉ xử lý 2 mã chưa xuất hiện trong nhật ký. Đây là cách tránh tải lại cả danh sách mỗi tuần.
Mình thích cấu trúc thư mục đơn giản: một thư mục lớn, bên trong là thư mục theo kênh hoặc playlist, rồi đến các file video, phụ đề và mô tả cùng tên. Bạn cũng có thể để một tệp nguồn chứa URL playlist ở đầu mỗi thư mục. Khi nguồn thay đổi hoặc bị xóa, tệp này giúp bạn biết bản lưu bắt đầu từ đâu.
Phụ đề không phải lúc nào cũng giống nhau
yt-dlp lấy trực tiếp track phụ đề mà YouTube cung cấp, không tự nghe âm thanh để chép lời. Track do người đăng tải và track tự động tạo là hai loại khác nhau. Phụ đề tự động thường có lỗi lặp, thiếu dấu câu và nhận sai thuật ngữ, nhất là khi video nói nhanh hoặc có nhiều từ chuyên ngành.[2]
Trước khi tải, nên kiểm tra danh sách track có sẵn:
yt-dlp --list-subs "VIDEO_URL"Nếu chỉ muốn lấy phụ đề mà không tải video, dùng --skip-download:
yt-dlp --write-subs --sub-langs vi,en --skip-download "VIDEO_URL"--write-subs nhắm tới phụ đề được tải lên thủ công, còn --write-auto-subs lấy bản tự động. Bạn có thể dùng cả hai khi muốn có phương án dự phòng:
yt-dlp --write-subs --write-auto-subs --sub-langs vi,en --skip-download "VIDEO_URL"VTT là định dạng thường được tải xuống. Nếu phần mềm bạn dùng đọc SRT dễ hơn, thêm --convert-subs srt. Đừng mặc định rằng có phụ đề tiếng Việt chỉ vì video có nút CC. Hãy xem mã ngôn ngữ mà --list-subs trả về. Với video có phụ đề tiếng Anh thủ công và tiếng Việt tự động, bạn có thể lấy cả hai rồi đánh dấu bản nào đáng tin cậy hơn.
Biến kho video thành thứ có thể tìm lại
Phụ đề và mô tả rời biến kho video thành kho văn bản. Bạn có thể tìm từ khóa trong các tệp này thay vì mở từng video. Nếu bản VTT có mốc thời gian và các câu lặp, hãy làm sạch một bản sao trước khi đưa vào công cụ tìm kiếm hoặc ghi chú. Giữ file VTT gốc riêng để không mất dữ liệu thời gian.
Một tên file dễ đọc nên có tiêu đề rút gọn và ngày đăng, còn mã video có thể đặt ở cuối. Ví dụ minh họa là 2026-09-08-cach-luu-phu-de-abc123.mkv. Đây chỉ là quy ước đặt tên, không phải dữ liệu của một video có thật. Nếu tiêu đề chứa ký tự đặc biệt, hãy để công cụ tạo tên file an toàn thay vì tự sửa từng file.
Thumbnail giúp nhận ra video trong trình quản lý file, nhưng không thay thế metadata. Mô tả riêng cũng nên giữ lại, vì sau này tiêu đề trên nền tảng có thể thay đổi hoặc video không còn hiển thị công khai.
Lỗi thường gặp và cách xử lý
Nếu không có phụ đề, chạy --list-subs trước để phân biệt video không có track, yêu cầu sai ngôn ngữ, hoặc nền tảng từ chối request. Nếu có track nhưng tải rỗng, cập nhật yt-dlp rồi thử lại một video nhỏ. Nguồn được đọc cảnh báo rằng thay đổi phía YouTube có thể làm việc lấy phụ đề hỏng tạm thời, và một số định dạng ít phổ biến dễ gặp lỗi hơn VTT hoặc SRT.[2]
Video mới đăng đôi khi chưa có đủ định dạng chất lượng cao dù trang web đã hiển thị video. Hãy thử lại sau thay vì kết luận file tải được là bản tốt nhất. Nếu mạng nhà bạn chậm, có thể giới hạn tốc độ để việc tải không chiếm hết đường truyền; 4 MB/s chỉ là ví dụ, bạn nên chọn theo gói mạng.
Đừng tự động tải nội dung riêng tư, bị giới hạn tuổi hoặc có DRM bằng cách tìm cách vượt qua kiểm soát truy cập. Với nội dung của người khác, hãy kiểm tra quyền sử dụng trước khi sao chép, chia sẻ hoặc đưa vào dự án. Lưu để xem cá nhân và phát hành lại là hai việc khác nhau.
FAQ
Có thể chỉ tải phụ đề mà không tải video không?
Có. Dùng --skip-download cùng --write-subs và mã ngôn ngữ mong muốn. Cách này tiết kiệm dung lượng khi bạn chỉ cần văn bản.
Nên chọn VTT hay SRT?
VTT phù hợp để giữ track theo cách nền tảng cung cấp. SRT thường dễ đọc với nhiều phần mềm hơn và có thể tạo bằng tùy chọn chuyển đổi. Hãy giữ bản gốc nếu bạn còn cần mốc thời gian.
Tải rồi nhưng lần sau vẫn bị tải trùng, vì sao?
Kiểm tra đường dẫn và quyền ghi của tệp archive, đồng thời chắc rằng các lần chạy sau dùng đúng tệp nhật ký đó. Nếu đổi thư mục làm việc hoặc đổi tên tệp, công cụ có thể không biết video cũ đã được xử lý.
Kết luận
Một bản lưu tử tế gồm video, âm thanh, phụ đề, mô tả và dấu vết nguồn. Bạn có thể bắt đầu với một playlist nhỏ, tạo tệp archive, kiểm tra phụ đề bằng --list-subs rồi thử mở lại file sau khi tải. Khi muốn lưu video từ YouTube theo cách gọn hơn, bạn có thể xem thêm hướng dẫn tải video YouTube; nếu đang sắp xếp nhiều nguồn, hãy giữ riêng thư mục theo kênh và đặt tên nhất quán.
