Bilingual Subtitler

бесплатная программа, позволяющая сочетать 2 клевых занятия: просмотр кино/сериалов и изучение иностранного языка – одновременно: при помощи динамических двуязычных субтитров

• Кино идёт с одними оригинальными субтитрами; как только вам встречается непонятный момент — нажимайте горячую клавишу: видео встанет на паузу, а к оригинальным подключатся переведенные субтитры.
Прочли переводы, момент стал понятен — снова нажимайте горячую клавишу; переведенные субтитры уберутся, останутся вновь только оригинальные — а видео вернется к воспроизведению

Любое кино/сериал • Любой иностранный язык — при помощи субтитров на любом, родном вам
▸ Чуть подробней (развернуть)

Bilingual Subtitler — упрощает и увеличивает результативность просмотра фильмов и сериалов на английском языке при помощи двойных субтитров: к оригинальным субтитрам — подключаются переведенные, когда они потребуются (и только тогда!).
Как это работает? Вам нужно загрузить в программу английские и интересующие вас переведенные субтитры (или создать — в приложении через машинный переводчик; например, Яндекс.Переводчик).
Затем:
— Смотрите видео через вами предпочитаемый видеоплеер с оригинальными субтитрами. При появлении субтитра, вызывающего затруднения, нажмите горячую клавишу: видео поставится на паузу, к оригинальным субтитрам на экране добавятся переведенные. После прочтения вариантов перевода, вновь нажмите на горячую клавишу, переведенные субтитры уберутся, пауза снимется, просмотр продолжится с исключительно оригинальными субтитрами.

Любой язык? И не английский/русский?
Далее по тексту может встречаться сочетание английского-русского, как наиболее популярное, но — языки могут быть любыми

Любое кино/сериал?
Онлайн-просмотр, увы, не поддерживается, программа работает только с файлами; субтитры должны быть встроены в файл или быть расположены отдельно


▶️: как такой просмотр работает, в 1 минуту →

Это слайд-шоу требует JavaScript.

Примечание (развернуть)

Это — максимально сокращенная до хронометража YouTube-клипа версия, полнее и нагляднее — в полном видеогайде, за 1.5 минуты →


Зачем? Смешивая кино с практикой языка — получается достаточно занятный способ времяпрепровождения 🤓
Просто учить язык — лично мне скучновато; просто смотреть кино — не так часто, как хотелось бы, попадаются картины, после которых не остается чувства потраченного времени; но вот объединяя эти 2 процесса — получается интересно. Пересматривать так фильмы — вообще отлично. Опять же, можно посмотреть, какие варианты отображения смыслов оригинальной реплики на русский язык предложили разные переводчики.
Но вы можете использовать программу как вам заблагорассудится :)

Я видел в интернете некоторое количество сервисов, предлагающих просмотр на английском с английскими субтитрами, однако у них были либо одна из, либо все проблемы:
1. Предлагалось каждый раз останавливать видео и выбирать непонятное слово из субтитров, чтобы узнать его перевод.
2. Неизвестно какое качество перевода.
3. «Ассортимент» видео — ограничен тем, что загружено на сервис.
Bilingual Subtitler же работает с любыми видео, которые у вас есть, любыми видеоплеерами, поддерживает несколько вариантов перевода (опять же, загружаемых вами, любых), и — по одной горячей клавише переключается между воспроизведением с английскими субтитрами и паузой с двуязычными субтитрами (или же вообще всё время показывает двуязычные субтитры) — так и лично мне удобнее, и если ваша цель — просто смотреть кино, иногда посматривая в перевод, так оно, по-моему, комфортнее будет :)

Примечание (развернуть)

Любой видеоплеер? — Поддерживающий горячие клавиши паузы/смены субтитров, и еще пару технических моментов, подробнее смотрите в разделе «Требования»

Как работает Bilingual Subtiter:

А только динамически подключающиеся переведенные субтитры возможны? (примечание; развернуть)

Bilingual Subtitler также можно использовать для просмотра с постоянно подключенными к английским русскими субтитрами, с настройкой внешнего вида и местоположения как английских, так и русских — и возможностью создания потока машинно-переведенных субтитров через программу (Для этого можно отключить создание файла английских субтитров, убрав галочку с чек-бокса «оригинальных субтитров» в разделе «Создавать файлы» в окне настроек)



