FFMPEG - एक वीडियो को टाइमलैप्स में बदलें


15

मैं वीडियो का समय व्यतीत करने के लिए वीडियो को परिवर्तित करने के लिए फ्लैश बिल्डर (एक्शन स्क्रिप्ट 3) में ffmpeg का उपयोग कर रहा हूं। मैंने काम किया है कि ऐसा करने के लिए सेटिफ़िकेशन का उपयोग कैसे किया जाए, लेकिन परिणामी आउटपुट फ़ाइल इनपुट की तरह ही लंबाई है (समय व्यतीत हो जाने के बाद प्रदर्शित किए गए अंतिम फ्रेम के साथ), मैं चाहता हूं कि सेटिंग्स के आधार पर अवधि बदल दी जाए ffmpeg के लिए।

मैं पहले कमांड लाइन के माध्यम से नीचे की कोशिश कर रहा हूँ:

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

किसी भी तरह की सहायता का स्वागत किया जाएगा!

जवाबों:


21

समस्या सुलझ गयी। मैं ऑडियो नहीं निकाल रहा था, इसलिए संभवतः यह वीडियो के पूरे समय के लिए खाली, ऑडियो फ़ाइल के पास खेल रहा था।

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4

-an वीडियो से ऑडियो निकालता है।


2

ऑडियो को गति देने पर यहाँ कुछ और विवरण। आप 2x तक कर सकते हैं, लेकिन आप इसे और भी अधिक तेज़ी से बढ़ा सकते हैं ( स्रोत ):

ऑडियो को तेज़ / धीमा करना

आप atempo ऑडियो फ़िल्टर के साथ ऑडियो को गति या धीमा कर सकते हैं । ऑडियो की गति को दोगुना करने के लिए:

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

एटेम्पो फिल्टर 0.5 और 2.0 के बीच मूल्यों का उपयोग करने के लिए सीमित है (इसलिए यह इसे कम से कम मूल गति से कम नहीं कर सकता है, और इनपुट से दोगुना से अधिक नहीं हो सकता है)। यदि आप की जरूरत है, तो आप एक साथ कई atempo फिल्टर स्ट्रिंग द्वारा इस सीमा के आसपास प्राप्त कर सकते हैं। ऑडियो गति को चौगुनी करने के साथ निम्नलिखित है:

ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

एक जटिल फ़िल्टरग्राफ का उपयोग करके, आप एक ही समय में वीडियो और ऑडियो को गति दे सकते हैं:

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.