मैं एक वीडियो को सांकेतिक शब्दों में बदलना चाहता हूं, जिसकी लंबाई 60 सेकंड है, लक्ष्य तक या अधिकतम आकार 10 एमबी ।
मेरे दो दृष्टिकोण हैं। एक को एफएफएमपीईजी-विकी में समझाया गया है, और दूसरा जो मुझे प्रलेखन में मिला है। दुर्भाग्य से, मुझे इस बात पर स्पष्टीकरण नहीं मिला कि कब किस विधि का उपयोग करना है।
क्या उन तरीकों में से किसी की सिफारिश की गई है? यदि नहीं, तो प्रत्येक विधि के अपसाइड / डाउनसाइड क्या हैं?
1) वीडियो की लंबाई से मेल करने के लिए बिटरेट की गणना और सेट करें जैसा कि ffmpeg-wiki में बताया गया है
(10 एमबी * 8192 [एमबी को किलोबाइट में परिवर्तित करता है]) / 60 सेकंड = ~ 1365 kbits / s कुल बिटरेट 1365k - 128k (वांछित ऑडियो बिटरेट) = 1237k वीडियो बिटरेट
ffmpeg -y -i input -c:v copy -preset medium -b:v 1237k -pass 1 -c:a copy -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 1237k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4
2) -fs
पैरामीटर का उपयोग करें और इसे ffmpeg का पता लगाने दें।
ffmpeg -i input -c:v copy -c:a copy -preset medium -crf 23 -fs 10485760 output.mp4
libx264
के रूप मेंc:v
। मेंfs
उदाहरण के लिए, आप वीडियो में ट्रांसकोडिंग नहीं कर रहे हैं, के बाद से-c:v copy
किया जाता है। तो,preset
औरcrf
भी कोई प्रभाव नहीं है।