Скачать:

x64 x86

Это слайд-шоу требует JavaScript.

О проекте:
    • Disgusting Men / Отвратительные мужики | «мы рассказывали о том, как Disco Elysium может стать отличным инструментом для изучения английского (благодаря одной элементарной, но крутой фишке). Bilingual Subtitler — работает по тому же принципу, что и смена языков в Disco Elysium, но для фильмов»
    • Хабр | История создания, больше технических деталей 
Дополнительно (развернуть)
Файлы субтитров Bilingual Subtitler, содержащие стили для видео формата 21:9, которое путем добавления чёрных полос записано в формате 16:9 (так, например, в том числе получается с фильмами, записанными в формате IMAX):


Оглавление:
• Как пользоваться программой
• F.A.Q. Частозадаваемые вопросы
• Горячие клавиши — и как управлять Bilingual Subtitler с мыши
• Требования и технические моменты, в том числе — про видеоплееры 🎥 
• Важно! Текущее состояние программы и отказ от ответственности
• Несколько полезностей по работе с субтитрами
• Как работает программа, с техническими подробностями
• Авторы
• История создания и изменений

Как пользоваться программой:


Видеогайд // Начало «Как работать с программой» — 01:58) →


1.
Создание нужных файлов субтитров:

В основном окне программы нужно загрузить оригинальные субтитры, а также загрузить, или перевести из оригинальных, нужное количество потоков русских субтитров.

Кнопкой «Выбрать файл видео, с которым планируется просмотр» можно задать путь до видеофайла, рядом с которым будут созданы файлы английских и двуязычных субтитров, и который затем можно воспроизвести по кнопке «Воспроизвести выбранный файл».

СнимокФайлы выбранных субтитров с выбранными настройками готовы к созданию  — кнопкой «Создать субтитры»

После — переходите к пункту 2 ↓


Субтитры можно (и я рекомендовал бы иметь хотя бы один такой поток) перевести посредством машинного перевода, при помощи Bilingual Subtitler (развернуть)

Субтитры можно (и я рекомендовал бы иметь хотя бы один такой поток) перевести посредством машинного перевода; например, сервисов Яндекс.Переводчик / Google Переводчик. Для этого:
Снимок1. Сохраните интересующий вас поток субтитров в формате .docx (преимущественно это будут оригинальные субтитры).
Снимок2. Загрузите их на предпочитаемый вами сервис:
— Яндекс. Переводчик
— Google Переводчик

3. Загрузите полученный перевод как нужный вам поток русских субтитров.
Или загрузите полученный с сервиса файл как нужный вам поток русских субтитров; или выделите весь текст перевода на странице сервиса и скопируйте в буфер обмена, а затем в программе добавьте субтитры как «открыть… из 📋 буфера обмена).
Подробнее как это сделать — для Яндекс.Переводчика → 

Подробнее — про создание нужных файлов субтитров (развернуть)

Программе требуются субтитры в формате разметки srt — SubRip Text в кодировке Unicode. Они могут быть загружены из файла .srt, из состава файла .mkv, или файла.

Опции 2 и 3 потока русских субтитров добавляются кнопками «+ 2/3 поток русских субтитров» в главном окне программы.

Кнопкой «Цвет» пользователь может выбрать, какого цвета будет каждый поток субтитров.
bisub2

Внешний вид финальных субтитров настраивается в разделе «Настройки вида субтитров» в окне настроек программы.
При галочке в чек-боксе «Изменять параметры вида всех потоков русских субтитров соответственно настройкам вида оригинальных субтитров (и прозрачность 2 и 3 русских — соответственно прозрачности 1-х русских)» шрифт, размер, обводка и тень всех русских субтитров будут такими же, какие вы зададите для оригинальных субтитров; прозрачность 2 и 3 русских субтитров — такая же, какую вы установите у 1-х русских; отступ снизу будет рассчитываться относительно размера и заданного вами отступа снизу для оригинальных субтитров.

Яндекс.Переводчик позволяет сразу скачать переведенный .docx файл, с Google Переводчиком вам будет необходимо скопировать полученный русский текст и вставить его назад в .docx файл заместо оригинального.
У переводов Google Переводчика бывают проблемы с верностью разметки. Такие титры (чаще всего это единичные титры) будут пропущены.
Если у вас есть ключ API Яндекс.Переводчика — вы можете им воспользоваться


