Avconv के साथ पुन: mkv को mp4 में बदलें


3

मुझे एक स्क्रिप्ट बनाने की ज़रूरत है जो सभी .mkv फाइलों को .mp4 को एक प्रारंभिक निर्देशिका में और इसके तहत सभी उप-निर्देशिकाओं में बदल सकती है।

मैं एक बार में एक का उपयोग करके फ़ाइलों को परिवर्तित करने में सक्षम रहा हूं:

avconv -i input.mkv -codec copy output.mp4

और वर्तमान निर्देशिका में सभी फ़ाइलों को परिवर्तित करना बहुत मुश्किल नहीं होगा। लेकिन खोज के घंटों के बाद, मैं इसे पुनरावर्ती तरीके से करने का एक तरीका नहीं खोज सकता।

मैंने पाया है कि मुझे खोज कमांड का उपयोग करने की आवश्यकता है, लेकिन मैं लिनक्स के लिए अपेक्षाकृत नया हूं और मुझे जो भी चाहिए उसे पूरा करने के लिए खोज और एवोक के संयोजन में पूरी तरह से खो गया।

जवाबों:


4

आपको बैश में पुनरावर्ती ग्लोबिंग को सक्षम करने की आवश्यकता है:

shopt -s globstar

फिर, उत्पादन फ़ाइल नाम की जगह एक साधारण लूप:

for f in **/*.mkv; do avconv -i "$f" -c copy "${f%.mkv}.mp4"; done

ध्यान दें कि यह उन वीडियो पर विफल हो सकता है जिनमें कोडेक्स MP4 कंटेनर होते हैं जो संभाल नहीं सकते हैं। MP4 MKV से अधिक प्रतिबंधात्मक है, जिसमें मूल रूप से सभी कोडेक्स शामिल हो सकते हैं।


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