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

YouTube sang MP3 bằng yt-dlp

Tạo câu lệnh yt-dlp biến một video YouTube thành file MP3 có tag và ảnh bìa.

Để có một file MP3 dùng được

Tách âm thanh là một phép chuyển đổi, nên bắt buộc phải có ffmpeg — đây chính là lý do câu lệnh thất bại trên một máy mới cài. Tốt nhất (VBR) là lựa chọn mặc định đúng: nó cho tỉ lệ dung lượng trên chất lượng tốt nhất, và một bitrate cố định cao hơn không thể thêm chất lượng mà nguồn chưa từng có.

Ảnh bìa và metadata biến một thư mục file vô danh thành thứ mà trình phát nhạc sắp xếp được. Mẫu tên file ở đây đặt nghệ sĩ lên trước, và lấy tên người đăng khi video không có tag nghệ sĩ.

--audio-quality 0 là tùy chọn bị hiểu ngược nhiều nhất. Nó không phải "chất lượng bằng không" — đó là mức tốt nhất của bitrate biến thiên, trung bình khoảng 245 kbps, và thang đo chạy ngược: 0 là tốt nhất, 9 là tệ nhất. Bitrate biến thiên dồn nhiều bit hơn vào những đoạn dày âm thanh và bớt đi ở chỗ im lặng, nên cùng một dung lượng thì file VBR thường nghe hay hơn file bitrate cố định. Nếu có thiết bị nhất định đòi bitrate cố định, hãy ghi thẳng con số — --audio-quality 320K — thay vì đoán một số trên thang 0–9.

Câu hỏi lớn hơn là có nên chuyển đổi hay không. YouTube phát âm thanh dưới dạng Opus hoặc AAC, cả hai đều không phải MP3, nên đòi MP3 luôn đồng nghĩa với mã hóa lại: file bị giải mã rồi nén thêm một lần nữa, và mỗi lần như vậy lại mất đi một ít chất lượng. Nếu không có thứ gì của bạn bắt buộc phải là đuôi .mp3, hãy chọn "Tốt nhất (không chuyển đổi)". Nó nhanh hơn, bỏ qua ffmpeg hoàn toàn, và kết quả gần với bản gốc hơn bất kỳ file MP3 nào. Chỉ chuyển đổi khi dàn máy trên ô tô, phần mềm DJ hay chiếc điện thoại cũ không cho bạn lựa chọn nào khác.

Với cả một playlist, hãy bật playlist và thêm tệp lưu trữ. Tệp đó ghi lại những gì đã tải, nên tuần sau chạy cùng câu lệnh thì nó chỉ lấy phần mới thay vì làm lại từ đầu — kết hợp với "tiếp tục khi gặp lỗi" thì một bài bị khóa vùng hay đã xóa không còn kéo theo hai trăm bài còn lại. Thêm số thứ tự playlist vào mẫu tên tệp nếu thứ tự bài quan trọng; không có nó, trình phát sẽ sắp thư mục theo bảng chữ cái và cả album sẽ lộn xộn.

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 -x --audio-format mp3 --audio-quality 0 --no-playlist --embed-thumbnail --embed-metadata -o '%(artist,uploader)s - %(title)s.%(ext)s' '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.

Â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.

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ộ.

Metadata và ảnh bìa
Tuỳ chọn nâng cao (3)
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ự.

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.

Đặt lại

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

Nên chọn chất lượng MP3 nào?
Tốt nhất (VBR) cho phần lớn trường hợp — nó cho tỉ lệ dung lượng trên chất lượng tốt nhất. 320 kbps chỉ đáng dùng khi có thứ gì phía sau đòi bitrate cố định. Cả hai đều không thêm được chất lượng mà nguồn chưa từng có.
Vì sao tách MP3 bị lỗi?
Chuyển đổi âm thanh cần ffmpeg. Hãy cài rồi kiểm tra bằng ffmpeg -version.
VBR hay bitrate cố định?
VBR phân bổ bit vào chỗ cần thiết nên nhỏ hơn ở cùng mức chất lượng cảm nhận. Chỉ dùng bitrate cố định khi một thiết bị hay phần mềm đòi hỏi như vậy.
Chuyển cả playlist sang MP3 được không?
Được — kết quả âm thanh cộng với xử lý toàn bộ playlist. Thêm file lưu lịch sử để chạy lại không phải chuyển đổi lại từ đầu.