ตัวสร้างคำสั่ง yt-dlp สำหรับ Bilibili
ประกอบคำสั่ง yt-dlp สำหรับ Bilibili โดยเริ่มจากการปลอมเป็นเบราว์เซอร์ซึ่งเลี่ยงข้อผิดพลาด 403 ได้เกือบหมด
ข้อผิดพลาด 403 และข้อจำกัดคุณภาพ
Bilibili ปฏิเสธคำขอที่ดูไม่เหมือนมาจากเบราว์เซอร์ คำสั่งธรรมดาจึงมักได้ 403 กลับมา ชุดสำเร็จรูปนี้เปิดการปลอมเบราว์เซอร์ไว้ตั้งแต่ต้น เพราะส่วนใหญ่นั่นคือคำตอบ
1080p ขึ้นไปมักสงวนไว้ให้บัญชีที่ล็อกอินแล้ว และบางครั้งต้องเป็นบัญชีเสียเงิน ที่นี่ cookies จึงมีผลกับคุณภาพ ไม่ใช่แค่การเข้าถึง วิดีโอหลายตอนจะปรากฏเป็นรายการในเพลย์ลิสต์
Bilibili คือแพลตฟอร์มที่ทำให้ yt-dlp ที่เก่าเกินไปพังเร็วที่สุด — เว็บนี้รื้อ API ของตัวเองบ่อยกว่าแพลตฟอร์มตะวันตกใด ๆ และการอัปเดตตัวดึงข้อมูลมาถึงในรุ่น yt-dlp ภายในไม่กี่วันหลังการเปลี่ยนแต่ละครั้ง เมื่อการดาวน์โหลดที่เดือนก่อนยังได้เริ่มล้มเหลว อัปเดตก่อนเลย: yt-dlp -U การปลอมเป็นเบราว์เซอร์ (เปิดเป็นค่าเริ่มต้นในชุดสำเร็จรูปนี้) คลุมส่วน headers ที่ต้องดูเหมือนเบราว์เซอร์ของปัญหา 403 ที่เหลือมักเป็นเซสชันที่ขาดหายหรือหมดอายุ
วิดีโอหลายตอน — โครงสร้าง P1/P2/P3 ที่คุ้นเคยของซีรีส์ — มาเป็นรายการในเพลย์ลิสต์ การจัดการทั้งเพลย์ลิสต์จึงดึงครบทุกตอน และเลขลำดับเพลย์ลิสต์ในเทมเพลตชื่อไฟล์ทำให้ตอนต่าง ๆ อยู่ในลำดับที่ถูกต้อง Danmaku (คอมเมนต์วิ่งข้ามจอ) เป็นแทร็กคำบรรยายในสายตา yt-dlp: --write-subs เซฟมันเป็นไฟล์ .ass ซึ่งเป็นรูปแบบเดียวที่มันมีอยู่ ไม่ต้องการก็ไม่ต้องทำอะไร — มันไม่ถูกรวมเข้าไปเว้นแต่คุณจะขอ
ระดับคุณภาพเฉพาะบางเงื่อนไข — บันได "dolby" และ premium — มีอยู่เฉพาะบัญชีที่ถือมัน และไม่มีแฟล็กใดไปถึงได้ถ้าไม่มี cookies จากบัญชีแบบนั้น เนื้อหาล็อกภูมิภาคเป็นกำแพงอีกด้าน บางการอัปโหลดมองเห็นได้เฉพาะจากแผ่นดินใหญ่จีน และ proxy ในภูมิภาคคือทางเดียวเมื่อการปิดกั้นถูกบังคับที่ CDN ไม่ใช่ที่หน้าเว็บ การเลี่ยงภูมิภาคบางทีเวิร์กกับการปิดกั้นระดับหน้า แต่ไม่เคยเวิร์กกับระดับ CDN
Bilibili เสิร์ฟระดับคุณภาพสูงของมันเป็น DASH ที่แยกเสียงออกมา ffmpeg จึงรวมไฟล์เหมือน YouTube เป๊ะ ๆ — ขั้นตอนการรวมอยู่ในชุดสำเร็จรูปนี้แล้ว การดึงเฉพาะเสียงด้วย -x ใช้ได้ปกติและเป็นวิธีเร็วสุดที่จะเอาแต่เสียงจากการอัปโหลดหลายตอนที่ยาว ส่วนการนำกลับมาฉายไลฟ์ เมื่อสตรีมจบแล้วการนำกลับมาฉายกลายเป็น VOD ธรรมดา จึงดาวน์โหลดเหมือนวิดีโอทั่วไปได้เลย ตัวเลือกการบันทึกไลฟ์บนเว็บนี้ไว้ใช้ตอนที่สตรีมกำลังถ่ายทอดอยู่จริง