MP4 ใช้เวลาในการเริ่มต้นนานเกินไป


2

ฉันแปลงวิดีโอเป็น H.264 / MP4 ด้วย ffmpeg จากนั้นฉันก็ย้าย moov atom ไปที่จุดเริ่มต้นของไฟล์ด้วย qt-faststartดังนั้นฉันสามารถสตรีมวิดีโอ

ทุกอย่างใช้งานได้ดีกับวิดีโอขนาดเล็กที่มีความยาว 5–10 นาที แต่เมื่อพูดถึงวิดีโอขนาดใหญ่ 1-2 ชั่วโมงมันอาจใช้เวลานานพอสมควรในการเริ่มเล่น โหลดได้ 6–10 MB และดีกว่าที่ฉันจะเริ่มเล่นวิดีโอได้เท่านั้น

ด้วยวิดีโอ FLV ไม่ใช่กรณี; มันเล่นได้ทันทีไม่ว่าวิดีโอจะใหญ่แค่ไหน ฉันจะแก้ไขได้อย่างไร

คำตอบ:


5

คุณสามารถตรวจสอบขนาดของอะตอม MOOV ของคุณด้วย AtomicParsley . วิ่ง atomicparsley file.mp4 -T และมองหาสิ่งนี้:

Atom moov @ 20 of size: 1653815, ends @ 1653835

ตัวอย่างเช่นที่นี่อะตอมจะมีขนาด 1653815 ไบต์ (ประมาณ 1.5 MB) อาจเป็นได้ว่าไฟล์ของคุณอะตอมมีขนาดใหญ่เกินไป

คุณสามารถลองลดขนาดระหว่างการเข้ารหัสได้ ใน ffmpeg คุณสามารถกำหนดขนาดสูงสุดของอะตอม กับ -moov_size ตัวเลือก . ดังที่กล่าวไว้ไฟล์ของคุณอาจใหญ่เกินไปสำหรับไฟล์นั้นและคุณควรพิจารณาเปลี่ยนวิธีสตรีมมิ่งของคุณ

วิธีหนึ่งในการทำเช่นนั้นก็คือรูปแบบ ISMV "การสตรีมแบบราบรื่น" มันสร้างไฟล์ MP4 ที่กระจัดกระจาย คุณสามารถเปิดใช้งานได้โดยตั้งค่าหนึ่งในตัวเลือกชิ้นส่วนและเลือก MOOV ที่ว่างเปล่า ตัวอย่างเช่น:

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict experimental \
-b:v 1M -b:a 128k -movflags frag_keyframe+empty_moov \
output.mp4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.