ฉันต้องการคำสั่งค้นหา FFmpeg ที่รวดเร็วและแม่นยำ ฉันพบนี้
วิธีการแก้ปัญหาคือเราใช้-ss
ทั้งอินพุต (การค้นหาอย่างรวดเร็ว) และเอาต์พุต (การค้นหาที่แม่นยำ) แต่: หากการค้นหาอินพุตไม่ถูกต้องเราจะมั่นใจได้อย่างไรว่าตำแหน่งการค้นหานั้นถูกต้อง
ตัวอย่างเช่น: หากเราต้องการค้นหา 00:03:00 คำสั่งจะเป็นดังนี้:
ffmpeg -ss 00:02:30 -i <INPUT> ... -ss 00:00:30 <OUTPUT>
เป็นครั้งแรกที่-ss
จะหาทางไปที่อื่นไม่พูด00:02:30
00:02:31
และหลังจากใช้การค้นหาครั้งที่สองผลลัพธ์สุดท้ายก็คือ00:03:01
- ไม่ใช่สิ่งที่เราต้องการ ถูกต้องหรือไม่
คนแรก-ss
จะแสวงหาที่ไหน? มันหาคีย์เฟรมที่ใกล้เคียงที่สุด00:02:30
หรือไม่?
ถ้าเป็นเช่นนั้นนี่คือความคิดของฉัน - แก้ไขฉันหากฉันผิด: หลังจากค้นหาครั้งแรกเราจะได้รับการบันทึกเวลาของผลลัพธ์ (ในตัวอย่างนี้00:02:31
) จากนั้นเราจะใช้การค้นหาครั้งที่สองในเวลาที่เหมาะสมในกรณี00:00:29
นี้
คำถามคือเราจะได้เวลาประทับของผลการค้นหาครั้งแรกได้อย่างไร