ข้ามไปที่เนื้อหา
yt-dlp

ตัวสร้างคำสั่ง yt-dlp สำหรับ YouTube

ประกอบคำสั่ง yt-dlp ที่ถูกต้องสำหรับวิดีโอ เพลย์ลิสต์ หรือช่องบน YouTube ค่าเริ่มต้นคือ 1080p MP4 พร้อมบท เมทาดาทา และตัดช่วงสปอนเซอร์ออกแล้ว

ไม่บังคับ ถ้าเว้นว่างไว้ คำสั่งจะจบด้วยคำว่า URL ให้คุณเติมเอง

คำสั่งของคุณ

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --embed-subs --sub-langs en --no-playlist --embed-thumbnail --embed-metadata --embed-chapters --sponsorblock-remove default 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
พื้นฐาน

เฉพาะเสียงจะดึงแทร็กเสียงออกมาและทิ้งภาพไป

วิดีโอและคุณภาพ

จำกัดความสูงไว้ yt-dlp ยังคงเลือกสตรีมที่ดีที่สุดในระดับนั้นหรือต่ำกว่า

ชนิดไฟล์ที่ใช้รวมสตรีมภาพกับเสียงที่แยกกันไว้ด้วยกัน

ตัวเลือกขั้นสูง (3)

ใช้แทนช่องเลือกคุณภาพ สำหรับคนที่รู้ไวยากรณ์ของฟอร์แมตอยู่แล้ว

บรรจุสตรีมใหม่โดยไม่เข้ารหัสใหม่ เร็วและไม่สูญเสียคุณภาพ

เข้ารหัสวิดีโอใหม่ ช้าและคุณภาพลด — ใช้เมื่อ remux ไม่ไหวเท่านั้น

เสียง

ชนิดไฟล์ที่เสียงจะถูกแปลงไป

VBR ให้อัตราส่วนขนาดต่อคุณภาพดีที่สุด ส่วน bitrate คงที่คาดเดาขนาดได้ง่ายกว่า

คำบรรยาย

การฝังจะใส่คำบรรยายไว้ในตัววิดีโอ ส่วนการบันทึกจะเขียนไฟล์ .srt แยกไว้ข้าง ๆ

คั่นด้วยจุลภาค ใส่ all ถ้าต้องการทุกภาษาที่มี

เพลย์ลิสต์และช่อง

จะทำอย่างไรเมื่อลิงก์เป็นทั้งวิดีโอและเพลย์ลิสต์ในเวลาเดียวกัน

ใช้ได้ทั้งช่วงและรายการ เช่น 1-10,15 หรือ -5::2 เพื่อเอาเว้นหนึ่งรายการนับจากท้าย

ตัวเลือกขั้นสูง (1)

จดว่าดาวน์โหลดอะไรไปแล้ว การรันซ้ำจึงข้ามรายการเหล่านั้น นี่คือวิธีทำให้ช่องหนึ่งอัปเดตตามต้นทางเสมอ

ช่วงและบท
ตัวเลือกขั้นสูง (2)

ช่วงเวลาแบบ *00:01:30-00:03:00 หรือชื่อบท เครื่องหมายดอกจันข้างหน้าหมายถึงเป็นเวลา

เมทาดาทาและภาพปก
ตัวเลือกขั้นสูง (3)
SponsorBlock

ตัดช่วงที่ชุมชนทำเครื่องหมายไว้ออกจากไฟล์ โดยอาศัยข้อมูลของ SponsorBlock

ตัวเลือกขั้นสูง (1)

คงช่วงเหล่านั้นไว้แต่ทำเครื่องหมายให้ เพื่อให้คุณข้ามเอง

ไฟล์และโฟลเดอร์

ชื่อฟิลด์เขียนไว้ใน %(...)s เครื่องหมายทับจะสร้างโฟลเดอร์

ตัวเลือกขั้นสูง (4)

ที่ที่จะเขียนไฟล์ลงไป ใช้ร่วมกับรูปแบบชื่อไฟล์ข้างบนจะได้โฟลเดอร์ย่อย

ความยาวสูงสุดของชื่อไฟล์ นับเป็นตัวอักษร

ตัวกรอง
ตัวเลือกขั้นสูง (5)

YYYYMMDD หรือวันที่แบบสัมพัทธ์อย่าง now-1month

YYYYMMDD หรือวันที่แบบสัมพัทธ์

ข้ามไฟล์ที่เล็กกว่านี้ รับค่าอย่าง 5M, 500K

ข้ามไฟล์ที่ใหญ่กว่านี้

จำนวนไฟล์ที่จะดาวน์โหลดก่อนหยุด

เครือข่าย

เช่น 2M หรือ 500K มีประโยชน์เมื่อคุณต้องการแบนด์วิดท์ที่เหลือไปทำอย่างอื่น

ตัวเลือกขั้นสูง (5)

