Как я могу изменить кодировку файла субтитров?

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

enter image description here

Субтитры прекрасно работают на VLC, все идеально. Но что, если я захочу отредактировать этот подзаголовок несколькими греческими словами? Я сразу же получаю ошибку о кодировке символов.

enter image description here

Я нажимаю кнопку «Повторить», а затем VLC не распознает субтитры ...

14
задан 5 April 2013 в 23:28

9 ответов

Для издания / перевода субтитров (то есть текстовых субтитров) я настоятельно рекомендую Gaupol .

sudo apt-get install gaupol

Помимо gaupol, вы также можете попробовать Subtitle Editor и Gnome Subtitles .

Однако из скриншотов видно, что ваш файл .srt не не закодирован в Unicode.

Как оказалось, iconv действительно изменяет кодировку файла на UTF-8, но преобразованный файл все равно будет иметь те же символы, которые вы видите при открытии в Gedit.

Решение, которое я нашел, это:

  1. Откройте Gaupol и перейдите в меню Файл Откройте или нажмите кнопку Открыть [ одна тысяча сто тридцать четыре].
  2. В нижней части открытого окна есть меню выбора под названием Кодировка символов . Нажмите на Другие ... (последний вариант).

    Character encoding option in Gaupol's open window

  3. Выберите подходящую кодировку для вашего файла, например, Греческий ISO-8859-7 , и нажмите на кнопку Принять .

    show character encoding dialog box

  4. Теперь откройте файл .srt и убедитесь, что все символы правильно отрисованы. В противном случае повторите вышеописанную процедуру с другой кодировкой. Вы можете запустить команду file -bi yourfile.srt, чтобы определить правильную кодировку вашего файла (хотя я читал, что результаты не обязательно точны).

  5. Когда ваш файл субтитров открыт в правильной кодировке, перейдите в меню Файл Сохранить как ... и измените опцию кодировки символов (опять же, внизу окна) на UTF-8 и сохраните файл (возможно, с новым именем для безопасности).

Эта же процедура добавления кодовой страницы будет работать для Gedit . И все же я оставляю инструкции для Gaupol, поскольку этот вопрос касается файлов субтитров.

Удачи.

0
ответ дан 5 April 2013 в 23:28
iconv -f ISO-8859-7 -t UTF-8  Input_file.srt   > Output_file.srt  

Откройте их в редакторе Kate, вы можете увидеть правильный текст, если вам все еще нужно открыть их из Gedit, другими словами, навсегда изменить кодификацию, запустите указанную выше терминальную команду.

0
ответ дан 5 April 2013 в 23:28

Я рекомендовал бы enca. В отличие от gaupol, можно обработать не только файлы подзаголовка, но и любой текстовый файл.

  1. Установка enca:

    sudo apt-get install enca
    
  2. Для выяснения кодирования файла посмотрите, может ли enca предположить это:

    enca <file>
    

    или, если это перестало работать, и Вы знаете язык текстового файла, чем выполненный, например,

    enca -L ru <file>
    

    и посмотрите то, что это дает Вам. Получите список поддерживаемых языков от man enca.

  3. Я рекомендовал бы преобразовать в UTF-8, можно сделать это путем выполнения

    enconv -x utf8 <file>
    

    или, снова, если enca не может предположить язык

    enconv -L ru -x utf8 <file>
    

    это должно добиться цели.

3
ответ дан 5 April 2013 в 23:28

Для перевода файлов SRT вы также можете использовать DualSub . Это открытый код (GPLv3) и кроссплатформенный. Он использует Google Переводчик.

0
ответ дан 5 April 2013 в 23:28

Проблема в том, что Gedit (и многие другие приложения linux) не распознают правильно кодировку текста. С другой стороны, VLC, скорее всего, настроен на его правильное распознавание (через вкладку «Настройки субтитров»), и поэтому у вас нет никаких проблем. Решение простое:

Файл открывается не по двойному щелчку, а через диалоговое окно «Открыть» в Gedit . Там, внизу слева, вы можете найти drop-down for Encoding, в котором по умолчанию выбран «Обнаружен автоматически». Установите для него «Windows-1253» или «ISO-8859-7», и все готово, файл открывается правильно (и вы можете сохранить его в UTF-8, чтобы избежать проблем в будущем)

0
ответ дан 5 April 2013 в 23:28

Другим редактором субтитров, который позволяет конвертировать в различные форматы (и поставляется с множеством функций), является Aegisub . Его родной формат (.ass) поддерживается VLC Media Player, а также MPlayer, и его преобразование должно решить проблемы с кодировкой.

0
ответ дан 5 April 2013 в 23:28

Для общей информации, теперь есть subtitle-index.org , он концентрирует много субтитров, ранжирует их по нескольким критериям (длительность, проверка орфографии, доступность, кодирование) и предлагает лучшие один в прямой загрузке как UTF-8.

Работая довольно хорошо, это позволяет избежать проблем с кодированием, которые являются довольно общими и раздражающими.

0
ответ дан 5 April 2013 в 23:28

Это функция Python3 для преобразования любых текстовых файлов, включая субтитры, в файлы с кодировкой UTF-8.

def correctSubtitleEncoding(filename, newFilename, encoding_from='ISO-8859-7', encoding_to='UTF-8'):
    with open(filename, 'r', encoding=encoding_from) as fr:
        with open(newFilename, 'w', encoding=encoding_to) as fw:
            for line in fr:
                fw.write(line[:-1]+'\r\n')
0
ответ дан 5 April 2013 в 23:28

Чтобы это исправить, вам понадобится только Excel. Это довольно просто, выполните следующие несколько шагов:

Откройте новый лист Excel. Перейдите в «Данные», «Получить внешние данные», «Из текста» и выберите файл субтитров. Возможно, вам придется искать «все файлы», а не оставлять только «.txt».

Затем вы можете выбрать правильную кодировку в следующем окне. Попробуйте большинство из них и просмотрите результат. Вам нужно будет обратить внимание на 2 вещи:

  • удалите все разделители, чтобы текст оставался единым целым
  • поместите «формат данных столбца» в «текст» (иначе Excel может использовать знак минус для формулы)
  • импортируйте данные из понравившейся ячейки (конечно, подойдет A1).

Ваш текст отлично закодирован в Excel. Вам просто нужно скопировать/вставить все это в новый файл .srt.

0
ответ дан 3 September 2020 в 08:28

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

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