FFMPEG समान गुणवत्ता के साथ MP4 विभाजन


51

मेरे पास एक बड़ी MP4 फ़ाइल है। मैं इसे छोटी फाइलों में विभाजित करने का प्रयास कर रहा हूं।

ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4

मैंने सोचा था कि -sameq का उपयोग करने से समान गुणवत्ता सेटिंग्स बनी रहेंगी। हालाँकि, मुझे यह नहीं समझना चाहिए कि वह क्या करता है।

मैं एक ही गुणवत्ता (ऑडियो / वीडियो) और विभाजन फ़ाइलों के साथ संपीड़न रखने के लिए देख रहा हूँ। हालाँकि, यह सेटिंग स्प्लिट फ़ाइलों को अधिक बड़ा बनाती है।

आकार के अनुपात में समान गुणवत्ता बनाए रखते हुए विभाजित फ़ाइलों में समान गुणवत्ता और गुण रखने के लिए मुझे कौन से ध्वज (सेट) की आवश्यकता है?

उदाहरण के लिए यदि मेरी मूल फ़ाइल लगभग 12 GB है और 1920x1080 10617kbps की बिटरेट के साथ है और 23 फ्रेम / सेकंड और 6 चैनल ऑडियो का एक फ्रेमवर्क 317kbps के साथ है, तो मैं चाहूंगा कि इस आकार का केवल एक तिहाई हिस्सा ही फाइलें विभाजित हो ( अगर मैं इसे तीन टुकड़ों में विभाजित करता हूं)।


3
किसी को भी इसे पढ़ने के लिए FYI करें: इसका उपयोग न करें -sameq, इसका मतलब "समान गुणवत्ता" नहीं है
ज़ाज़

जवाबों:


81

यदि आप वीडियो को बिना री-इकोडिंग के केवल विभाजित करना चाहते हैं, तो copyऑडियो और वीडियो के लिए कोडेक का उपयोग करें । इसे इस्तेमाल करे:

ffmpeg -ss 00:00:00 -t 00:50:00 -i largefile.mp4 -acodec copy \
-vcodec copy smallfile.mp4

ध्यान दें कि यह केवल पहला विभाजन बनाता है। अगले एक कमांड के साथ शुरू किया जा सकता है ffmpeg -ss 00:50:00

यह एक ही आदेश के साथ किया जा सकता है:

ffmpeg -i largefile.mp4 -t 00:50:00 -c copy smallfile1.mp4 -ss 00:50:00 -c copy smallfile2.mp4

यह smallfile1.mp4 बनाएगा, bigfile.mp4 के वीडियो में 50 मिनट पर समाप्त होगा, और smallfile2.mp4, 50 मिनट में शुरू और bigfile.mp4 के अंत में समाप्त होगा।


2
एक mp4 फ़ाइल पर इस पद्धति का उपयोग करते हुए, मुझे हर बनाई गई फ़ाइल के पहले दो सेकंड एक जमे हुए फ्रेम (ऑडियो सामान्य रूप से खेलते हैं) के रूप में मिलते हैं। इसका कोई ज्ञात कारण?
रॉन हैर्लेव

बग जैसा लगता है। नवीनतम ffmpeg पर अपडेट करें।
रॉबर्ट

@ रॉबर्ट मैंने 2010 से कई बार अपडेट किया है। धन्यवाद।
फिडेली

@ रोनारलेव यह वर्तमान में अपेक्षित व्यवहार है। पुन: एन्कोडिंग के बिना, आप केवल "कुंजी फ़्रेम" पर वीडियो काट सकते हैं। मुख्य फ़्रेमों के बीच फ़्रेम पूर्ण छवि बनाने के लिए अपने आप में पर्याप्त जानकारी नहीं रखते हैं। देखें: trac.ffmpeg.org/wiki/Seeking#Seekingwhiledoingacodeccopy
फिलिप

3

इसे करने का एक वैकल्पिक तरीका है:

// create a 2-min clip
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4

/**
* -i  input file
* -ss start time in seconds or in hh:mm:ss
* -to end time in seconds or in hh:mm:ss
* -c codec to use 
*/

फ़ाइल की गुणवत्ता वही रहती है क्योंकि हम -c copyमूल ऑडियो + वीडियो स्ट्रीम को आउटपुट में कॉपी करने के लिए उपयोग करते हैं।

संदर्भ, आमतौर पर इस्तेमाल किए जाने वाले FFmpeg कमांड की सूची: DigitalFortress

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