А почему бы собственно и нет? Идея родилась тогда когда я начал смотреть фильмы в оригинале, но с субтитрами. В какой-то момент я обратил внимание на то, что я совершенно не концентрируюсь на разговорной речи, не пытаюсь ее понять, а только читаю субтитры. Попробовал выключить субтитры, но очень быстро включил обратно, так как просто не понимал на слух. Вот тогда и начала зарождаться идея, чтобы разделить фильм и субтитры.
Сначала хотел сделать, чтобы их можно было легко включать и отключать, но этого было недостаточно, так как надо было еще отмотать обратно, чтобы пересмотреть непонятный участок с субтитрами. Потом возникла идея показывать субтитры таблицей рядом с фильмом, так как иногда в сложных диалогах нужен контекст и мотать туда обратно устанешь. В конце концов когда купил телевизор, решил, что лучше их показывать на телефоне. Когда надо я могу прочитать вперед, назад, когда не надо он рядом лежит. Вот так и родилась идея этой аппликации kodi-remote-subtitles.
Первая мысль была, сделать addon к Kodi, но когда начал читать manual то оказалось, что есть вполне себе годный api которым и решено было использоваться.
Сначала попробовал воспользоваться http, но возникли проблемы с CORS. Так как было желание сделать это как можно просто, то писать серверную часть не хотелось и поэтому я решил воспользоваться websocket у которого такой проблемы нет. В теории хотелось, чтобы была только клиентская версия аппликации которая бы бежала где-то на github pages и любой мог бы воспользоваться, к сожалению это оказалось невозможно. Kodi не поддерживает безопасное соединение 'wss://...' а только 'ws://...' что в итоге вылилось в mixed content. Подымать http сервер я не стал, считаю это не правильно. Для себя я решил, что если увижу, что аппликация помогает и люди пользуются то напишу уже мобильную аппликацию, это же скорее проверка концепции.
Что делает аппликация? Она синхронизируется с Kodi, и если вы загружаете на нее субтитры в формате *.srt (также можно скачать с opensubtitles), то показывает их в виде списка субтитров. Если вы что-то не поняли, то можете остановить просмотр и прочитать, или вернуться. Опять-таки, основная идея смотреть фильмы без, и если не понятно, то можно удобно и быстро проскользнуть глазами и понять о чем речь.
Например, я одновременно на iPad открываю мою аппликацию с google translate, и сразу можно перевести непонятное предложение:
Когда я рассказал другу про нее, то он попросил добавить возможность одной кнопкой включать/выключать субтитры на экране, а также перемотать на 15 секунд назад и включить субтитры одной кнопкой. Для него был сделан basic view режим:
Как установить?
Для запуска проекта нужен локальный http server (аппликация должна отдаваться с http, не https), я просто поставил на mibox s termux, и установил nginx. Проект написан на VueJS и выложен здесь: https://github.com/anatoly314/kodi-remote-subtitles. Для компиляции нужен установленный nodejs. Я выборочно проверил с 12,13 и 14 версиями, проблем не было.
Копируете репозиторий себе
git clone https://github.com/anatoly314/kodi-remote-subtitles.git
затем
cd kodi-remote-subtitlesnpm install && npm run build
Появится папка dist которую вы должны будете поместить на свой http сервер. Если вы планируете поместить аппликацию не в root директорию, то перед компиляцией пропишите название директории в publicPath в файле vue.config.js
Дальше вы должны разрешить удаленное управление Kodi через web interface и прописать ip:port в настройках аппликации. Несколько более подробную инструкцию я написал в README на github.
Удачного просмотра и хотелось бы получить обратную связь :)