मैं ffmpeg के साथ अपने वीडियो के अंतिम 7 सेकंड को कैसे काट सकता हूं?


2

मैंने अपने कैमरे से एक वीडियो कैप्चर किया है, लेकिन मुझे नहीं पता कि यह कितने समय के लिए है। मैं ffmpegवीडियो के केवल 7 सेकंड को रखने और काटने के लिए उपयोग करना चाहता हूं । क्या यह संभव है?

मैंने कमांड की कोशिश की:

ffmpeg -t 00:00:07 -i input.avi -vcodec copy newfile.avi

लेकिन यह केवल वीडियो के पहले 7 सेकंड को छोड़ देता है, और वीडियो को फ़्लिप करता है।


1
मुझे आश्चर्य है कि यह वीडियो को फ़्लिप करने के लिए क्यों दिखाता है। लेकिन वीडियो की अवधि जानने के लिए ffmpeg -i input.aviआउटपुट फ़ाइल नाम के बिना कमांड का उपयोग करें। वह अवधि दिखाएगा। फिर आप ध्वज के duration - 7लिए उपयोग करने के लिए उपयोग कर सकते हैं -ss। यहाँ पूरा कंसोल आउटपुट प्रदान करें।
राजिब

मुझे पता है कि लेकिन मैं अपने सी # कोड से ffmpeg का उपयोग करने की कोशिश कर रहा हूं इसलिए मैं वीडियो की अवधि को जाने बिना इसे करने की कोशिश कर रहा हूं। मैं सिर्फ आखिरी 7 सेकंड्स काटना चाहता हूं
निकनेम

मुझे C # के बारे में कुछ भी पता नहीं है, लेकिन आप C # से अवधि क्यों नहीं पूछ सकते हैं - ffmpeg / ffprobe (कोड में अवधि प्रदान करने वाले मॉड्यूल की जांच करें) और फिर जानकारी वापस करें?
राजिब

जवाबों:


2

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

कहें कि आपका वीडियो 40 सेकंड लंबा है और आप 7 सेकंड काटना चाहते हैं, तो आपको केवल 33 सेकंड एन्कोड करना होगा, इसलिए:

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