Я хочу перевести файл .srt
, а затем объединить результат с оригиналом так, чтобы оба текста появились в результирующем файле .srt
, оригинал вверху, а перевод внизу. Если я могу изменить размер шрифта, выбрать, что куда идет, и выполнить все это на моей машине (Ubuntu 20.04) без доступа в Интернет, еще лучше. Кто-нибудь нашел решение для этого?
Я уже много чего перепробовал, но эти два варианта были самыми многообещающими. Третий - это то, что приятно представить, что когда-нибудь будет работать.
Я нашел кое-что, что звучало идеально на https://forum.language-learners.org/viewtopic.php?t=13897#p162942. Я установил и запустил https://gist.github.com/bathtime/6ec36e47bb4a104bd648dc1abcaaccc7 (обновлено 2021.5.9; похоже, это обновленная версия https://gitlab.com/bedtime_/srtssa/-/tree/master, обновлено 2020.7.6). Он создал файл mynewfile.txt.0813115519.tmp
и открыл в терминале либо его, либо оригинальный файл .srt
(оба имели одинаковое содержание, поэтому я не смог определить). После более чем десятиминутного ожидания я отменил операцию, потому что она, похоже, застряла. Код, который я выполнил, чтобы добраться сюда, был следующим (по одной из ссылок выше):
[code]./srtssa.sh -t en --alt -i myfile.srt -o mynewfile.srt[/code]
Я не знаю, что означают -t
или --alt
в приведенном выше коде, к сожалению.
Затем я попробовал то, что, вероятно, было предшественником вышеописанного, https://gist.github.com/bathtime/8ae8303e870b2909c03f3b9332a4dd47 (обновление 2020.4.7). Он потерпел неудачу со следующими сообщениями:
./transmerge.sh: 25: [: en: unexpected operator
./transmerge.sh: 26: [: unexpected operator
./transmerge.sh: 31: [: utf-8: unexpected operator
./transmerge.sh: 98: Syntax error: Bad for loop variable[/code]
Код, который я выполнил, был следующим: ./transmerge.sh fr en sample.srt
. По последней ссылке выше, он должен сообщить программе, что исходный язык - французский, целевой язык - английский, и что английский должен отображаться сверху, а французский - снизу.
Я попытался сделать это дальше, но застрял на размонтировании tar-файла. После https://github.com/kitone/subtitleeditor я попробовал:
./autogen.sh
make
sudo make install
... но после команды make
я получил следующую ошибку:
make: *** No targets specified and no makefile found. Stop.
Я использовал https://wiki.asterisk.org/wiki/display/AST/Untarring+the+Source, чтобы помочь мне размонтировать файл, но я все еще новичок в установке таким образом, так что может быть я что-то напутал.
https://wiki.apertium.org/wiki/Translating_subtitles#Gaupol_extension казался многообещающим, но сообщество Gaupol заявило, что расширение устарело и "в ретроспективе расширения Gaupol были плохой идеей". Очень жаль, потому что это казалось отличной утилитой.
Разобрался! Вам нужен Aegisub, https://ubuntuhandbook.org/index.php/2018/08/how-to-install-aegisub-subtitle-editor-in-ubuntu-18-04/ :
sudo add-apt-repository ppa:alex-p/aegisub
sudo apt-get install aegisub
Откройте первый файл субтитров и с помощью редактора стилей
обновите Alignment
до 8
для центрирования выше: https://www.youtube.com/ смотреть? v = gopfzv6tZYA & t = 63s . Эти стили полезно сохранить через Субтитры> Диспетчер стилей
.Второй файл субтитров, скорее всего, будет уже установлен по умолчанию 2
, который расположен по центру ниже:
Затем просто Ctrl + A
, Ctrl + C
субтитры из первого файла и Ctrl + V
их во второй (можно найти на https://forum.videohelp.com/threads/392423-Merge-Two-ass-Files-in- Aegisub # post2544365 ). Неважно где, программа автоматически упорядочит их в хронологическом порядке при сохранении. Затем Ctrl + S
будет предложено, где сохранить файл. Сохраните его с расширением .ass
, потому что файл .srt
будет складывать все внизу и не сохранять размер шрифта, отображая левый, а не правый:
Вы можете затем поиграйте со стилями шрифтов, чтобы выделить один из них серым или сделать так, чтобы он появился позже ( Ctrl + A
, затем Время> Время смены…
, полезно, например, для изучения языка).
Это работает с VLC, но не со стандартным видеоплеером в Ubuntu 20.04 (я не думаю, что он поддерживает файлы .ass
). Я пробовал жестко кодировать и записывать субтитры в видеофайл с помощью HandBrake ( https://www.youtube.com/watch?v=ZjX5v5Z4jQA&t=146s ), но это не сработало. Некоторое время я возился с этим, но в конечном итоге не смог понять, почему.
.srt
/ .ssa
/ .ass
.srt
, по всей видимости, самым простым, и может накладывать только один набор субтитров непосредственно на секунду. Все либо / либо.Вы можете вручную добавить {\ an8}
в начало строк, и затем все они переместятся в начало видео, но по-прежнему будут одна над другой.
.ssa
были обновлением, а .ass
- последней версией: https://en.wikipedia.org/wiki/SubStation_Alpha . Они позволяют использовать разные размеры шрифтов, цвета, позиционирование, разделение потоков субтитров и т. Д.
Или как транскрибировать, переводить и объединять субтитры для многоязычного вывода:
.srt
из видеофайла с помощью pyTranscriber: Как мне установить pyTranscriber в Ubuntu 20.04 с GitHub? .srt
/ .ass.
файлов в окончательный .ass файл
. И то же самое, и поместите его в ту же папку, что и ваш видеофайл (например: mymovie.mp4
mymovie.ass
), и он должен загрузиться автоматически. Я хотел бы перевести его прямо на мою машину (шаг 2), а затем жестко закодировать в настоящий файл .mp4
, но я уверен, что они тоже появятся со временем. Как будет лучше транскрипция и перевод, но мы определенно давно прошли "достаточно хорошую" территорию.