Ffmpeg बनाने की प्रक्रिया पहले ऑडियो स्ट्रीम को अन्य सभी की तुलना में अलग बनाती है


0

मैं एक कमांड लिखने की कोशिश कर रहा हूं, जैसे कि ffmpeg किसी फाइल में पहले ऑडियो स्ट्रीम के लिए दिए गए इंस्ट्रक्शन और किसी और सभी अन्य लोगों के लिए एक अलग इंस्ट्रक्शन देता है। उदाहरण के लिए, नीचे दिए गए परीक्षण के मामले में, मैं चाहता हूं कि पहली फाइल आउटपुट फाइल में कॉपी हो जाए और अन्य सभी मोनो में परिवर्तित हो जाएं। अगर मैं इसे इस तरह लिखता हूं

ffmpeg -i INPUT -map 0 -c copy -map 0:a:0 -c:a:0 copy -map -0:a:0? -c:a libfdk_aac -ac 1 OUTPUT

पहले ऑडियो स्ट्रीम को अनदेखा कर दिया जाता है, जब बाद में कमांड लाइन में मैपिंग ओवरराइड हो जाती है। लेकिन अगर मैं दूसरों के बाद उस स्ट्रीम के लिए निर्देश को आगे बढ़ाता हूं

ffmpeg -i INPUT -map 0 -c copy -map -0:a:0? -c:a libfdk_aac -ac 1 -map 0:a:0 -c:a:0 copy OUTPUT

इसे अब नजरअंदाज नहीं किया जाता, बल्कि फाइल में अंतिम ऑडियो स्ट्रीम बन जाता है । मुझे पता है कि मैं यहाँ करीब हूँ; मैं सिर्फ यह नहीं देख सकता कि मैं क्या गलत कर रहा हूँ।

जवाबों:


4

उपयोग

ffmpeg -i INPUT -map 0 -c copy -c:a libfdk_aac -c:a:0 copy -ac 1 OUTPUT

आपको केवल एक बार एक स्ट्रीम मैप करना होगा। यह कोडेक विकल्पों का क्रम है जिसे सही ढंग से सेट किया जाना है। सभी धाराओं को कॉपी करने के लिए पहले सेट करें। फिर एनकोडर के साथ ऑडियो सेटिंग को ओवरराइड करें लेकिन फिर से कॉपी करने के लिए पहले ऑडियो को रीसेट करें।


यहाँ जेनेरिक लॉजिक उन विकल्पों पर लागू होता है जो स्ट्रीम -b:v, -c:a -map 0:s:1स्पेसर जैसे ..etc को लेते हैं

मान लें कि आपके पास पहले कॉलम के क्रम में मैप की गई तीन वीडियो स्ट्रीम और तीन ऑडियो स्ट्रीम हैं। नीचे दी गई तालिका से पता चलता है कि जब आप पहली पंक्ति के क्रम में विकल्प लागू करते हैं तो क्या होता है:

(stream)    -c copy     -c:a:0 aac      -c:a libfdk_aac     -c:4 mp3
0:v:0       copy        copy            copy                copy
0:v:1       copy        copy            copy                copy
0:v:2       copy        copy            copy                copy
0:a:0       copy        aac             libfdk_aac          libfdk_aac
0:a:1       copy        copy            libfdk_aac          mp3
0:a:2       copy        copy            libfdk_aac          libfdk_aac

1
मुझे लगता है कि मैं इसे बुकमार्क करने जा रहा हूं। मेरे पास पूरी तरह से ffmpeg "मैप" लॉजिक की गलत अवधारणा थी। बहुत आभारी।
वैली वाल्टर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.