Làm cách nào để có được âm thanh chất lượng tốt nhất bằng youtube-dl?


16

Tôi đang sử dụng youtube-dltrên Linux để tải xuống video từ YouTube và trích xuất âm thanh. Đây là cách của tôi để xây dựng một bộ sưu tập nhạc nhỏ.

Dù sao, tôi biết rằng có một tùy chọn --audio-quality=với 0 là tốt nhất và 9 là tồi tệ nhất. Đây có phải là tất cả những gì tôi cần làm để có được âm thanh chất lượng tốt nhất?

Ngoài ra, có ai biết nếu tải xuống từ soundcloud có thể có chất lượng cao hơn không?

Câu trả lời:


21

Điều --audio-qualitynày không ảnh hưởng đến chất lượng âm thanh của nguồn. Đây là một tùy chọn xử lý bài và sẽ mã hóa lại âm thanh.

Vì bất kỳ loại mã hóa lại (mất) nào cũng sẽ thực sự làm giảm chất lượng của luồng, hoặc ít nhất là làm cho nó có kích thước lớn hơn một cách không cần thiết, tôi khuyên bạn không nên xử lý hậu kỳ âm thanh.

Để có được chất lượng âm thanh tốt nhất có thể, bạn chỉ cần chọn một định dạng nguồn có chất lượng cao. Trên thực tế, youtube-dlsẽ làm điều đó theo mặc định, nhưng bạn có thể thiết lập nó với --audio-format best. YouTube (và các nhà cung cấp khác) lưu trữ các codec âm thanh khác nhau với tốc độ bit khác nhau và youtube-dlsẽ chọn loại codec tốt nhất trong số đó.

Nếu bạn đã ffmpegcài đặt trên hệ thống của mình, thì youtube-dlcó thể trích xuất âm thanh tự động:

youtube-dl --audio-format best -x <url>

Nếu không, bạn sẽ nhận được một tệp video mà bạn phải trích xuất thành phần âm thanh.


Nếu ffmpegkhông mã hóa lại thì tại sao tôi lại chọn định dạng âm thanh? Nếu tôi nhập dòng đó nhưng aacthay vào đó, tôi không nhận được cùng một tệp nhưng với một phần mở rộng khác. Tôi nhận được một tệp khác với kích thước và bitrate hơi khác nhau.
Blrp 15/03/2016

1
Ok, nhưng điều đó không thực sự trả lời câu hỏi của tôi. Tôi đang hỏi cụ thể về việc chuyển đổi video thành âm thanh. Nếu có một lệnh lấy âm thanh từ MP4 và lưu nó dưới dạng tệp âm thanh mà không cần mã hóa lại, thì chỉ có một kết quả có thể xảy ra, phải không? Tuy nhiên, lệnh ffmpeg trong bài đăng của bạn mang lại một kết quả khác tùy thuộc vào phần mở rộng tôi chọn cho âm thanh. Vì vậy, luôn có một phần mở rộng âm thanh chính xác, tùy thuộc vào phần mở rộng video mà tôi nhận được âm thanh mà không cần mã hóa lại? Hoặc làm thế nào khác để tôi làm điều đó?
Blrp

1
Tôi thấy bây giờ Đầu tiên, tôi làm rõ câu trả lời của tôi, nó phức tạp hơn một chút so với cần thiết. Ngoài ra, có thể câu trả lời này là thú vị để đọc. Ngay cả khi dòng bit codec âm thanh không được chạm vào (nghĩa là được sao chép), phần mở rộng sẽ xác định cách nó được bọc trong một định dạng. Không có ánh xạ 1: 1 ở đây. Một số định dạng đòi hỏi nhiều không gian hơn những định dạng khác. Bạn có thể sử dụng ffmpeg -i in.mp4 -c:a copy -vn out.m4avà kết thúc với một tệp khác ffmpeg -i in.mp4 -c:a copy -vn out.mkv, mặc dù cả hai đều chứa cùng một dữ liệu âm thanh (và do đó có cùng chất lượng âm thanh).
slhck

1
Tôi chắc chắn rằng nó không mã hóa lại. Nó không có khả năng để làm như vậy. Lý do bạn nhận được cùng một bitrate là vì YouTube có sự thay đổi rất hạn chế về bitrate / codec âm thanh mà họ sử dụng, trái ngược với các biểu diễn video. Có thể YouTube hơi thất thường khi chỉ định bitrate video và âm thanh và bạn có thể thấy tốc độ bit âm thanh cao hơn cho chất lượng video thấp hơn trong trường hợp đó, tôi nghĩ youtube-dlvẫn chọn định dạng video chất lượng cao nhất. Bạn có một ví dụ video cụ thể?
slhck

1
Có vẻ tốt với tôi. Ví dụ: trong phần thứ hai, khi bạn sử dụng -xlàm tùy chọn, nó sẽ tải xuống biến thể chỉ có âm thanh với bitrate cao nhất (256k, mã định dạng 141, kiểm tra youtube-dl -F <url>). Tất cả các thành phần âm thanh khác của các đại diện nghe nhìn khác có bitrate thấp hơn.
slhck

5

Vẫn với các định dạng nhạc gốc của Youtube để tránh mã hóa lại:

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>

dẫn đến một m4atập tin hoặc

youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>

Cái sau cũng có thể resul trong một oggtệp nếu định dạng chất lượng âm thanh cao nhất là OPUS chứ không phải AAC.

Bạn có thể liệt kê các định dạng có sẵn với

youtube-dl -F <Video-URL>

Sự khác biệt giữa bestaudio[ext=m4a]và là --extract-audiogì? Tại sao cái sau có khả năng dẫn đến một oggnhưng không phải cái trước?
Hashim

[ext=m4a]ràng buộc lựa chọn của bạn với các định dạng m4a có sẵn và không --extract-audiolưu trữ nó ở cùng định dạng container m4a. Với --extract-audiodữ liệu âm thanh được trích xuất và lưu trữ trong một thùng chứa ogg.
Frank Breitling

Xin lỗi điều này là muộn, nhưng điều đó không thực sự giải thích lý do tại sao cái sau sẽ dẫn đến một .oggtệp cụ thể. Tại sao .oggkhi .oggkhông được chỉ định?
Hashim

Tôi hiểu rằng chất lượng âm thanh tốt nhất có sẵn ở định dạng OPUS chứ không phải AAC sau đó được lưu trong bộ chứa ogg. Tôi đã cập nhật câu trả lời của tôi cho phù hợp.
Frank Breitling

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.