Відповіді:
Субтитри perl 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.
Програма з відкритим кодом 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