แยกเฟรมออกจากวิดีโอโดยใช้ ffmpeg - เฟรมถูกต้องหรือไม่


0

ฉันต้องการแยกเฟรมที่มีคุณภาพสูงสุดจากวิดีโอ ฉันจะใช้ ffmpeg ทางนี้:

ffmpeg -i source_vid.mp4 -ss 15:10.123 -to 15:11.249 frames/frame_%03d.png

คำถามของฉัน:

  1. จะ ffmpeg ค้นหาเฟรม "ที่เหมาะสม" โดยอัตโนมัติ w.r.t -ss เวลาหรือมันจะ 'สอดแทรก' ระหว่างสองเฟรมหาก -ss เวลาไม่ตรงตามเวลาที่กำหนดในเฟรม
  2. หากคำตอบของคำถามข้างต้นคือ 'สอดแทรก' ฉันจะแน่ใจได้อย่างไรว่าฉันได้รับเฟรมที่ 'ถูกต้อง' แทนที่จะเป็นเฟรม

(ฉันขอโทษถ้าเงื่อนไขที่ฉันใช้นั้นไม่ถูกต้องหรือถูกต้องรู้สึกอิสระที่จะแก้ไขคำศัพท์ของฉัน)

ขอบคุณ!

คำตอบ:


1

ตั้งแต่คุณได้ระบุ ss และ to เป็นตัวเลือกเอาต์พุต FFmpeg จะสร้างเฟรมทั้งหมดจากจุดเริ่มต้นของไฟล์ แต่ทิ้งไว้จนกว่าตำแหน่งเริ่มต้นจะบรรลุ ย้ายตัวเลือกเหล่านั้นไปข้างหน้าอินพุต

ffmpeg -ss 15:10.123 -to 15:11.249 -i source_vid.mp4 frames/frame_%03d.png

FFmpeg จะไม่แก้ไขหากไม่ได้ระบุตัวกรอง

สำหรับการแยกเฟรมอย่างแม่นยำตามดัชนีให้ใช้

ffmpeg -i source_vid.mp4 -vf trim=start_frame=n:end_frame=m frames/frame_%03d.png

ฉันคิดเพียงเอสเอสเป็นสวิตช์อินพุตทำให้ถอดรหัสเฟรมทั้งหมด ...
jiggunjer

เมื่อใช้งาน ss มันสามารถตรวจสอบการประทับเวลาหลังจากสร้างเฟรมเอาต์พุตดังนั้นเฟรมอินพุตถูกถอดรหัสและเข้ารหัสเป็นรูปแบบเอาต์พุตก่อนที่ ffmpeg จะสามารถประเมินได้ว่าจะเก็บหรือทิ้ง
Gyan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.