Ответы:
Субтитры perl швейцарский армейский нож (прокрутите до конца страницы).
Здесь вы можете найти больше вариантов.
Кроме того, в 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.
Программа с открытым исходным кодом Subtitle Edit имеет конвертер командной строки и доступна как для 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"
... но можно легко обернуть в сценарий.
libmono-winforms
.... Мне нужно было установить для GUI для работы (как указано в README) ... Может быть, есть что-то дополнительное, что необходимо для работы CLI ... я получаю AttachConsole...
ошибку. используя Ubuntu 10.04 ...
.ass
в SubRip (.srt) ... Я заметил только одну вещь: он создает \r\n
(CRLF) окончания строк, даже когда конец строки источника \n
... но это редко будет проблемой, и его легко исправить, sed
если нужно быть.
Что именно вы хотите конвертировать именно? Если это между форматами субтитров, то это зависит от того, о каких форматах вы говорите. Для тех, которые основаны на растровом изображении, потребуется OCR для преобразования в текстовый формат и, как правило, всегда требуется ввод данных пользователем для подтверждения точности OCR.
Если это все текстовые форматы, то могут быть полезны Jubler или Aegisub
переименуйте имя файла, используя 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
big.assassins.assured
(плюс расширение)? Вы назовете sed
это bigassinsured
. Без sed
и без этого недостатка "${i%.ass}.srt"
.
#!/bin/bash
file="*.srt" # Find file
ffmpeg -i "$file" "${file%.*}.vtt" # Convert file
rm "$file" # Remove file .srt from your dir