मैं ffmpeg का उपयोग करके एक वीडियो में उपशीर्षक की कई भाषाओं को जोड़ने का प्रयास कर रहा हूं। मैं 1 भाषा जोड़ने में सफल रहा, लेकिन दूसरी भाषा नहीं जोड़ सकता। मैं अपने वीडियो में अंग्रेजी उपशीर्षक जोड़ने के लिए इस सरल स्क्रिप्ट का उपयोग करता हूं।

ffmpeg -i %1 -i subs_eng.srt -map 0 -vcodec copy -acodec copy -scodec subrip -metadata:s:s:0 language=English "%~n1"_eng.mkv

इसके अलावा, मैं डच उपशीर्षक जोड़ने के लिए एक और स्क्रिप्ट चलाता हूं।

ffmpeg -i %1 -i subs_nl.srt -map 0? -vcodec copy -acodec copy -scodec subrip -metadata:s:s:1 language=Dutch "%~n1"_nl.mkv

लेकिन जब भी मैं दूसरी भाषा जोड़ता हूं, ऐसा लगता है कि यह कुछ भी नहीं करता है। कमांड टर्मिनल दिखाता है कि ffmpeg वीडियो को प्रोसेस कर रहा है, लेकिन vlc मीडिया प्लेयर (पहला वाला) में केवल 1 उपशीर्षक भाषा उपलब्ध है।

मैं वास्तव में इसे एक ही स्क्रिप्ट के बजाय 2 टेक में जोड़ने में सक्षम होना चाहता हूं, क्योंकि मेरे पास मेरे सभी वीडियो के लिए दोनों भाषाएं नहीं हैं।

1
Appa 31 मार्च 2020, 19:57

1 उत्तर

सबसे बढ़िया उत्तर

उपशीर्षक स्ट्रीम के लिए -map के बिना, ffmpeg सभी इनपुट में से केवल एक उपशीर्षक स्ट्रीम का चयन करेगा।

ffmpeg -i %1 -i subs_nl.srt -map 0 -map 1 -vcodec copy -acodec copy -c:s:0 copy -c:s:1 subrip -metadata:s:s:1 language=Dutch "%~n1"_nl.mkv

मैंने मौजूदा उपशीर्षक स्ट्रीम के लिए कोडेक मोड को copy और subrip पर केवल नए के लिए सेट किया है। यह मानता है कि आपने पहले ठीक एक उपशीर्षक स्ट्रीम को मक्स किया था।

1
Gyan 31 मार्च 2020, 17:07