— бесплатная программа, позволяющая сочетать 2 клевых занятия: просмотр кино/сериалов и изучение иностранного языка – одновременно: при помощи динамических двуязычных субтитров
• Кино идёт с одними оригинальными субтитрами; как только вам встречается непонятный момент — нажимайте горячую клавишу: видео встанет на паузу, а к оригинальным подключатся переведенные субтитры.
Прочли переводы, момент стал понятен — снова нажимайте горячую клавишу; переведенные субтитры уберутся, останутся вновь только оригинальные — а видео вернется к воспроизведению
• Любое кино/сериал | • Любой иностранный язык — при помощи субтитров на любом, родном вам |
▸ Чуть подробней (развернуть)
Bilingual Subtitler — упрощает и увеличивает результативность просмотра фильмов и сериалов на английском языке при помощи двойных субтитров: к оригинальным субтитрам — подключаются переведенные, когда они потребуются (и только тогда!).
Как это работает? Вам нужно загрузить в программу английские и интересующие вас переведенные субтитры (или создать — в приложении через машинный переводчик; например, Яндекс.Переводчик).
Затем:
— Смотрите видео через вами предпочитаемый видеоплеер с оригинальными субтитрами. При появлении субтитра, вызывающего затруднения, нажмите горячую клавишу: видео поставится на паузу, к оригинальным субтитрам на экране добавятся переведенные. После прочтения вариантов перевода, вновь нажмите на горячую клавишу, переведенные субтитры уберутся, пауза снимется, просмотр продолжится с исключительно оригинальными субтитрами.
Любой язык? И не английский/русский?
Далее по тексту может встречаться сочетание английского-русского, как наиболее популярное, но — языки могут быть любыми
Любое кино/сериал?
Онлайн-просмотр, увы, не поддерживается, программа работает только с файлами; субтитры должны быть встроены в файл или быть расположены отдельно
▶️: как такой просмотр работает, в 1 минуту →
▸ Примечание (развернуть)
Это — максимально сокращенная до хронометража YouTube-клипа версия, полнее и нагляднее — в полном видеогайде, за 1.5 минуты →
Зачем? Смешивая кино с практикой языка — получается достаточно занятный способ времяпрепровождения 🤓
Просто учить язык — лично мне скучновато; просто смотреть кино — не так часто, как хотелось бы, попадаются картины, после которых не остается чувства потраченного времени; но вот объединяя эти 2 процесса — получается интересно. Пересматривать так фильмы — вообще отлично. Опять же, можно посмотреть, какие варианты отображения смыслов оригинальной реплики на русский язык предложили разные переводчики.
Но вы можете использовать программу как вам заблагорассудится :)
Я видел в интернете некоторое количество сервисов, предлагающих просмотр на английском с английскими субтитрами, однако у них были либо одна из, либо все проблемы:
1. Предлагалось каждый раз останавливать видео и выбирать непонятное слово из субтитров, чтобы узнать его перевод.
2. Неизвестно какое качество перевода.
3. «Ассортимент» видео — ограничен тем, что загружено на сервис.
Bilingual Subtitler же работает с любыми видео, которые у вас есть, любыми видеоплеерами, поддерживает несколько вариантов перевода (опять же, загружаемых вами, любых), и — по одной горячей клавише переключается между воспроизведением с английскими субтитрами и паузой с двуязычными субтитрами (или же вообще всё время показывает двуязычные субтитры) — так и лично мне удобнее, и если ваша цель — просто смотреть кино, иногда посматривая в перевод, так оно, по-моему, комфортнее будет :)
▸ Примечание (развернуть)
Любой видеоплеер? — Поддерживающий горячие клавиши паузы/смены субтитров, и еще пару технических моментов, подробнее смотрите в разделе «Требования»
Как работает Bilingual Subtiter:
▸ А только динамически подключающиеся переведенные субтитры возможны? (примечание; развернуть)
Bilingual Subtitler также можно использовать для просмотра с постоянно подключенными к английским русскими субтитрами, с настройкой внешнего вида и местоположения как английских, так и русских — и возможностью создания потока машинно-переведенных субтитров через программу (Для этого можно отключить создание файла английских субтитров, убрав галочку с чек-бокса «оригинальных субтитров» в разделе «Создавать файлы» в окне настроек)
x64 | x86 |
|
О проекте:
|
▸ Дополнительно (развернуть)
Файлы субтитров 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 поток русских субтитров» в главном окне программы.
Кнопкой «Цвет» пользователь может выбрать, какого цвета будет каждый поток субтитров.
Внешний вид финальных субтитров настраивается в разделе «Настройки вида субтитров» в окне настроек программы.
При галочке в чек-боксе «Изменять параметры вида всех потоков русских субтитров соответственно настройкам вида оригинальных субтитров (и прозрачность 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, русские субтитры исчезнут с экрана, пауза снимется, просмотр продолжается с одними английскими субтитрами.
Горячие клавиши задаются в «Горячие клавиши программы» в окне настроек. Подробнее — в разделе «Горячие клавиши».
Там же описано, как «подружить» Bilingual Subtitler с мышью
В разделе «Сейчас видео» Bilingual Subtitler показывает, какое состояние воспроизведения видео и выбранности субтитров в видеоплеере он сейчас ожидает. При несовпадении текущего состояния видео и/или субтитров с тем, которое ожидает программа — выставить правильное состояние видео/субтитров можно там же, в выпадающих списках.
▸ Подробнее — про просмотр (развернуть)
Лично я использую для просмотра плеер Media Player Classic HomeCinema из пакета K-Lite Codec Pack. Он по умолчанию загружает первыми субтитрами внешние файлы, лежащие рядом с видеофайлом, с тем же началом имени, но с дополненным окончанием — а это как раз будут созданные в программе английские и двуязычные (или одни двуязычные) субтитры.
(Если что-то пошло не так, или ваш плеер загружает по-другому — см. раздел «О текущем состоянии программы»)
На данным момент программа протестирована на взаимодействие с плеерами →
• Возможен просмотр с постоянными двуязычными субтитрами
На экране все время находятся двуязычные субтитры, управление видео через Blingual Subtitler не задействуется. Для этого можно отключить создание файла английских субтитров, убрав галочку с чек-бокса «оригинальных субтитров» в разделе «Создавать файлы» в окне настроек.
Минусов у этого метода 4:
1. Мне кажется, что нужны точно совпадающие по таймингу субтитры — а такие, чаще всего, можно получить только переводом оригинальных посредством машинного перевода.
Я лично так посмотрел «Друзей« и было нормально, но «Друзья» — достаточно легкий по языку и достаточно щедрый на время произнесения реплик сериал :)
Я не пробовал так смотреть, когда тайминг английских субтитров один, а русских — другой, но мне кажется, что получится каша :\
2. Мне кажется, несколько потоков русских субтитров здесь применить не получится — слишком уж много текста окажется на экране.
3. Лично у меня бывало — когда я понимал, что не успеваю прочитать и английские субтитры, и русский перевод — я переставал читать английские, просто читал русские, и переходил дальше :) Может быть, это только моя история, но всё же.
4. Периодически вы, зная, как на самом деле переводится английский текст, можете потом прочитать русский вариант и сбиться.
Требования:
(и прочие технические моменты, в том числе — про видеоплееры)
— Платформа .Net версии не ниже 8.0
Не требуется в случае использования портативной версии программы, не требующей установки требующейся версии .Net
Для просмотра с динамически подключающимися русскими субтитрами:
- Видеоплеер
▸ (с поддержкой следующих технических особенностей (примечание; развернуть))
горячих клавиш для: паузы, переключения на следующие субтитры, переключения на предыдущие субтитры (или с горячими клавишами для переключения на определенные субтитры); и перерисовки субтитров на паузе при смене дорожки.
🎥 На 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:
— инструкция по настройке
- Media Player Classic Homecinema:
- Запуск 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 реализовал фичу запоминания потока аудио/субтитров, которые были выбраны, и при закрытии-открытии файла — восстановления ранее выбранных.
— Субтитры считались с титрами для слабослышащих (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
▸ (Резервная копия, если встроенный твит загрустил; развернуть)
Полагаю, её знакомство с программой ограничилось прочтением описания — но всё же 🤓
Горячие клавиши:
По умолчанию в программе прописаны следующие горячие клавиши для переключения паузы и субтитров:
— Пробел, Num0, Decimal (.), Return (Enter), F3
Они не используются в используемом мной видеоплеере Media Player Classic HomeCinema, и ложатся под правую/левую руку:
🖱️ Довольно удобно использовать в сочетании с беспроводной мышью для управления Bilingual Subtitler программу X-Mouse Button Control.
В ней можно задать, чтобы по нажатию, например, правой кнопки мыши при активном окне видеоплеера, эмулировалось нажатие на Пробел — который задан и как горячая клавиша Bilingual Subtitler.
Нужно в разделе «Профили» добавить приложение вашего видеоплеера, и в разделе нужной вам кнопки (например, Правая кнопка) поставить в «компбинации клавиш» — {SPACE}
Если будет хотеться еще ускорить отклик на нажатие кнопки мыши — можно испробовать следующий вариант.
▸ Можно также использовать другую, «расширенную» раскладку (развернуть)
— Пробел, Num0, Decimal (.), Add (+), Substract (-), Divide (/), Up (↑), Down (↓), Left (→), Right (←), Return (Enter), F3
При такой раскладке можно пользоваться либо лежащими под правой рукой стрелочками/нижними Num-клавишами, либо положить клавиатуру на колени и пользоваться верхними Num-клавишами.
Для применения такой раскладки горячих клавиш Bilingual Subtitler нажмите кнопку «⌨️ Задать авторский расширенный набор горячих клавиш…» в разделе «Горячие клавиши программы» в окне настроек Bilingual Subtitler.
Однако — часть из этих клавиш могут быть по умолчанию задействованы под горячие клавиши вашего медиаплеера
(например, это так в случае 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 Помелов
-
- Программа использует:
- Библиотеки Яндекс.Лингвистики для .Net авторства Ивана KvanTTT Кочуркина (StackOverflow, LinkedIn, GitHub)
- Библиотеку LibSE из состава приложения Subtitle Edit — с её помощью осуществляется считывание субтитров из файлов .mkv.
- Библиотеку Windows Input Simulator (с неправильными примерами кода в разделе Example :))
- Библиотеку NeatInput
- Библиотеку KnownFolders
- Библиотеку DocX
- Библиотеку Octokit
- Установщик создан через программу Inno Setup
— Большое спасибо компании Яндекс за предоставление бесплатного доступа к Яндекс.Переводчику
Автор будет рад откликам о программе в любом виде.
Если вам понравилась программа — расскажите о ней в своих социальных сетях, поставьте лайк здесь, поставьте звёздочку на GitHub :)
Ну, и автор принимает донаты →
История создания:
Сжатая версия — Disgusting Men / Отвратительные мужики
Инструкция по настройке PotPlayer для просмотра с динамически подключаемыми к английским русскими субтитрами:
Действительна для версии 1.7.21149, за помощь спасибо Рик Санчез
1. В настройках PotPlayer в меню «Языки и синхронизация» в разделе «Субтитры» в меню «Приоритет субтитров» нужно выбрать «Внешние».
1.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)
в меню «Клавиатура» раздела «Общие параметры»
Это нужно сделать один раз.
Готово!
▸ API сервиса Яндекс.Переводчик: (развернуть)
Для того, чтобы включить возможности перевода с помощью API Яндекс.Переводчика, нужно в настройках программы поставить галочку в чекбоксе «У меня есть ключ API Яндекс.Переводчика»
Текст каждого субтитра можно переводить как полностью — кнопка «Перевести оригинальные субтитры» в разделе «Яндекс.Переводчик» каждого потока русских субтитров — так и пословно (в основном эта кнопка сделана для случаев, когда у вас 1 или меньше потоков готовых русских субтитров, тогда рядом с обычным переводом Яндекс.Переводчиком пословный будет иметь смысл, возможно проясняя некоторые места) — кнопкой «Пословно», рядом с вышеупомянутой
Получить ключ можно здесь, список полученных ключей доступен здесь, ввести ключ нужно в разделе «Ключ Яндекс.Переводчика» в настройках программы.