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

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

ประกอบคำสั่ง yt-dlp สำหรับวิดีโอบน Facebook พร้อมตัวเลือก cookies ที่วิดีโอส่วนใหญ่ต้องใช้

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

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

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --no-playlist --cookies-from-browser chrome 'https://www.facebook.com/watch/?v=1234567890'
พื้นฐาน

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

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

จำกัดความสูงไว้ 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)
ล้างค่า

ข้อควรรู้สำหรับ Facebook

Facebook ส่วนใหญ่เข้าไม่ถึงถ้าไม่ล็อกอิน และเวอร์ชันคุณภาพสูงมักให้เฉพาะเซสชันที่ล็อกอินแล้ว การใส่ cookies แก้ทั้งสองเรื่องพร้อมกัน

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

URL ของ Facebook มีรูปทรงมากกว่าแพลตฟอร์มอื่นใดที่ yt-dlp รับมือ: /watch/?v=…, /reel/…, โพสต์ในกลุ่ม วิดีโอบนเพจ และลิงก์สั้น fb.watch ทั้งหมดไปลงที่ตัวดึงข้อมูลตัวเดียวกัน แต่แบบที่ถูกห่อด้วยหน้าเว็บบางทีต้องคลี่หน้าออกก่อนจึงเจอวิดีโอ ลิงก์ถาวรคือรูปแบบที่ไว้ใจได้ — คลิกขวาที่เวลาของโพสต์แล้วคัดลอกที่อยู่นั้น มันชี้ตรงไปที่หน้ามีเดีย ไม่ใช่ฟีดที่บังเอิญมีมันอยู่

วิดีโอเดียวกันอาจอยู่บนเพจ ในกลุ่ม และบนโปรไฟล์เป็นสามรายการแยกกัน และบันไดคุณภาพไม่เท่ากันในแต่ละที่: ที่อัปโหลดบนเพจมักได้เวอร์ชันสูงสุด การแชร์ต่อได้เวอร์ชันต่ำสุด วิดีโอในกลุ่มต้องใช้ cookies จากบัญชีที่เป็นสมาชิกกลุ่มนั้น — เซสชันที่มองไม่เห็นโพสต์ก็ดาวน์โหลดไม่ได้ และไม่มีตัวเลือกใดเปลี่ยนมันได้ ป้ายขายบน Marketplace เป็นระบบอื่นโดยสิ้นเชิงที่ yt-dlp ไม่รองรับเลย

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

มีสองอย่างที่ไม่ทำงานจริง ๆ และการบอกตรง ๆ ยังถูกกว่าให้ใครไปเสียทั้งคืนกับมัน: ป้ายขายบน Marketplace และสตอรีที่หมดอายุไปแล้ว สิ่งอื่นที่ล้มเหลวมักล้มที่การเข้าถึง ไม่ใช่ที่ฟอร์แมต — เหตุนั้น cookies จึงเป็นสิ่งแรกที่ต้องเช็ก และ -F เป็นอันดับสอง ถ้าฟอร์แมตขึ้นมาครบแต่ทุกขั้นต่ำกว่าที่คิด นั่นคือบันไดที่เซสชันของคุณได้รับ บัญชีอื่นบางทีเห็นมากกว่า แต่ไม่มีแฟล็กใดปั้นเวอร์ชันคุณภาพสูงกว่าที่แพลตฟอร์มเสิร์ฟขึ้นมาได้

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

yt-dlp โหลดวิดีโอ Facebook ที่เป็นส่วนตัวได้ไหม
ได้เฉพาะวิดีโอที่บัญชีของคุณมองเห็นอยู่แล้ว โดยใช้ --cookies-from-browser ไม่มีทางเลี่ยงสิทธิ์ที่คุณไม่มี
ไม่มี cookies แล้ว Facebook ขึ้นข้อผิดพลาด
Facebook ส่วนใหญ่ใช้ไม่ได้ถ้าไม่ล็อกอิน ให้ส่งเซสชันของคุณด้วย --cookies-from-browser chrome โดยปิดเบราว์เซอร์ไว้
ทำไมคุณภาพต่ำกว่าที่เห็นในเบราว์เซอร์
Facebook ให้เวอร์ชันคุณภาพสูงเฉพาะบางเซสชัน ให้ดูด้วย -F ว่าลิงก์นั้นมีอะไรใช้ได้บ้าง และถ้ารายการสั้นก็ใส่ cookies เข้าไป