मैं एक 1080p wmv वीडियो को 720p वीडियो में कैसे बदल सकता हूं?


14

मेरे पास एक 1080p wmv वीडियो है जिसे मैं कम गुणवत्ता (अधिमानतः 720p) वीडियो में बदलना चाहता हूं। मैं ऑडियो बरकरार रखना चाहूंगा। मैं इसे उबंटू में कैसे पूरा कर सकता हूं?

जवाबों:


16

चूँकि आपने एक ffmpeg टैग का उपयोग किया है, मैं इसका उपयोग उत्तर के लिए करूँगा।

ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4

एक अलग सीआरएफ पैरामीटर निर्दिष्ट करके वीडियो की गुणवत्ता बदलें। अधिक जानकारी के लिए x264 एन्कोडिंग गाइड देखें ।


1
विकल्प 'समान' हटा दिया गया था। यदि आप गुणवत्ता को संरक्षित करने के लिए एक विकल्प की तलाश कर रहे हैं (जो कि -sameq के लिए नहीं था), उपयोग -qscale 0 या समकक्ष गुणवत्ता कारक विकल्प है।
juanmah

Ffmpeg के विकी के अनुसार , यह उतना ही सरल हो सकता है:ffmpeg -i input.avi -vf scale=-1:720 output.avi
andersonvom

4

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 फ़ाइल के साथ क्या करूँगा जिसे मैं स्केल कर रहा था, आपको स्वीकार्य से अधिक परिणाम मिलेंगे ...


1

यदि आप सभी ऑडियो ट्रैक, सबटाइटल्स आदि को बरकरार रखना चाहते हैं, तो आपको कुछ इस तरह का उपयोग करना चाहिए:

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 फ़ाइल में दो ऑडियो ट्रैक और दो उपशीर्षक हैं। आप सभी ऑडियो ट्रैक (या सबटाइटल, या वीडियो इत्यादि) को एक या एक इकाई के रूप में निर्दिष्ट कर सकते हैं (जैसा कि मैंने उपशीर्षक के लिए निर्दिष्ट किया है)।

आशा करता हूँ की ये काम करेगा...


1
आपको ऊपर दिए गए तरीके से प्रत्येक स्ट्रीम को निर्दिष्ट करने की आवश्यकता नहीं है: -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
Cheekysoft
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.