วิธีการรับเสียงคุณภาพดีที่สุดโดยใช้ youtube-dl


16

ฉันใช้youtube-dlบน Linux เพื่อดาวน์โหลดวิดีโอจาก YouTube และแยกเสียง นี่เป็นวิธีสร้างคอลเล็กชั่นเพลงเล็ก ๆ ของฉัน

อย่างไรก็ตามฉันรู้ว่ามีตัวเลือกที่--audio-quality=0 ดีที่สุดและ 9 แย่ที่สุด นี่คือทั้งหมดที่ฉันต้องทำเพื่อให้ได้เสียงที่มีคุณภาพดีที่สุดหรือไม่

ทุกคนทราบหรือไม่ว่าการดาวน์โหลดจาก soundcloud อาจมีคุณภาพสูงขึ้นหรือไม่

คำตอบ:


21

--audio-qualityไม่ได้ส่งผลกระทบต่อคุณภาพเสียงของแหล่งที่มา มันเป็นตัวเลือกการโพสต์และจะเข้ารหัสเสียงอีกครั้ง

เนื่องจากการเข้ารหัสซ้ำ (สูญเสีย) ใด ๆ จะทำให้คุณภาพของสตรีมแย่ลงหรืออย่างน้อยก็ทำให้มีขนาดใหญ่ขึ้นโดยไม่จำเป็น - ฉันขอแนะนำไม่ให้โพสต์ประมวลผลเสียงเลย

เพื่อให้ได้คุณภาพเสียงที่ดีที่สุดเท่าที่จะเป็นไปได้คุณเพียงแค่เลือกรูปแบบต้นฉบับคุณภาพสูง อันที่จริงyoutube-dlจะทำโดยเริ่มต้น --audio-format bestแต่คุณสามารถตั้งค่าได้อย่างชัดเจนด้วย YouTube (และผู้ให้บริการอื่น ๆ ) เก็บตัวแปลงสัญญาณเสียงที่แตกต่างกันด้วยบิตเรตที่แตกต่างกันและyoutube-dlจะเลือกตัวแปลงที่ดีที่สุด

หากคุณffmpegติดตั้งบนระบบของคุณคุณyoutube-dlสามารถแยกไฟล์เสียงได้โดยอัตโนมัติ:

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

มิฉะนั้นคุณจะได้รับไฟล์วิดีโอที่คุณต้องแยกไฟล์เสียง


หากffmpegไม่เข้ารหัสใหม่ทำไมฉันถึงเลือกรูปแบบเสียง หากฉันป้อนบรรทัดนั้น แต่ใช้aacแทนฉันจะไม่ได้รับไฟล์เดียวกัน แต่มีนามสกุลต่างกัน ฉันได้ไฟล์ที่แตกต่างกับขนาดและบิตเรตที่แตกต่างกันเล็กน้อย
Blrp

1
ตกลง แต่นั่นไม่ได้ตอบคำถามของฉัน ฉันถามเฉพาะเกี่ยวกับวิดีโอเพื่อการแปลงเสียง หากมีคำสั่งที่ใช้เสียงจาก MP4 และบันทึกเป็นไฟล์เสียงโดยไม่ต้องเข้ารหัสใหม่ควรมีผลลัพธ์ที่เป็นไปได้เพียงข้อเดียวใช่ไหม และยังคำสั่ง ffmpeg ในโพสต์ของคุณให้ผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับนามสกุลที่ฉันเลือกสำหรับเสียง ดังนั้นจะมีนามสกุลเสียงที่ถูกต้องหนึ่งเสมอขึ้นอยู่กับส่วนขยายวิดีโอที่ฉันได้รับเสียงโดยไม่ต้องเข้ารหัสใหม่หรือไม่ หรือฉันจะทำอย่างอื่นได้อย่างไร
Blrp

1
ฉันเห็นแล้ว ครั้งแรกฉันชี้แจงคำตอบของฉัน - มันซับซ้อนกว่าเล็กน้อยที่จำเป็น อีกทั้งบางทีคำตอบนี้น่าสนใจที่จะอ่าน แม้ว่าจะไม่ได้สัมผัสกับตัวแปลงสัญญาณเสียงบิตสตรีม (เช่นคัดลอก) ส่วนขยายจะเป็นตัวกำหนดว่าจะห่อหุ้มอย่างไรในรูปแบบ ไม่มีการแมป 1: 1 ที่นี่ รูปแบบบางรูปแบบต้องการพื้นที่มากกว่าพื้นที่อื่น คุณสามารถใช้ffmpeg -i in.mp4 -c:a copy -vn out.m4aและจบลงด้วยไฟล์ที่แตกต่างกว่าffmpeg -i in.mp4 -c:a copy -vn out.mkvแม้ว่าทั้งคู่จะมีข้อมูลเสียงที่เหมือนกัน (และมีคุณภาพเสียงที่เหมือนกัน)
slhck

1
ฉันแน่ใจว่ามันไม่ได้เข้ารหัสอีกครั้ง มันไม่มีความสามารถในการทำเช่นนั้น เหตุผลที่คุณได้รับบิตเรตเดียวกันคือ YouTube มีรูปแบบที่ จำกัด มากในบิตเรตเสียง / ตัวแปลงสัญญาณที่ใช้ตรงกันข้ามกับการเป็นตัวแทนวิดีโอ บางที YouTube อาจผิดปกติเล็กน้อยเมื่อกำหนดวิดีโอและบิตเรตเสียงและคุณอาจเห็นบิตเรตเสียงที่สูงขึ้นสำหรับคุณภาพวิดีโอที่ต่ำกว่า - ในกรณีนี้ฉันคิดว่าyoutube-dlยังคงเลือกรูปแบบวิดีโอคุณภาพสูงสุด คุณมีตัวอย่างวิดีโอเฉพาะหรือไม่
slhck

1
ดูเหมือนว่าดีสำหรับฉัน ตัวอย่างเช่นในตัวที่สองเมื่อคุณใช้-xเป็นตัวเลือกมันจะดาวน์โหลดชุดเสียงที่มีบิตเรตสูงสุดเท่านั้น (256k, รหัสรูปแบบ 141, ตรวจสอบด้วยyoutube-dl -F <url>) ส่วนประกอบเสียงอื่น ๆ ของภาพและเสียงอื่น ๆ มีบิตเรตที่ต่ำกว่า
slhck

5

ใช้รูปแบบเพลงพื้นเมืองของ Youtube เพื่อหลีกเลี่ยงการเข้ารหัสซ้ำ:

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

ส่งผลให้ในm4aไฟล์หรือ

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

หลังสามารถ resul ในoggไฟล์ถ้ารูปแบบคุณภาพเสียงสูงสุดคือ OPUS มากกว่า AAC

คุณสามารถแสดงรายการรูปแบบที่ใช้ได้ด้วย

youtube-dl -F <Video-URL>

ความแตกต่างระหว่างbestaudio[ext=m4a]และ--extract-audioคืออะไร? เหตุใดแนวโน้มหลังจึงส่งผลให้oggเกิดอดีต แต่ไม่ใช่?
Hashim

[ext=m4a]จำกัด การเลือกของคุณให้อยู่ในรูปแบบ m4a ที่มีอยู่และไม่มีการจัด--extract-audioเก็บในรูปแบบภาชนะ m4a เดียวกัน ด้วย--extract-audioข้อมูลเสียงจะถูกสกัดและเก็บไว้ในคอนเทนเนอร์ ogg
Frank Breitling

ขออภัยนี่สาย แต่ไม่ได้อธิบายว่าทำไมคนหลังถึงส่ง.oggไฟล์โดยเฉพาะ ทำไม.oggเมื่อ.oggไม่ได้ระบุ?
Hashim

ความเข้าใจของฉันคือคุณภาพเสียงที่ดีที่สุดอยู่ในรูปแบบ OPUS มากกว่า AAC จากนั้นจะถูกบันทึกในคอนเทนเนอร์ ogg ฉันได้ปรับปรุงคำตอบของฉันแล้ว
Frank Breitling

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.