2012-09-21 28 views
5

मैं ffmpeg 0.11.1 का उपयोग कर वीडियो से कीफ्रेम निकालने का प्रयास कर रहा हूं। अब तक मैंने जिन सभी आदेशों का प्रयास किया है, वे कीफ्रेम निकालने नहीं हैं लेकिन आउटपुट में सभी फ्रेम यानी 25fps * फ्रेम की कुल समय संख्या लौटाते हैं। मैंने यह सुनिश्चित करने के लिए keyint_min को 25 के रूप में सेट करने का प्रयास किया है कि प्रति सेकंड अधिकतम 1 कीफ्रेम है।ffmpeg keyframe निष्कर्षण

ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -g 250 -keyint_min 25 -i C:\test.mp4 -vsync 2 -f image2 C:\testTemp\thumbnails-%02d.jpeg 

लेकिन फिर भी सभी फ्रेम वापस आ गए हैं।

फिर मैंने 20 सेकंड तक कीफ्रेम को अलग करने की कोशिश की।

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)*(isnan(prev_selected_t)+gte(t-prev_selected_t\,20))' -vsync 0 -f image2 C:\testTemp\%09d.jpg 

फिर भी वही परिणाम, सभी फ्रेम लौटा दिए जाते हैं।

मुझे क्या करना चाहिए?

उत्तर

9

आपके पहले कमांड में आप फ़िल्टर को इनपुट विकल्प के रूप में उपयोग कर रहे हैं। मुझे नहीं पता कि ffmpeg कैसे व्याख्या करेगा।

इस प्रयास करें:

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)',setpts='N/(25*TB)' C:\testTemp\%09d.jpg 

बदलें 25 अपने स्रोत के फ्रेम दर करने के लिए: NTSC वीडियो के लिए 30000/1001, NTSC फिल्म के लिए 24000/1001, के लिए पाल 25, आदि

नियंत्रण उत्पादन -q:v या -qscale:v विकल्प के साथ गुणवत्ता (पुराने ffmpeg में केवल -qscale कहा जाता है)। एमपीईजी * के लिए रेंज 1-31 है जहां 31 सबसे खराब गुणवत्ता है।

अगली बार याद रखें कि ffmpeg उपयोग प्रश्न superuser.com पर पूछे जाने हैं क्योंकि स्टैक ओवरफ्लो विशेष रूप से प्रोग्रामिंग के लिए है।

+0

हाय धन्यवाद, लेकिन मुझे एक त्रुटि मिली त्रुटि के साथ फ़िल्टर का चयन शुरू करने में त्रुटि। खोलने और बंद करने की संख्या बराबर नहीं है इसलिए मैंने चयन भाग को 'eq (pict_type \, I), setpts = N/(25 * TB)' चुनने के लिए चुनिंदा भाग को बदलने का प्रयास किया और फिर = eq (pict_type \, I), सेट्स = 'एन/(25 * टीबी)' 'लेकिन दोनों ने एक ही त्रुटि –

+0

क्षमा की। खराब पेस्ट नौकरी। मैंने आदेश को अद्यतन किया, लेकिन मैं इस समय परीक्षण करने में असमर्थ हूं। – LordNeckbeard

+0

मुझे मिल रहा है: गायब ')' या 'eq (pict_type \, I)' में बहुत अधिक तर्क और फिर अभिव्यक्ति 'eq (pict_type \, I)' –