ตัวแปลงคำบรรยายบรรทัดคำสั่งโอเพ่นซอร์ส


คำตอบ:



9

oneliner ง่ายมากและมีประสิทธิภาพฉันใช้ในการแปลงคำบรรยาย:

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

เพียงแค่เปลี่ยนassและsrtตามความต้องการของคุณ


7

คำบรรยาย perl swiss Army swiss (เลื่อนไปที่ส่วนท้ายของหน้า)

ที่นี่คุณสามารถค้นหาตัวเลือกเพิ่มเติม

นอกจากนี้mplayer / mencoderมีตัวเลือก dumpXXXsub บางตัวซึ่งอาจใช้งานได้ ฉันไม่เคยลองสิ่งนี้ แต่การอ่านผู้ชายมันควรจะได้ผล ตัวอย่าง:

-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
Johnas

ฉันตรวจสอบ Mplayer และ Mencoder มันใช้งานไม่ได้ และรองรับเฉพาะ SRT, SMI, SUB และ JACO คำแนะนำที่ดีแม้ว่าขอบคุณ
Johnas

ใช้งานได้ดีขอบคุณ! ที่นี่: pastebin.com/T6DM9xbqเป็นตัวแปลงของฉันตามสิ่งนี้พร้อมการตรวจจับแบบเฟรมโดยใช้ mplayer
Lukasz Frankowski

3

โปรแกรมโอเพ่นซอร์สคำบรรยายแก้ไขมีตัวแปลงบรรทัดคำสั่งและสามารถใช้ได้กับทั้ง Windows และ Linux

ไวยากรณ์ :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

สำหรับLinuxบรรทัดคำสั่งจำเป็นต้องยาวขึ้นเล็กน้อย ...

ไวยากรณ์ :mono SubtitleEdit.exe /convert "pattern" "name-of-format-without-spaces"

… แต่สามารถห่อเป็นสคริปต์ได้อย่างง่ายดาย


GUI ใช้งานได้ แต่ฉันพบข้อผิดพลาดเมื่อเรียกใช้จากบรรทัดคำสั่ง .. . ฉันจำเป็นต้องติดตั้งlibmono-winformsเพื่อให้ GUI ทำงาน (ตามที่ระบุไว้ใน README) ... อาจมีบางสิ่งที่พิเศษซึ่งจำเป็นสำหรับ CLI ในการทำงาน ... ฉันได้รับAttachConsole...ข้อผิดพลาด ใช้ Ubuntu 10.04 ...
Peter.O

ดูเหมือนว่าจะได้รับการแก้ไขในเวอร์ชัน 3.2.3 - อย่างน้อยใน Ubuntu
Johanz

1
@Johanz:ขอบคุณ เวอร์ชั่น 3.2.3 ใช้งานได้ มันแปลง a เป็น.assSubRip (.srt) ... มีเพียงสิ่งเดียวที่ฉันแจ้งไว้: มันสร้าง\r\nจุดสิ้นสุดของบรรทัด (CRLF) แม้เมื่อจุดสิ้นสุดของแหล่งที่มาคือ\n... แต่นั่นไม่ค่อยจะมีปัญหาและแก้ไขได้ง่ายsedหาก ต้องเป็น
Peter.O

+1 เนื่องจากเป็นตัวแปลงที่ดีมากและเป็นโอเพนซอร์ส และมันมีอินเตอร์เฟสบรรทัด cmd
user10607

1

คุณต้องการแปลงอะไร หากอยู่ระหว่างรูปแบบคำบรรยายมันจะขึ้นอยู่กับรูปแบบที่คุณกำลังพูดถึง ที่เป็นบิตแมปที่ใช้จะต้องมี OCR เพื่อแปลงเป็นรูปแบบข้อความและโดยทั่วไปต้องการให้ผู้ใช้ป้อนข้อมูลเพื่อยืนยันความถูกต้องของ OCR

หากเป็นรูปแบบข้อความทั้งหมดJublerหรือAegisubอาจใช้งานได้


คำบรรยายข้อความอย่างง่าย SRT, STL, SUB, PAC ไปมา.
Johnas

@johnas - คำตอบของฉันอัปเดตพร้อมกับความเป็นไปได้สองอย่าง
Shevek

ขอบคุณ Shevek แต่ไม่มีสิ่งใดในข้างต้นที่ใช้งานได้ในบรรทัดคำสั่ง แม้ว่าพวกเขาจะสมบูรณ์แบบถ้าฉันสามารถใช้ GUI ได้
Johnas

1

ฉันพบว่าผู้เล่นบางคน (เช่นเครื่องเล่นวิดีโอ Google Drive) ไม่ชอบ. 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 bigassinsuredโดยไม่ต้องและไม่มีข้อบกพร่องนี้:sed "${i%.ass}.srt"
Kamil Maciorowski

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 เป็นไลบรารีมัลติมีเดียแบบโอเพ่นซอร์ส
Manoj kumar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.