ฉันต้องการคำสั่งค้นหา 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นี้
คำถามคือเราจะได้เวลาประทับของผลการค้นหาครั้งแรกได้อย่างไร