ช่วยเร่งสตรีมที่แบ่งเป็นชิ้น เริ่มที่ 4 กำลังพอดี

จะลองชิ้นที่ล้มเหลวซ้ำกี่ครั้ง ใส่ infinite ก็ได้

ที่อยู่ proxy แบบ HTTP, HTTPS หรือ SOCKS

ทำให้คำขอดูเหมือนมาจากเบราว์เซอร์จริง เป็นวิธีแก้ที่ใช้กันเมื่ออยู่ ๆ ก็เจอ 403

การเข้าสู่ระบบและ cookies

อ่านเซสชันที่คุณล็อกอินไว้โดยตรง จำเป็นสำหรับเนื้อหาส่วนตัว จำกัดอายุ หรือเฉพาะสมาชิก

ตัวเลือกขั้นสูง (1)

ไฟล์ cookies.txt รูปแบบ Netscape ที่ส่งออกมาจากเบราว์เซอร์ของคุณ

สตรีมสด
ตัวเลือกขั้นสูง (2)

คอยตรวจจนกว่าสตรีมที่นัดไว้จะเริ่ม MIN-MAX คือช่วงวินาทีระหว่างการตรวจแต่ละครั้ง

วิธีเลี่ยงปัญหา
ตัวเลือกขั้นสูง (3)

เลิกใช้แล้ว ให้ใช้ --add-headers แทน ที่ยังเก็บไว้เพราะคู่มือเก่าจำนวนมากยังใช้อยู่

เลิกใช้แล้ว ให้ใช้ --add-headers แทน

ตัวเลือกเฉพาะของแต่ละเว็บ เช่น youtube:player_client=web

ผลลัพธ์และการดีบัก
ตัวเลือกขั้นสูง (2)
ล้างค่า

YouTube ต่างจากที่อื่นตรงไหน

เหนือ 720p ขึ้นไป YouTube ส่งภาพกับเสียงมาเป็นสตรีมแยกกัน คำสั่งที่ขอ 1080p หรือ 4K จึงต้องดึงทั้งสองแล้วรวมเข้าด้วยกัน นั่นคือเหตุผลที่เหนือ 720p ต้องมี ffmpeg แต่ต่ำกว่านั้นไม่ต้อง ชุดสำเร็จรูปในหน้านี้จัดการให้แล้ว

อีกเรื่องที่ควรรู้เกี่ยวกับ YouTube คือการตรวจบอต เมื่อมันโผล่มา การปลอมเป็นเบราว์เซอร์ได้ผลบ่อยที่สุด และการใส่ cookies ของคุณเองก็ปิดที่เหลือ — วิดีโอจำกัดอายุ เฉพาะสมาชิก และวิดีโอส่วนตัว ล้วนต้องใช้เซสชันที่ล็อกอินแล้ว

คำถามที่พบบ่อย

ดาวน์โหลด YouTube แบบ 1080p หรือ 4K อย่างไร
เหนือ 720p ขึ้นไป YouTube ส่งภาพกับเสียงเป็นสตรีมแยก คำสั่งจึงต้องขอทั้งสองแล้วรวมกัน ซึ่งต้องใช้ ffmpeg เลือกความละเอียดด้านบนแล้วตัวสร้างคำสั่งจะเขียน selector และ container ให้เอง
YouTube ให้ยืนยันว่าไม่ใช่บอต
เพิ่ม --impersonate chrome หรือใช้ --cookies-from-browser chrome เพื่อใช้เซสชันที่ล็อกอินไว้ ปิดเบราว์เซอร์ก่อน เพราะ Chrome ล็อกฐานข้อมูล cookies ไว้ระหว่างที่เปิดอยู่
เอาเฉพาะเสียงเป็น MP3 อย่างไร
เปลี่ยนผลลัพธ์เป็นเฉพาะเสียงแล้วเลือก MP3 ใส่ภาพปกกับเมทาดาทาเพิ่ม ไฟล์ที่ได้ก็พร้อมเข้าคลังเพลงทันที ต้องมี ffmpeg
ดาวน์โหลดทั้งเพลย์ลิสต์อย่างไร
ตั้งการจัดการเพลย์ลิสต์เป็นทั้งเพลย์ลิสต์ ถ้ารายการยาว ให้เพิ่มไฟล์บันทึกรายการเพื่อให้การรันซ้ำทำต่อแทนที่จะเริ่มใหม่ และเปิดเจอข้อผิดพลาดก็ทำต่อ เพื่อไม่ให้คลิปที่ถูกบล็อกคลิปเดียวหยุดที่เหลือทั้งหมด
ดาวน์โหลดคำบรรยาย YouTube ได้ไหม
ได้ — จะฝังในวิดีโอหรือเก็บเป็นไฟล์ .srt แยกก็ได้ ควรเปิดคำบรรยายอัตโนมัติด้วย ไม่อย่างนั้นวิดีโอที่ไม่มีคำบรรยายที่คนทำจะไม่ได้อะไรเลย