मैं एक वीडियो के "हर 10 फ्रेम के बिल्कुल 1 फ्रेम" निकालने की कोशिश कर रहा हूं (यानी 1 निकालें, 9 को फिर से दोहराएं) वैज्ञानिक उद्देश्यों के लिए। वीडियो 105 फ्रेम, 3.5 सेकंड, 29.97fps (h.264, .mov, Nikon D3100 द्वारा निर्मित) है।
मैंने इसे यहाँ अपलोड किया है ।
वीएलसी
नीचे कमांड में 10 फ्रेम का उत्पादन होना चाहिए, लेकिन यह केवल 6 छवियों का उत्पादन करता है। मैंने विभिन्न दृश्य अनुपातों की कोशिश की और उनमें से कोई भी सही संख्या में फ़्रेम का उत्पादन नहीं करता है (सही करने के लिए भी पास नहीं है)।
vlc 1.mov --video-filter=scene --vout=dummy --scene-ratio=10 --scene-prefix=img- --scene-path=. vlc://quit
क्या कोई मुझे बताएगा कि समस्या क्या है?
FFmpeg
FFmpeg के पास मेरे उद्देश्य के लिए एक कमांड नहीं है। नीचे कमान हर दूसरे में से 3 फ्रेम निकालती है, लेकिन चूंकि एफपीएस बिल्कुल 30 नहीं है (बल्कि 2.97), जो मेरे लिए सही परिणाम नहीं देगा।
इसके अलावा यहां तक कि FFmpeg इस कमांड के साथ फ्रेम की सही संख्या भी नहीं देता है। 3.5 सेकंड के वीडियो के लिए मुझे सबसे अधिक 10 फ्रेम की उम्मीद है, लेकिन मुझे जो मिल रहा है वह 12 फ्रेम है!
ffmpeg -i 1.mov -y -an -sameq -r 3 -f image2 -vcodec mjpeg %03d.jpg
मैं जो चाहता हूं उसे कैसे हासिल कर सकता हूं?
-sameq
ऐसा नहीं करता है जो आप शायद सोचते हैं कि यह करता है, और वर्तमान संस्करण से हटा दिया गया है (असली ffmpeg है, मुझे यकीन नहीं है कि यह उबंटू नकली ffmpeg में है)। इसके बजाय qscale का उपयोग करें।