2.
a) Для просмотра с оригинальными субтитрами — с подключаемыми к ним переведенными субтитрами:

  • Если вы используете в качестве видеоплеера Media Player Classic HomeCinema, со стандартными настройками, и хотите переключаться между режимами воспроизведения с оригинальными субтитрами и паузы с подключенными переведенными клавишей Пробел (и несколькими другими) — всё готово для перехода к просмотру :)
    (Если всё же что-то пошло не так и не работает — раздел настройки видеоплееров → должен помочь)
  • Если иной вариант — нужно посетить раздел настройки видеоплееров → и/или меню настроек, вызываемое по кнопке «⚙️
    Настройки программы»

b) Просмотр с динамическими двуязычными субтитрами:

Осуществляется через удобный вам видеоплеер (список проверенных, требования), контролируемый программой Bilingual Subtitler.
Для работы горячих клавиш на переключение паузы&субтитров Bilingual Subtitler нужно запустить от имени администратора

Начните воспроизведение видео, через ваш видеоплеер (например, посредством кнопки «▶️ Воспроизвести» на главном окне программы), на английском языке, с английскими субтитрами. При появлении субтитра, вызывающего затруднения, нажмите горячую клавишу Bilingual Subtitler — видео остановится, к английским субтитрам на экране добавятся русские. После прочтения вариантов перевода, вновь нажмите на горячую клавишу Bilingual Subtitler, русские субтитры исчезнут с экрана, пауза снимется, просмотр продолжается с одними английскими субтитрами.


hotkeys

Горячие клавиши задаются в «Горячие клавиши программы» в окне настроек. Подробнее — в разделе «Горячие клавиши».

Там же описано, как «подружить» Bilingual Subtitler с мышью


videoNowВ разделе «Сейчас видео» Bilingual Subtitler показывает, какое состояние воспроизведения видео и выбранности субтитров в видеоплеере он сейчас ожидает. При несовпадении текущего состояния видео и/или субтитров с тем, которое ожидает программа — выставить правильное состояние видео/субтитров можно там же, в выпадающих списках.


▸ Подробнее — про просмотр (развернуть)

Лично я использую для просмотра плеер Media Player Classic HomeCinema из пакета K-Lite Codec Pack. Он по умолчанию загружает первыми субтитрами внешние файлы, лежащие рядом с видеофайлом, с тем же началом имени, но с дополненным окончанием — а это как раз будут созданные в программе английские и двуязычные (или одни двуязычные) субтитры.
path
(Если что-то пошло не так, или ваш плеер загружает по-другому — см. раздел «О текущем состоянии программы»)

На данным момент программа протестирована на взаимодействие с плеерами →


• Возможен просмотр с постоянными двуязычными субтитрами
На экране все время находятся двуязычные субтитры, управление видео через Blingual Subtitler не задействуется. Для этого можно отключить создание файла английских субтитров, убрав галочку с чек-бокса «оригинальных субтитров» в разделе «Создавать файлы» в окне настроек.
Минусов у этого метода 4:
1. Мне кажется, что нужны точно совпадающие по таймингу субтитры — а такие, чаще всего, можно получить только переводом оригинальных посредством машинного перевода.
Я лично так посмотрел «Друзей« и было нормально, но «Друзья» — достаточно легкий по языку и достаточно щедрый на время произнесения реплик сериал :)
Я не пробовал так смотреть, когда тайминг английских субтитров один, а русских — другой, но мне кажется, что получится каша :\
2. Мне кажется, несколько потоков русских субтитров здесь применить не получится — слишком уж много текста окажется на экране.
3. Лично у меня бывало — когда я понимал, что не успеваю прочитать и английские субтитры, и русский перевод — я переставал читать английские, просто читал русские, и переходил дальше :) Может быть, это только моя история, но всё же.
4. Периодически вы, зная, как на самом деле переводится английский текст, можете потом прочитать русский вариант и сбиться.



Требования:
(и прочие технические моменты, в том числе — про видеоплееры)

— Платформа .Net версии не ниже 8.0

Не требуется в случае использования портативной версии программы, не требующей установки требующейся версии .Net

