Ищу переводчик и слияние субтитров для создания субтитров на двух языках

Я хочу перевести файл .srt, а затем объединить результат с оригиналом так, чтобы оба текста появились в результирующем файле .srt, оригинал вверху, а перевод внизу. Если я могу изменить размер шрифта, выбрать, что куда идет, и выполнить все это на моей машине (Ubuntu 20.04) без доступа в Интернет, еще лучше. Кто-нибудь нашел решение для этого?

Я уже много чего перепробовал, но эти два варианта были самыми многообещающими. Третий - это то, что приятно представить, что когда-нибудь будет работать.

srtssa/transmerge

Я нашел кое-что, что звучало идеально на 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, чтобы помочь мне размонтировать файл, но я все еще новичок в установке таким образом, так что может быть я что-то напутал.

Apertium+Gaupol

https://wiki.apertium.org/wiki/Translating_subtitles#Gaupol_extension казался многообещающим, но сообщество Gaupol заявило, что расширение устарело и "в ретроспективе расширения Gaupol были плохой идеей". Очень жаль, потому что это казалось отличной утилитой.

1
задан 18 August 2021 в 18:00

1 ответ

Разобрался! Вам нужен 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 , который расположен по центру ниже:

Alignment-menu

Затем просто Ctrl + A , Ctrl + C субтитры из первого файла и Ctrl + V их во второй (можно найти на https://forum.videohelp.com/threads/392423-Merge-Two-ass-Files-in- Aegisub # post2544365 ). Неважно где, программа автоматически упорядочит их в хронологическом порядке при сохранении. Затем Ctrl + S будет предложено, где сохранить файл. Сохраните его с расширением .ass , потому что файл .srt будет складывать все внизу и не сохранять размер шрифта, отображая левый, а не правый:

ass-vs-srt-subtitles-rendered-by-Aegisub

Вы можете затем поиграйте со стилями шрифтов, чтобы выделить один из них серым или сделать так, чтобы он появился позже ( 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 . Они позволяют использовать разные размеры шрифтов, цвета, позиционирование, разделение потоков субтитров и т. Д.

Заключение

Или как транскрибировать, переводить и объединять субтитры для многоязычного вывода:

  1. Расшифровывать .srt из видеофайла с помощью pyTranscriber: Как мне установить pyTranscriber в Ubuntu 20.04 с GitHub?
  2. Перевести файл онлайн (я использую https://www.syedgakbar.com/projects/dst , но https://www.subtitlecat.com тоже выглядит неплохо)
  3. Используйте Aegisub, как описано выше, чтобы объединить получившийся .srt / .ass. файлов в окончательный .ass файл . И то же самое, и поместите его в ту же папку, что и ваш видеофайл (например: mymovie.mp4 mymovie.ass ), и он должен загрузиться автоматически.

Я хотел бы перевести его прямо на мою машину (шаг 2), а затем жестко закодировать в настоящий файл .mp4 , но я уверен, что они тоже появятся со временем. Как будет лучше транскрипция и перевод, но мы определенно давно прошли "достаточно хорошую" территорию.

0
ответ дан 20 August 2021 в 10:27

Другие вопросы по тегам:

Похожие вопросы: