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

รายการตัวเลือก yt-dlp

เขียนอ้างอิงจาก yt-dlp 2026.07.21 ตัวเลือกมีการเพิ่มและเปลี่ยนชื่อระหว่างรุ่น จึงควรตรวจรุ่นของคุณด้วย yt-dlp --version

พื้นฐาน

คุณต้องการอะไร

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

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

-f FORMAT --format

คุณภาพสูงสุด

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

-f FORMAT --format

format selector ที่เขียนเอง

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

ตัวอย่าง

  • -f "bv*[vcodec^=av01]+ba"
  • -f "b[filesize<50M]"
--merge-output-format FORMAT ต้องมี ffmpeg

Container

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

--remux-video FORMAT ต้องมี ffmpeg

remux เป็น

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

--recode-video FORMAT ต้องมี ffmpeg

เข้ารหัสใหม่เป็น

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

เสียง

--audio-format FORMAT ต้องมี ffmpeg

ฟอร์แมตเสียง

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

--audio-quality QUALITY ต้องมี ffmpeg

คุณภาพเสียง

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

คำบรรยาย

คำบรรยาย

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

ภาษาของคำบรรยาย

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

ตัวอย่าง

  • --sub-langs "en,vi"
  • --sub-langs "en.*,ja"
  • --sub-langs all

คำบรรยายที่สร้างอัตโนมัติ

รวมคำบรรยายที่เครื่องสร้างไว้ด้วย เมื่อไม่มีคำบรรยายที่คนทำ

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

การจัดการเพลย์ลิสต์

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

-I ITEM_SPEC --playlist-items

เอารายการไหนบ้าง

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

ตัวอย่าง

  • -I 1:5
  • -I "1,3,7-10"
  • -I "-5::2"

ไฟล์บันทึกรายการ

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

ช่วงและบท

--download-sections REGEX ต้องมี ffmpeg

ดาวน์โหลดเฉพาะบางช่วง

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

ตัวอย่าง

  • --download-sections "*00:01:30-00:03:00"
  • --download-sections "intro"
--split-chapters ต้องมี ffmpeg

แยกตามบท

เขียนไฟล์ละหนึ่งบทแทนที่จะเป็นไฟล์ยาวไฟล์เดียว

เมทาดาทาและภาพปก

--embed-thumbnail ต้องมี ffmpeg

ฝังภาพย่อ

ใช้ภาพย่อของวิดีโอเป็นภาพปก

--embed-metadata ต้องมี ffmpeg

ฝังเมทาดาทา

เขียนชื่อเรื่อง ผู้อัปโหลด และวันที่ลงไปในตัวไฟล์

--embed-chapters ต้องมี ffmpeg

ฝังบท

เพิ่มจุดแบ่งบทที่โปรแกรมเล่นข้ามไปมาได้

บันทึกไฟล์ภาพย่อ

เขียนภาพปกไว้ข้าง ๆ ไฟล์วิดีโอ

บันทึกคำอธิบาย

เขียนคำอธิบายลงไฟล์ .description

บันทึกเมทาดาทาเป็น JSON

เขียนทุกอย่างที่ yt-dlp รู้เกี่ยวกับวิดีโอลงไฟล์ .info.json

SponsorBlock

--sponsorblock-remove CATS ต้องมี ffmpeg

ตัดช่วงออก

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

ทำเครื่องหมายช่วงเป็นบท

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

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

รูปแบบชื่อไฟล์

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

ตัวอย่าง

  • -o "%(title)s.%(ext)s"
  • -o "%(playlist_index)02d - %(title)s.%(ext)s"

โฟลเดอร์ปลายทาง

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

ชื่อไฟล์ปลอดภัย (ASCII เท่านั้น)

ตัดวรรณยุกต์ ช่องว่าง และอักขระใด ๆ ที่ระบบไฟล์จู้จี้อาจไม่รับออก

ชื่อไฟล์ที่ Windows รับได้

ตัดอักขระที่ Windows ไม่รับออก แม้คุณจะรันบนระบบอื่นก็ตาม

ตัดชื่อให้เหลือ

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

เขียนทับไฟล์ที่มีอยู่

แทนที่ไฟล์ที่มีอยู่แล้ว

-w --no-overwrites

ไม่เขียนทับเด็ดขาด

ข้ามทุกอย่างที่ดาวน์โหลดไปแล้ว

-c --continue

ดาวน์โหลดต่อจากที่ค้างไว้

ทำต่อจากจุดที่การดาวน์โหลดหยุดไป

ตัวกรอง

อัปโหลดหลังวันที่

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

ตัวอย่าง

  • --dateafter 20240101
  • --dateafter now-1month

อัปโหลดก่อนวันที่

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

ขนาดต่ำสุด

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

ขนาดสูงสุด

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

หยุดหลังจากได้

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

เครือข่าย

-r RATE --limit-rate

จำกัดความเร็ว

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

-N N --concurrent-fragments

จำนวน fragment ที่ดึงพร้อมกัน

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

-R RETRIES --retries

จำนวนครั้งที่ลองใหม่

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

Proxy

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

เลี่ยงการปิดกั้นตามภูมิภาค

ปลอมแหล่งที่มาของคำขอ ใช้ได้กับบางเว็บ ไม่ใช่ทุกเว็บ

ปลอมเป็นเบราว์เซอร์

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

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

cookies จากเบราว์เซอร์

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

ไฟล์ cookies

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

สตรีมสด

บันทึกตั้งแต่ต้น

เริ่มบันทึกสตรีมสดจากจุดเริ่มต้น ไม่ใช่จากขณะปัจจุบัน

รอสตรีมเริ่ม

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

วิธีเลี่ยงปัญหา

--user-agent UA เลิกใช้แล้ว — --add-headers

User agent

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

--referer URL เลิกใช้แล้ว — --add-headers

Referer

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

อาร์กิวเมนต์ของ extractor

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

ตัวอย่าง

  • --extractor-args "youtube:player_client=web,android"

ผลลัพธ์และการดีบัก

-i --ignore-errors

เจอข้อผิดพลาดก็ทำต่อ

ข้ามรายการที่ล้มเหลวแทนที่จะหยุด จำเป็นมากกับเพลย์ลิสต์ขนาดใหญ่

-F --list-formats

แค่แสดงรายการฟอร์แมต

พิมพ์ฟอร์แมตที่มีให้ดูแล้วจบการทำงานโดยไม่ดาวน์โหลด

-s --simulate

จำลองการทำงาน

ทำทุกอย่างยกเว้นเขียนไฟล์ออกมา