Для просмотра с динамически подключающимися русскими субтитрами:

  1. Видеоплеер
    (с поддержкой следующих технических особенностей (примечание; развернуть))

    горячих клавиш для: паузы, переключения на следующие субтитры, переключения на предыдущие субтитры (или с горячими клавишами для переключения на определенные субтитры); и перерисовки субтитров на паузе при смене дорожки.

    🎥 На 2022 год были протестированы и работали, как надо:

    • Media Player Classic Homecinema:
      В случае стандартного варианта поставки и стандартных настроек — все установки Bilingual Subtitler по умолчанию — подходят
      Если все же что-то не работает, с настройками Media Player Classic Home Cinema по умолчанию: (примечание; развернуть)

      Проверьте следующие настройки в плеере:

      • Настройки → Воспроизведение → Вывод
        — Рендер субтитров — Встроенный рендер субтитров
        — Видео DirectShow — досконально программа проверялась с madVR. Менее доскольнально, но тоже проверялась — с MPC Video Renderer и Расширенный рендер видео (EVR Custom Presenter) (но на момент версии плеера 2.1.4 — оригинальные субтитры мерцали при переключении).
      • Горячие клавиши:
        Настройки → Проигрыватель → Клавиши
        Установки здесь для «Воспроизведение/пауза», «Следующая дорожка субтитров» и «Предыдущая дорожка субтитров» должны соответствовать аналогичным настройкам в Bilingual Subtitler.

      Также проверьте имя исполняемого файла вашего плеера. Так, существует вариант плеера с именем исполняемого файла «mpc-hc64_nvo.exe» — в таком случае в поле настройки «Название процесса видеоплеера» в Bilingual Subtitler должно быть «mpc-hc64_nvo«.
      Проще всего — воспользоваться кнопкой «Выбрать исполняемый файл», и выбрать в окне исполняемый файл вашего варианта MPC-HC

    • PotPlayer:
      — инструкция по настройке
  2. Запуск Bilingual Subtitler: от имени администратора, на ОС Windows
Я провожу тестирование программы… (примечание; развернуть)

Поскольку я сам использую Bilingual Subtitler, то регулярно удостоверяюсь в правильности его работы — конфигурация: Windows 10 x64, K-Lite Coder Pack Full, Media Player Classic Homecinema 64-bit, рендерер видео madVR, рендерер субтитров — «встроенный»; Bilingual Subtitler — устанавливаемая версия, x64



F.A.Q. Частозадаваемые вопросы:


— Это всё время на экране будет 2 (3, 4) потока субтитров?
— Зачем Bilingual Subtitler, если можно в [определенный видеоплеер, например, PotPlayer] включить вывод двух потоков субтитров?

На экране во время воспроизведения видео находятся только оригинальные субтитры.
По нажатию горячей клавиши Bilingual Subtitler видео ставится на паузу, и к оригинальным добавляются русские субтитры. Затем, по нажатию той же горячей клавиши, русские субтитры убираются, воспроизведение продолжается.
Видеогайд может помочь, там показывается процесс просмотра таким образом с помощью Bilingual Subtitler :)
Но, если у вас будет такое желание, через программу также можно сделать и чтобы вместе с оригинальными субтитрами на экране присутствовали еще переведенные — постоянно. 

— А программа работает с онлайн-видео?
Увы, нет, только с файлами

— При запуске установщика выдается окно Windows Smart Screen.
Нажмите «Подробнее», и там «Выполнить в любом случае»
Почему оно появляется — моя теория: потому, что установщик не является достаточно часто скачиваемым файлом в базе данных WIndows. С такой же проблемой сталкивается даже K-Lite Codec Pack →, и они предлагают, дабы удостоверится, проверять подозрительные файлы через VirusTotal.
Я сознательно ничего злонамеренного в Bilingual Subtitler не писал; если у вас есть знания C# — программа с открытым исходным кодом, можете сами убедиться

— Как управлять Bilingual Subtitler при помощи мыши, например, беспроводной?
Инструкция 🐹

— С помощью Bilingual Subtitler можно изучать любой язык? И не английский/русский?
По тексту может встречаться сочетание английского-русского, как наиболее популярное, но — языки могут быть любыми

