मैं लिनक्स आधारित प्रणाली में MKV में पहली और दूसरी ऑडियो स्ट्रीम कैसे स्वैप करूं?


10

मैं plex का उपयोग कर रहा हूँ। Plex डिफ़ॉल्ट ऑडियो स्ट्रीम (Roku पर) को अनदेखा करने लगता है और इसके बजाय बस पहले ऑडियो स्ट्रीम का उपयोग करें। यह mkvpropedit का उपयोग करके मेरे परीक्षण के अनुसार है।

चूंकि Plex वर्तमान में LAN के बाहर क्लाइंट्स पर ऑडियो स्रोतों को बदलने का समर्थन नहीं करता है, मैं अपनी कुछ फ़ाइलों को बदलना चाहूंगा ताकि वर्तमान दूसरा ऑडियो स्रोत पहले हो?

उबंटू जैसे लिनक्स आधारित सिस्टम पर एमकेवी में ऑडियो स्ट्रीम स्वैप करने का सबसे अच्छा तरीका क्या है?

जवाबों:


14

FFmpeg के साथ , यह सरल होना चाहिए। सुनिश्चित करें कि आप उनके डाउनलोड पृष्ठ से एक स्थैतिक निर्माण डाउनलोड करते हैं और उबंटू रिपॉजिटरी संस्करण का उपयोग नहीं करते हैं, जो काफी पुराना है।

यहाँ आदेश है:

ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv

यहाँ क्या -mapहै:

  • कोलन से पहले का पहला भाग इनपुट आईडी है। चूंकि हमारे पास केवल एक इनपुट है, यह है 0
  • दूसरा भाग धारा, ideo vया audio का प्रकार निर्दिष्ट करता है। यह वैकल्पिक है, लेकिन यह हमेशा एक अच्छा विचार है कि प्रकार को भी निर्दिष्ट करें, इस मामले में कि वीडियो और ऑडियो स्ट्रीम सही ढंग से मल्टीप्लेक्स नहीं हैं।
  • तीसरा भाग इनपुट स्ट्रीम की आईडी है। 0पहला होगा, और 1दूसरा, यानी पहला वीडियो स्ट्रीम और दूसरा और पहला ऑडियो स्ट्रीम।
  • के आदेश -mapविकल्पों आउटपुट फ़ाइल में धाराओं का क्रम निर्धारित करता।

इसका मतलब है कि हम वीडियो को पहले स्ट्रीम के रूप में बिटस्ट्रीम छोड़ देंगे, फिर दूसरी ऑडियो स्ट्रीम लेंगे, और फिर पहला- संक्षेप में, हम ऑडियो स्ट्रीम को स्वैप कर रहे हैं।

-c copyविकल्प का उपयोग यह सुनिश्चित करता है कि बिटस्ट्रीम की प्रतिलिपि बनाई गई है और फिर से एनकोड नहीं किया गया है।

कैसे-map FFmpeg विकी पर विकल्प का उपयोग किया जा सकता है पर कुछ उदाहरण ।


यदि केवल एक इनपुट है तो आप वास्तव में इनपुट आईडी छोड़ सकते हैं -map v:0 -map a:1 -map a:0:।
डेसर्ट

7

बस से बचने के लिए mkvtool का उपयोग करें, फिर से भरना, फिर से एनकोड करना ... समय बर्बाद करना।

mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2

यह धारा को स्वैप करने के लिए पर्याप्त होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.