Açık kaynak komut satırı altyazı dönüştürücü


Yanıtlar:


26

FFmpeg'i deneyebilirsiniz (harika bir araç!):

$ ffmpeg -i file.srt file.vtt

9

altyazıları dönüştürmek için kullandığım çok basit ve etkili oneliner:

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

sadece değişim assve srtihtiyaçlarınıza göre.


7

Altyazılar İsviçre çakısı perl (sayfa sonuna kadar kaydırın).

Burada daha fazla seçenek bulabilirsiniz.

Ayrıca, mplayer / mencoder'ın çalışabileceği bazı dumpXXXsub seçenekleri vardır. Bunu hiç denemedim, ama adamı okumak işe yaramalı. Misal:

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

Gerçekten de bu kullanışlı, ne yazık ki sadece üç farklı format destekleniyor; .srt, .sub, .smi.
Johnas

Mplayer ve Mencoder'ı kontrol ettim. Olsa da çalışma alamadım. Ve sadece SRT, SMI, SUB ve JACO'yu destekler. Yine de iyi bir öneri, teşekkürler.
Johnas

Güzel çalışıyor, teşekkürler! Burada: pastebin.com/T6DM9xbq bunu mplayer kullanarak kare hızı algılama ile temel alan benim dönüştürücü
Lukasz Frankowski

3

Açık kaynak programı Altyazı Düzenleme bir komut satırı dönüştürücüsüne sahiptir ve hem Windows hem de Linux için kullanılabilir.

Sözdizimi :SubtitleEdit /convert "pattern" "name-of-format-without-spaces"

Örnek 1 : SubtitleEdit /convert sub1.srt sami
Sonuç : sub1.srt öğesini sub1.sub dosyasına SAMI biçimine dönüştürür

Örnek 2 : SubtitleEdit /convert *.srt adobeencore
Sonuç : Tüm .srt dosyalarını Adobe Encore biçimine dönüştürür

For Linux komut satırı biraz daha uzun olması gerekir ...

Sözdizimi :mono SubtitleEdit.exe /convert "pattern" "name-of-format-without-spaces"

… Ama kolayca bir senaryoya sarılabilir.


GUI çalışıyor, ancak komut satırından çalıştırılırken bir hata aldım .. libmono-winformsGUI'nin çalışması için yüklemem gerekiyordu (README'de belirtildiği gibi) ... Belki CLI'nin çalışması için gerekli olan ekstra bir şey var ... bir AttachConsole...hata alıyorum. Ubuntu 10.04 kullanıyor ...
Peter.O

Bu, 3.2.3 sürümünde düzeltilmiş gibi görünüyor - en azından Ubuntu'da
Johanz

1
@Johanz: Teşekkürler. Sürüm 3.2.3 çalışır. Bir .assSubRip (.srt) dönüştürdü ... Ben fark sadece bir şey: \r\n(CRLF) satır sonları, kaynak satır sonu olsa bile üretir \n... ama bu nadiren bir sorun olurdu ve sedeğer kolayca düzeltilebilir gerek.
Peter.O

+1 gerçekten iyi bir dönüştürücü ve açık kaynak kodlu bir uygulamadır. Ve bir cmd hat arayüzü var.
user10607

1

Tam olarak dönüştürmek istediğiniz nedir? Altyazı formatları arasındaysa, hangi formatlardan bahsettiğinize bağlıdır. Bitmap tabanlı olanlar, metin biçimine dönüştürmek için OCR gerektirir ve genellikle OCR'nin doğruluğunu onaylamak için her zaman kullanıcı girişi gerektirir

Tüm metin biçimleri ise, Jubler veya Aegisub kullanımda olabilir


Basit metin altyazıları. SRT, STL, SUB, PAC. Geri ve ileri.
Johnas

@johnas - cevabım birkaç olasılıkla güncellendi
Shevek

Teşekkürler Shevek, ama yukarıdakilerin hiçbiri komut satırı operasyonel değildi. GUI kullanabilirsem mükemmel olurlardı.
Johnas

1

Bazı oyuncuların (ör. Google Drive video oynatıcısı), .srt adlı videonun oluşturduğu dosyaları beğenmediğini fark ettim:

ffmpeg -i subtitles.ass <blah>.srt

veya:

SubtitleEdit /convert subtitles.ass subrip

fakat:

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

... benim için hile yaptı.


0

sed kullanarak dosya adını yeniden adlandırın

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

.srtdönüştürme işleminden sonra dosyayı silmek istiyorsanız , daha sonra bir rm komutu eklemeniz yeterlidir.

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

1
Dosya adı big.assassins.assured(artı uzantı) ise ne olur ? Sizin sedşeklinde adlandırır bigassinsured. Without sedve bu kusur olmadan: "${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

for döngüsü için bu programı kullanarak daha fazla dosya dönüştürmek istiyorsanız.


Ya Ffmpeg iptal ederse?
174140

ffmpeg açık kaynaklı bir multimedya kütüphanesidir.
Manoj kumar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.