— А что с Media Player Classic Homecinema версии 2.1.3.0+ — с воспроизведением файлов, который до этого проигрывались, потом были закрыты, и открыты вновь?
Автор Media Player Classic Homecimena начиная с версии 2.1.3.0 реализовал фичу запоминания потока аудио/субтитров, которые были выбраны, и при закрытии-открытии файла — восстановления ранее выбранных.

В случае с Bilingual Subtitler это означает, что если вы по горячей клавише переключили — видео на паузу и субтитры на двуязычные — затем закрыли видео, а потом снова открыли, то начнется воспроизведение, и с двуязычынми субтитрами. Для такого случая (в том числе) в Bilingual Subtitler есть меню выбора состояния видео и субтитров, где есть вариант «воспроизводится & с двуязычными субтитрами».
Возможно, вы захотите убрать их горячих клавиш Bilingual Subtitler клавишу «Пробел» — чтобы у вас была возможность просто поставить видео на паузу (без переключения субтитров), и выбрать в Bilingual Subtitler нужное состояние видео и субтитров
(Если у вас MPC-HC версии ≥ 2.1.3.0, но ниже 2.1.3.37 — обновитесь, у этих версий баг с обработкой внешних файлов субтитров, при котором вместо субтитров Bilingual Subtitler при повторном открытии файла в плеере будут выбраны внутренние субтитры файла)
 

— Субтитры считались с титрами для слабослышащих (SDH), которые мне не нужны. Что делать?
В Bilingual Subtitler у потока данных субтитров выберите «Сохранить субтитры в файл → Как 💬.srt». Загрузите полученный файл в Subtitle Edit, в нем зайдите в окно очищения субтитров от SDH-титров («Инструменты → Удалить текст для людей с наружениями слуха…»). Почищенный файл загрузите в Bilingual Subtitler в нужный поток.

— Я использую Яндекс.Переводчик для одного потока переведенных субтитров, и в последнее время при нажатии "Скачать переведнный документ" в нем, периодически происходят всякие неприятности — то документ окажется переведенным не до конца, то ошибка, то просто сервис очень надолго задумается.
Вы можете просто как обычно загрузить документ в Яндекс.Переводчик, дождаться появления страницы с переведенным текстом, и не нажимать "Скачать переведенный документ", а сделать Ctrl+A, выделить весь текст на странице, скопировать его в буфер обмена — и вставить в Bilingual Subtitler.

— Для фильма доступен лишь один перевод на нужный мне язык, а хотелось бы иметь еще вариант ручного, сделанного человеком, перевода.
Попробуйте перевести через машинный переводчик субтитры с языка, близкого нужному вам, если они доступны.
Так например, в восточнославянскую группу языков входят: русский, белорусский, украинский.

— У меня *какая-то функция, или вообще программа* не работает:
Я занимаюсь программой один, забесплатно, в свободное время, поэтому нормально тестирую только билд, который использую сам — x64, требующий установки .Net, с машинным переводом через Яндекс.Переводчик. Чтобы тестировать остальные — ни времени, ни сил, ни желания.
Если у вас что-то не работает — пожалуйста, напишите, будем разбираться :)

— Не работают горячие клавиши Bilingual Subtitler — не происходит остановка видео и/или смена субтитров:
1. Убедитесь, что Bilingual Subtitler запущен от имени администратора.
2. Убедитесь, что поле «Название процесса видеоплеера» в настройках Bilingual Subtitler заполнено верно

— Вместо субтитров (чаще всего русских) квадраты/крякозябры:
Субтитры должны быть в кодировке UTF-8. Проверить считанные субтитры можно по кнопке «👁 Показать считанные субтитры».

— PotPlayer, что-то не работает (например, открывается меню шейдеров вместо желаемого результата):
Проверьте, выполнили ли вы всё из инструкции для настройки под PotPlayer — особое внимание обратите на пункт 4.

 

