मैं 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.