ฉันจับภาพวิดีโอจากเว็บแคมของฉันด้วยคำสั่งต่อไปนี้:
ffmpeg -r 30 -f v4l2 -video_size 160x120 -i /dev/video0 output.avi
ตัวเลือก -r ระบุอัตราเฟรมที่ฉันต้องการ อย่างไรก็ตามไม่ใช่ว่าฉันต้องการ 30 FPS เป็นเพียงแค่นั้นไม่เช่นนั้นจะทำงานไม่ถูกต้อง
หากไม่มีการรวมเฟรมการจับภาพจะค่อนข้างมาก (ฉันเดาว่ามันจะพยายามจับภาพมากเกินไป แต่ไม่สามารถติดตามได้)
ด้วยการตั้งค่าเฟรมภาพไว้ที่ 15 วิดีโอเอาต์พุตจะยาวขึ้นเป็นสองเท่าของระยะเวลาการจับภาพ (ชนิดของการเคลื่อนไหวช้า)
ด้วยอัตราเฟรมที่ 30 ดูเหมือนว่าจะเป็นจริง
ฉันจะแน่ใจได้อย่างไรว่าฉันควรใช้ 30 fps หากฉันต้องการบันทึก 15 fps ฉันควรทำอย่างไรเพื่อให้ได้การเล่นที่ถูกต้อง
ข้อมูลเกี่ยวกับเว็บแคมของฉัน:
co@macbook2008:~$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Size: Discrete 160x120
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.036s (27.500 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.044s (22.500 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.057s (17.500 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.080s (12.500 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 176x144
Interval: Discrete 0.033s (30.000 fps)
... and so on for other resolutions
ขอบคุณ
ถ้าฉันจะเสี่ยงอันตรายเดา วิดีโอต้นฉบับยังมี 30 fps ผลลัพธ์ของคำสั่งที่คุณออกมายืนยันสิ่งนี้
—
Ramhound
มันยืนยันได้อย่างไรว่ามีเฟรมต่อวินาทีจำนวนมาก คนแรกที่ใช้?
—
chocopoche
ฉันไม่เข้าใจ คุณออกคำสั่ง
—
Ramhound
v4l2-ctl --list-formats-ext
และเอาต์พุตแสดงอัตราเฟรมที่รองรับและความละเอียดของอุปกรณ์ต้นทางซึ่งแท้จริงแล้วระบุว่า 30 fps สูงสุดที่จะรองรับ
คุณสามารถตั้งค่า fps เป็น 27.5 หากคุณต้องการโดยเปลี่ยนค่าและออกคำสั่งต่อไปนี้:
—
Ramhound
ffmpeg -r 27.5 -f v4l2 -video_size 160x120 -i /dev/video0 output.avi
เมื่อฉันทำ
—
chocopoche
ffmpeg -r 15 -f v4l2 -video_size 160x120 -i /dev/video0 output.avi
15 วินาทีฉันจะได้รับ 30 วินาที ดังนั้นการv4l2-ctl --list-formats-ext
บอกว่าฉันสามารถจับภาพที่ 15 fps แต่ฉันจะไม่สามารถเล่นด้วยความเร็วที่เหมาะสม ฉันเดาว่ามันใช้กับ 27.5 fps แต่ฉันไม่สามารถทดสอบได้อย่างแน่นอน