सवाल avconv - एक वीडियो फ्रेम निकालें और इसे दोहराएं


मैं स्रोत फ्रेम से आउटपुट तक एक फ्रेम दोहराना चाहता हूं। मैंने निम्नलिखित कोशिश की है

avconv -ss 00:20:00 -i INPUT_VIDEO -t 0.5 -vsync 1 -an -r 1 -vcodec libx264 VIDEO_1F
avconv -i VIDEO_1F -t 10 -r 1 -vcodec libx264 OUTPUT_VIDEO

लेकिन मैंने पाया -ss पूर्व कमांड में काम नहीं करता है, और यह हमेशा इनपुट वीडियो के पहले फ्रेम को निकालेगा; उत्तरार्द्ध में -t इसका कोई प्रभाव नहीं है और आउटपुट वीडियो की अवधि 2 सेकंड होगी।

कोई उपाय? या, क्या एक बेहतर दृष्टिकोण है?


4
2018-03-29 02:45


मूल




जवाब:


मुझे 2 कदम भी मिल गया है।

पहले फ्रेम निकालें

avconv -ss 00:20:00 -i INPUT_VIDEO -vsync 1 -t 0.01 output.png

एक मौका है कि avconv 0.01s के भीतर एक से अधिक फ्रेम निकालता है, और एक त्रुटि के साथ समाप्त होता है "... पैटर्न 'output.png' से फ्रेम फ़ाइल नाम संख्या 2 नहीं मिल सका ..."। लेकिन ध्यान न दें क्योंकि हमें केवल पहले फ्रेम की आवश्यकता है।

फिर छवि को वीडियो में कनवर्ट करें

avconv -loop 1 -i output.png -vcodec libx264 -tune stillimage -t 10 OUTPUT_VIDEO

4
2018-03-31 00:56