में डिकोडिंग उपशीर्षक कैसे निष्क्रिय करने के लिए मैं कुछ वीडियो वीडियो, ऑडियो और उपशीर्षक ffmpeg का उपयोग कर किसी अन्य स्वरूप में धाराओं युक्त फ़ाइल कन्वर्ट करने के लिए कोशिश कर रहा हूँ। हालांकि, ffmpeg उपशीर्षक प्रारूप के बारे में शिकायत करता है - यह स्ट्रीम को डीकोड नहीं कर सकता है। चूंकि मुझे इस उपशीर्षक स्ट्रीम की आवश्यकता नहीं है, इसलिए मैं जानना चाहता हूं कि मैं रूपांतरण के दौरान उपशीर्षक स्ट्रीम डिकोडिंग को कैसे अक्षम कर सकता हूं?ffmpeg
ffmpeg
उत्तर
मुझे अंततः एक उत्तर मिला है।
ऐसे विकल्प हैं जैसे -sn
जो इनपुट स्ट्रीम से उपशीर्षक डिकोडिंग अक्षम करता है। इसके अलावा ऑडियो और वीडियो डिकोडिंग के लिए समान विकल्प हैं: और -vn
क्रमशः।
यह भी पता चला कि इसे प्राप्त करने का एक और तरीका है। कौन से धाराओं को डीकोड किया जाना है, यह चुनने के लिए -map
विकल्प का उपयोग कर सकते हैं। इसलिए -map
विकल्पों के बीच उपशीर्षक स्ट्रीम को छोड़ना नौकरी करता है।
उदाहरण के लिए, अगर एक 3 धाराओं के साथ एक फिल्म फ़ाइल है:
- स्ट्रीम 0: वीडियो
- स्ट्रीम 1: ऑडियो
- स्ट्रीम 2: उपशीर्षक
परिवर्तित आदेश एफएफएमपीईजी निम्नानुसार देख सकता है:
ffmpeg -i <input file> -sn -vcodec <video codec> -acodec <audio codec> <output file>
या
ffmpeg -i <input file> -vcodec <video codec> -acodec <audio codec> -map 0:0 -map 0:1 <output file>
पूर्व कमांड लाइन deselects उपशीर्षक धारा (शायद उन सभी को है, अगर वहाँ कई हैं), जबकि दूसरा एक केवल आवश्यक धाराओं को डिकोड करने के चयन करता है।
+1 की आवश्यकता होगी पहला दृष्टिकोण (-एसएन विकल्प) पूरी तरह से काम करता है, धन्यवाद। (इसे एक एमकेवी फ़ाइल पर कोशिश की।) – Sabuncu
महान काम करता है! यदि आपको इसे फिर से एन्कोड किए बिना वीडियो फ़ाइल से सबस को निकालना होगा तो यह बहुत तेज़ काम करता है: 'ffmpeg -i video.mkv -vcodec copy -acodec copy -sn video-no-subs.mkv' – cherouvim
उपशीर्षक को हटाने से मल्टीप्लेक्सिंग डैश शिकायतों से बचने के लिए भी उपयोगी है। हालांकि वीएलसी कुछ मेटाडेटा को उपशीर्षक के रूप में दिखाता है, इसे ffmpeg के साथ हटाने के लिए आपको '-map_metadata -1' –