— Я использую Bilingual Subtitler в связке с X-Mouse Button Control, и хотелось бы еще ускорить время отклика на нажатие горячей клавиши паузы и подключения переводов.
Можно попробовать поставить в XMBC на нажатие кнопки мыши эмуляцию не Пробела, а иной клавиши, которая является горячей клавишей в BiSub — я попробовал поставить эмуляцию нажатия Num., есть в горячих клавишах BiSub по умолчанию, и время отклика в моей конфигурации повысилось на 0.012 секунды, что по-моему может быть погрешностью, но всё же в тестах упорно продолжало выявляться :)
Если вы захотите это сделать: в X-Mouse Button Control в профиле приложения вашего плеера в используемой вами клавиши мыши — вместо {SPACE}, эмулирующего Пробел, поставьте {NUM.}, эмулирующий как раз Num.

— Я использую Bilingual Subtitler в связке с X-Mouse Button Control, и то, что установленная как горячая клавиша для работы Bilingual Subtitler кнопка мыши — не может уже использоваться по своему основному назначению — создает неудобства.
При включении одноименной клавишей режима Scroll Lock, X-Mouse Button Control перестает эмулировать на нажатия кнопок мыши установленные клавиши, кнопки работают как обычно.

— Проблема с madVR — 1 раз из 7 субтитры не переключаются:
Реддитор предложил такое решение; проверено, работает.
Вопрос был актуален на 25.05.2021. Переключение субтитров в Media Player Classic Homecinema с madVR, и только с ним, в 1 случае из 7 приводило к тому, что поток субтитров переключался, но до снятия с паузы перерисовка субтитров не происходила, и поэтому нужные субтитры не добавлялись/убирались.

— А может, кто-нибудь из известных мне людей пробовал Bilingual Subtitler, положительно отзывался?
Ну, вот, например, Александра «Альфина» Голубева (переводы «Кровь, пот и пиксели», «Disco Elysium»; «Мор» 2019 г.в.) в свое время отзывалась вот так:
https://twitter.com/alphyna/status/1377982298033905665

(Резервная копия, если встроенный твит загрустил; развернуть)

Это слайд-шоу требует JavaScript.

Полагаю, её знакомство с программой ограничилось прочтением описания — но всё же 🤓



Горячие клавиши:
По умолчанию в программе прописаны следующие горячие клавиши для переключения паузы и субтитров:
Пробел, Num0, Decimal (.), Return (Enter), F3
Они не используются в используемом мной видеоплеере Media Player Classic HomeCinema, и ложатся под правую/левую руку:
hotkeys-default

🖱️ Довольно удобно использовать в сочетании с беспроводной мышью для управления Bilingual Subtitler программу X-Mouse Button Control.
В ней можно задать, чтобы по нажатию, например, правой кнопки мыши при активном окне видеоплеера, эмулировалось нажатие на Пробел — который задан и как горячая клавиша Bilingual Subtitler.

bisub3


Нужно в разделе «Профили» добавить приложение вашего видеоплеера, и в разделе нужной вам кнопки (например, Правая кнопка) поставить в «компбинации клавиш» — {SPACE}
Если будет хотеться еще ускорить отклик на нажатие кнопки мыши — можно испробовать следующий вариант.

▸ Можно также использовать другую, «расширенную» раскладку (развернуть)

Пробел, Num0, Decimal (.), Add (+), Substract (-), Divide (/), Up (↑), Down (↓), Left (→), Right (←), Return (Enter), F3
При такой раскладке можно пользоваться либо лежащими под правой рукой стрелочками/нижними Num-клавишами, либо положить клавиатуру на колени и пользоваться верхними Num-клавишами.
Для применения такой раскладки горячих клавиш Bilingual Subtitler нажмите кнопку «⌨️ Задать авторский расширенный набор горячих клавиш…» в разделе «Горячие клавиши программы» в окне настроек Bilingual Subtitler.
hotkeys-authors-default
Однако — часть из этих клавиш могут быть по умолчанию задействованы под горячие клавиши вашего медиаплеера
(например, это так в случае Media Player Classic HomeCinema), и при их назначении в Bilingual Subtitler выполняются и пауза/смена субтитров, и действия видеоплеера.
Как легко решить эту проблему для Media Player Classic HomeCinema:

Переназначение горячих клавиш Media Player Classic Homecinema:
Лично я просто переназначил функции совпадающих с моей «расширенной раскладкой» клавиш на цифры Num-блока, всё равно теми действиями, что назначены там (изменение размера видеокадра) я не пользуюсь. Если вам хочется получить такой же вариант — вот .reg файл, переназначающий действия стрелочек/Num-/Num+ на Num 1-9. Просто примените его, и он перезапишет установки клавиш для этих действий для MPC-HC.
В итоге клавиши в Media Player Classic Homecinema:

  • Num 1 / Num 3 — переход по видео назад/вперед (короткий)
  • Num 4 / Num 6 — переход по видео назад/вперед (по ключевым кадрам)
  • Num 8 / Num 9 — задержка звука -/+ 10 мс
  • Num 5 — полноэкранный / оконный режим





Важно! Часть 1. Текущее состояние программы

Программа бесплатная, и потому я могу писать её только в свободное время — которого у меня, увы, не то чтобы много.
Если у вас что-то не работает, или же не хватает какой-то функции, а так вы хотели бы пользоваться программой — пожалуйста, напишите мне. Когда понимаешь, что то, что ты программируешь, кому-то нужно — кодится гораздо охотнее :)
Так, например, сейчас нет поддержки плееров, в которых есть горячие клавиши паузы и смены субтитров на следующие, но нет — на предыдущие (например, таков VLC Player). Если у вас такой, но вы хотели бы использовать программу именно с ним — напишите, у меня есть задумка, как выйти из этой ситуации.

Связаться со мной можно посредством электронной почты, а также можно написать в комментарии под последней записью в Телеграм- канале проекта

Важно! Часть 2. Отказ от ответственности (развернуть)

Автор программы не несет никаких последствий за любой возможный ущерб, который причинится пользователю ввиду использования программы Bilingual Subtitler.
Внимательно прочитайте раздел «Как работает программа» — Bilingual Subtitler получает текущий активный процесс и эмулирует нажатия клавиш в нем (если вы используете горячие клавиши программы). Да, перед этим происходит проверка имени активного процесса имени процесса видеоплеера, но если вдруг, так случится, они совпадут — Bilingual Subtitler попытается проэмулировать нажатия. Закрывайте программу, когда не смотрите видео с динамически подключаемыми русскими субтитрами.

Эту программу я в основном написал за новогодние выходные и свой отпуск. Она, скорее всего, далека от идеала — как по богатству функций, так и по красоте кода. У меня было довольно ограниченное количество времени, и никакого понимания, будет ли кто пользоваться этой программой кроме меня или нет — поэтому вполне возможно, что в ней хватает недоработок. В рамках оговоренной концепции, для плеера Media Player Classic Homecinema — она работает, я проверил, поскольку сам ее использую. Если что-то не срабатывает — лучшим решением будет перезапустить программу, и сделать всё начисто.
Но на момент сентября 2022 программу скачали 1500+ раз, мне писало некоторое количество людей — никаких критичных проблем ни у кого не возникло 🤓



Несколько полезностей по работе с субтитрами:

  • Subtitle Edit — мощное приложение для работы с субтитрами. В том числе в нём есть очень полезная функция «Синхронизировать субтитры по точкам с помощью других субтитров», позволяющая подогнать русские субтитры, когда есть уже подогнанные английские. Кроме того, в нем есть инструмент очищения субтитров от SDH-титров («Инструменты → Удалить текст для людей с наружениями слуха…»)
  • Кнопки F1-F2 в Media Player Classic HomeCinema позволяют «сдвигать» субтитры по времени, подгоняя их к видео. Причем они сдвигают сразу все загруженные с файлом субтитры, не только текущие.

Как работает программа, с техническими подробностями:
1. Создание двуязычных субтитров:
— После загрузки пользователем оригинальных и нужного количества русских субтитров и выбора цветов, по кнопке «Создать субтитры» по пути в окне «Путь итоговых файлов» создаются 2 файла с .ass-субтитрами — оригинальными и двуязычными (или только двуязычные, если пользователь выбрал такую опцию в настройках).
2. Воспроизведение с динамически включаемыми двуязычными субтитрами субтитрами.
Пользователь стартует воспроизведение видео в видеоплеере с английскими субтитрами. Предполагается, что видеоплеер поставит первыми в списке дорожек субтитров именно созданные файлы с оригинальными и двуязычными субтитрами (так делает Media Player Classic HomeCinema)
Когда в субтитрах появляется непонятный ему момент, пользователь нажимает горячую клавишу, заданную в программе [события нажатия клавиш «слушает» NeatInput]. В этот момент в программе проверяется совпадение имени активного процесса [получаем через функцию GetForegroundWindow и GetWindowThreadProcessId из user32.dll] имени процесса видеоплеера, задаваемому в настройках, и в случае совпадения — эмулируются нажатия на клавишу паузы и смены субтитров на следующие.
[Эмуляция происходит либо через функцию PostMessage из user32.dll (в случае, если эмулируется нажатие одной клавиши), либо через библиотеку WindowsInput.InputSimulator (в случае эмуляции нажатия сочетания клавиши и клавиши-модификатора Ctrl, Alt или Shift. Через InputSimulator на глаз работает помедленнее, чем через PostMessage (потому что, как я понимаю, InputSimulator полноценно эмулирует нажатие клавиш, PostMessage лишь посылает сигнал о нажатии в процесс), но я не смог через PostMessage воплотить нажатие сочетания клавиши и клавиши-модификатора).]
Пользователь прочитывает варианты перевода, вновь нажимает на горячую клавишу программы — эмулируются нажатия на клавишу паузы и смены субтитров на предыдущие — вновь включаются одни английские субтитры, воспроизведение продолжается.


Авторы:
— Автор программы — Евгений 0xotHik Помелов

    • Программа использует:

— Большое спасибо компании Яндекс за предоставление бесплатного доступа к Яндекс.Переводчику

Автор будет рад откликам о программе в любом виде.

Если вам понравилась программа — расскажите о ней в своих социальных сетях, поставьте лайк здесь, поставьте звёздочку на GitHub :)
Ну, и автор принимает донаты →
ya-thx-25



История создания:
Сжатая версияDisgusting Men / Отвратительные мужики

 — Версия 1.0
— Версия 2.0

История версий


Инструкция по настройке PotPlayer для просмотра с динамически подключаемыми к английским русскими субтитрами:
Действительна для версии 1.7.21149, за помощь спасибо Рик Санчез
1. В настройках PotPlayer в меню «Языки и синхронизация» в разделе «Субтитры» в меню «Приоритет субтитров» нужно выбрать «Внешние».
potPlayer11.1. Для корректной работы Bilingual Subtitler с видеофайлом в PotPlayer не должно подгружаться никаких других внешних файлов субтитров; только те, что вы создадите через Bilingual Subtitler.

2. В настройках Bilingual Subtitler в поле «Имя процесса видеоплеера» введите PotPlayerMini64 (название процесса PotPlayer по умолчанию, в случае отличия — введите то, которое сейчас у вас) (или выберите исполняемый файл плеера в диалоге по кнопке «Выбрать исполняемый файл»).

3. Создайте субтитры через Bilingual Subtitler, запустите воспроизведение.

4. Зайдите в настройки во время воспроизведения видео, для которого были созданы субтитры, и задайте:
— для файла оригинальных субтитров (по умолчанию — eng.ass) горячие клавиши, установленные в Bilingual Subtitler для переключения на предыдущие субтитры (по умолчанию — Shift+S);
— для файла двуязычных субтитров (по умолчанию — ruseng.ass) горячие клавиши, установленные в Bilingual Subtitler для переключения на следующие субтитры (по умолчанию — S)

в меню «Клавиатура» раздела «Общие параметры»
potPlayer2

Это нужно сделать один раз.

Готово!


▸ API сервиса Яндекс.Переводчик: (развернуть)

Для того, чтобы включить возможности перевода с помощью API Яндекс.Переводчика, нужно в настройках программы поставить галочку в чекбоксе «У меня есть ключ API Яндекс.Переводчика»

bisub2


yaSubТекст каждого субтитра можно переводить как полностью — кнопка «Перевести оригинальные субтитры» в разделе «Яндекс.Переводчик» каждого потока русских субтитров — так и пословно (в основном эта кнопка сделана для случаев, когда у вас 1 или меньше потоков готовых русских субтитров, тогда рядом с обычным переводом Яндекс.Переводчиком пословный будет иметь смысл, возможно проясняя некоторые места)   — кнопкой «Пословно», рядом с вышеупомянутой

Получить ключ можно здесь, список полученных ключей доступен здесь, ввести ключ нужно в разделе «Ключ Яндекс.Переводчика» в настройках программы.

Оставьте комментарий