जवाबों:
चूँकि आपने एक ffmpeg टैग का उपयोग किया है, मैं इसका उपयोग उत्तर के लिए करूँगा।
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
एक अलग सीआरएफ पैरामीटर निर्दिष्ट करके वीडियो की गुणवत्ता बदलें। अधिक जानकारी के लिए x264 एन्कोडिंग गाइड देखें ।
ffmpeg -i input.avi -vf scale=-1:720 output.avi
2012 में इस प्रश्न के लिए मूल स्वीकार किए गए उत्तर के बाद से समय थोड़ा आगे बढ़ गया है। FFmpeg के नए संस्करणों में FFmpeg के 'स्केल' वीडियो फिल्टर का उपयोग करना बेहतर होगा।
मैं नीचे एक उदाहरण देता हूं, इस फिल्टर का उपयोग करके, जो आपके अनुरोध के अनुसार केवल ऑडियो ट्रैक की प्रतिलिपि बनाता है:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a copy \
output.mp4
-tune film
ऊपर दिए गए विकल्प छोड़ा जा सकता है या आप की कोशिश कर सकते -tune animation
वीडियो क्लिप के प्रकार के प्रयोग कर रहे हैं पर निर्भर करता है।
यदि आपने तय किया है कि आप ऑडियो को ट्रांसकोड करना चाहते हैं तो बाहरी लाइब्रेरी libfdk_aac का उपयोग करना एक अच्छा विकल्प होगा:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a libfdk_aac -b:a 128k \
output.mp4
यह निश्चित रूप से मैं एक wmv फ़ाइल के साथ क्या करूँगा जिसे मैं स्केल कर रहा था, आपको स्वीकार्य से अधिक परिणाम मिलेंगे ...
यदि आप सभी ऑडियो ट्रैक, सबटाइटल्स आदि को बरकरार रखना चाहते हैं, तो आपको कुछ इस तरह का उपयोग करना चाहिए:
ffmpeg -i input.mkv \
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
-vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow \
-c:a:0 copy -c:a:1 copy -c:s copy \
output.mkv
इस स्थिति में, input.mkv फ़ाइल में दो ऑडियो ट्रैक और दो उपशीर्षक हैं। आप सभी ऑडियो ट्रैक (या सबटाइटल, या वीडियो इत्यादि) को एक या एक इकाई के रूप में निर्दिष्ट कर सकते हैं (जैसा कि मैंने उपशीर्षक के लिए निर्दिष्ट किया है)।
आशा करता हूँ की ये काम करेगा...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
इसके बजाय, आप इसके बजाय बस निर्दिष्ट कर सकते हैं -map 0
। यह स्वचालित रूप से इनपुट में सभी धाराओं का चयन करेगा। 0. ऑडियो कॉपी कोडेक्स के साथ। केवल कोडेक विकल्प आपको निर्दिष्ट करने की आवश्यकता है -c:copy -c:v libx264
। इसका अर्थ है: "सभी स्ट्रीम कोड को कॉपी करने के लिए सेट करें, वीडियो को छोड़कर जो x264 में ट्रांसकोड होना चाहिए।"
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv