ओपन सोर्स कमांड लाइन सबटाइटल कनवर्टर


20

क्या कोई खुला स्रोत, कमांड लाइन, सबटाइटल कन्वर्टर्स हैं - अधिमानतः लिनक्स के लिए?

जवाबों:


26

आप FFmpeg (महान उपकरण!) आज़मा सकते हैं:

$ ffmpeg -i file.srt file.vtt

9

उपशीर्षक को बदलने के लिए बहुत सरल और प्रभावी आईलाइनर का उपयोग करता हूं:

for i in *.ass ; do ffmpeg -i "$i" "$i.srt" ; done

बस बदलो assऔर srtअपनी आवश्यकताओं के अनुसार।


7

सबटाइटल perl swiss आर्मी नाइफ (पेज के अंत तक स्क्रॉल करें)।

यहां आप अधिक विकल्प पा सकते हैं।

इसके अलावा, mplayer / mencoder में कुछ डंपएक्सएक्सएक्सयूब विकल्प हैं, जो काम कर सकते हैं। मैंने कभी यह कोशिश नहीं की, लेकिन आदमी को पढ़ना, यह काम करना चाहिए। उदाहरण:

-dumpmpsub (MPlayer only)
              Convert the given subtitle (specified with the -sub option) to MPlayer's subtitle format, MPsub.  Creates a dump.mpsub file in the current directory.

वास्तव में यह आसान है, दुख की बात है कि केवल तीन अलग-अलग स्वरूपों का समर्थन किया गया है; .srt, .sub, .smi
जॉन्स

मैं Mplayer और Mencoder बाहर की जाँच की। हालांकि यह काम नहीं कर पाया। और यह केवल SRT, SMI, SUB और JACO का समर्थन करता है। एक अच्छा सुझाव हालांकि, धन्यवाद।
जॉन्स

अच्छा काम करता है, धन्यवाद! यहाँ: pastebin.com/T6DM9xbq मेरा कन्वर्टर है जो मेपर
लुकस फ्रेंकोव्स्की

3

ओपन सोर्स प्रोग्राम सबटाइटल एडिट में कमांड लाइन कनवर्टर है और यह विंडोज और लिनक्स दोनों के लिए उपलब्ध है।

सिंटैक्स :SubtitleEdit /convert "pattern" "name-of-format-without-spaces"

उदाहरण 1 : SubtitleEdit /convert sub1.srt sami
परिणाम : sub1.srt को sub1.sub में SAMI प्रारूप में रूपांतरित करेगा

उदाहरण 2 : SubtitleEdit /convert *.srt adobeencore
परिणाम : सभी .srt फ़ाइलों को Adobe Encore फॉर्मेट में बदल देगा

के लिए लिनक्स कमांड लाइन थोड़ा लंबा होने की जरूरत है ...

सिंटैक्स :mono SubtitleEdit.exe /convert "pattern" "name-of-format-without-spaces"

… लेकिन आसानी से स्क्रिप्ट में लपेटा जा सकता है।


GUI काम करता है, लेकिन कमांड लाइन से चलने पर मुझे एक त्रुटि मिली है। मुझे libmono-winformsGUI को काम करने के लिए स्थापित करने की आवश्यकता है (जैसा कि README में कहा गया है) ... शायद कुछ अतिरिक्त है जो CLI के काम करने के लिए आवश्यक है ... मुझे एक AttachConsole...त्रुटि मिलती है । उबंटू 10.04 का उपयोग कर ...
पीटर

ऐसा लगता है कि संस्करण 3.2.3 में तय किया गया है - कम से कम उबंटू में
जोहान

1
@ जोहान्ज: धन्यवाद। वर्जन 3.2.3 काम करता है। इसने एक .assसबरिप (.srt) में परिवर्तित कर दिया ... बस एक चीज जिसे मैंने नोट किया था: यह \r\nसोर्स लाइन-एंडिंग होने पर भी (CRLF) लाइन एंडिंग का उत्पादन करता है \n... लेकिन वह शायद ही कभी समस्या होगी और आसानी से तय हो जाएगी sedयदि जरूरत है
पीटर।

यह एक बहुत अच्छा कनवर्टर और एक खुला स्रोत अनुप्रयोग है। और इसमें cmd ​​लाइन इंटरफ़ेस है।
user10607

1

वह क्या है जिसे आप वास्तव में रूपांतरित करना चाहते हैं? यदि यह सबटाइटल प्रारूपों के बीच है तो यह इस बात पर निर्भर करता है कि आप किन प्रारूपों के बारे में बात कर रहे हैं। जो बिटमैप आधारित हैं, उन्हें ओसीआर को पाठ प्रारूप में बदलना होगा और आमतौर पर ओसीआर की सटीकता की पुष्टि के लिए हमेशा उपयोगकर्ता इनपुट की आवश्यकता होती है

यदि यह सब पाठ प्रारूपों है तो Jubler या Aegisub काम का हो सकता है


सरल पाठ उपशीर्षक। एसआरटी, एसटीएल, एसयूबी, पीएसी। आगे पीछे।
जॉनास

@ जोनास - मेरा जवाब संभावनाओं की एक जोड़ी के साथ अद्यतन
Marve

धन्यवाद शेक, लेकिन उपरोक्त में से कोई भी कमांड लाइन ऑपरेशनल नहीं था। हालांकि वे परिपूर्ण होते अगर मैं GUI का उपयोग कर सकता था।
जॉन्स

1

मैंने पाया कि कुछ खिलाड़ी (जैसे, Google ड्राइव वीडियो प्लेयर) .srt से उत्पन्न पसंद नहीं करते हैं:

ffmpeg -i subtitles.ass <blah>.srt

या:

SubtitleEdit /convert subtitles.ass subrip

परंतु:

ffmpeg -i subtitles.ass -codec:s text subtitles.srt

... मेरे लिए चाल चली।


0

फ़ाइल नाम को sed का उपयोग करके नाम बदलें

for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" ; done

यदि आप .srtकनवर्ट करने के बाद फ़ाइल को हटाना चाहते हैं, तो बाद में केवल एक rm कमांड जोड़ें।

for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt"  &&  rm -f "$i"  ; done

1
यदि फ़ाइल का नाम है big.assassins.assured(प्लस विस्तार) तो क्या होगा? आपका sedनाम होगा bigassinsuredsedइस दोष के बिना और इसके बिना "${i%.ass}.srt":।
कामिल मैकियोरोव्स्की

0
#!/bin/bash

file="*.srt"                     # Find file
ffmpeg -i "$file" "${file%.*}.vtt"   # Convert file  
rm "$file"                         # Remove file .srt from your dir

यदि आप लूप के लिए इस प्रोग्राम का उपयोग करके अधिक फ़ाइल कनवर्ट करना चाहते हैं।


क्या होगा अगर Ffmpeg गर्भपात करता है?
174140

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