Pull to refresh

Comments 12

Честно говоря, не представляю в какой из хабов там. Все-таки тематика поста больше соответствует аудитории хаба об изучению иностранных языков, который в свое время как раз и переехал с Хабра на Geektimes, если я не ошибаюсь.
Интересная идея. Ещё бы в MKV-контейнер умела за субтитрами лазить.
Спасибо. Да, такой возможности в программе нет, т.к. всегда обходился простеньким bat файлом для пакетного экспорта srt субтитров из mkv файлов — extract-en-subtitles-from-mkv-files.bat.

Для его работы необходимо установить MKVToolNix и либо добавить папку с установленным MKVToolNix в переменную окружению PATH или просто отредактировать bat файл по ссылке выше, заменив вызов mkvextract на полный путь к программе (что-то типа «C:\Program Files\MKVToolNix\mkvextract.exe»).

Потом просто поместить bat файл в папку с mkv файлами и запустить, изменив при необходимости номер дорожки с английскими субтитрами в файле. Сейчас там 2. Номер дорожки с субтитрами проще всего узнать с помощью MediaInfo, переключив в меню View на Text и посмотрев значение ID у дорожки с субтитрами. Полученный номер ввести в bat файл, уменьшив только его на 1.
ОС бывают и другие. Да и демо скрипта явно не под Windows снято.
Запись видео сделано под Ubuntu, т.к. у меня сейчас нет винды на десктопе. Просто у меня полетел жесткий диск и пришлось переустанавливать систему. Начал с Ubuntu, а до Windows пока руки еще не дошли, а так бы записал бы в Windows, так же как сделал с недавним видео для movies2anki:


Под Windows на странице загрузки есть готовый бинарник со всеми зависимостями. Достаточно только отредактировать videogrep.bat, прописав правильный путь к папке с видеофайлами и субтитрами.

Под Linux и macOS есть аналогичный файл videogrep.sh. Останется только установить видеоплеер mpv, т.к. программа grep в системе, скорее всего, уже есть. Под macOS, возможно, придется установить python 2.7 либо отредактировать скрипт, чтобы он запускался и на python 3, который вроде как установлен по умолчанию в системе. При необходимости обновлю тогда скрипт. Также под macOS можно с помощью программы Automator превратить скрипт в обычное приложение, чтобы не запускать каждый раз через Terminal.
А где можно найти онлайн-версию playphrase.me? :)
Не знаю по каким причинам, но playphrase.me недоступен уже где-то с середины июля. Скорее всего, сайт закрыли. Из не совсем альтернатив есть видео словарь на сервисе puzzle-english.com и сайт youglish.com.
Некий Sam Lavigne однажды взял отличную библиотеку MoviePy (GitHub) и сделал на её базе отличный инструмент VideoGrep (GitHub).

Со всем этим хозяйством можно делать так:


или наоборот:


Статьи по теме:

http://lav.io/2014/06/videogrep-automatic-supercuts-with-python/
http://zulko.github.io/blog/2014/06/21/some-more-videogreping-with-python/
Спасибо большое. Совсем забыл в комментариях или в посте написать про videogrep.

Еще автор сервиса playphrase.me на страничке в группе в Фейсбуке когда-то выкладывал видео песни в виде фраз из различных фильмов, возможно, используя gentle для получения word-level тайминга, возможно, какой-то другой инструмент.

Из интересного еще есть видео:


И на канале Duncan Robson можно найти, например, такое видео:


Обновил скрипт и на всякий случай записал видео, как скачать и запустить программу на Windows 10. Показал самый простой вариант запуска — через батник.



Основные изменения:

1. Добавлена поддержка многострочного поиска. Теперь поиск не ограничен только одним субтитром и можно искать, задавая начало и конец фразы, расположенные в разных субтитрах, например, «I've been staring at.*?I can lead with pride.*?How far I'll go», используя, например, greedy (.*) или non-greedy (.*?) регулярное выражение.

2. Добавлен базовый функционал для экспорта результатов поиска в виде аудио или видео фрагментов:

-a, --audio — аудио
-v, --video — видео
-s, --video-sub — видео с субтитрами

3. Аналогичная возможность, но только для видеоплеера mpv в виде скрипта cut.lua, с помощью которого можно во время просмотра видео задать начало и конец фрагмента с помощью клавиш 'w' и 'e' и сохранить в отдельный файл с помощью клавиш 'z' (аудио), 'x' (видео) или 'c' (видео с субтитрами). Для покадрового перемещения вперед-назад можно использовать клавиши ',' и '.'.

— Скрипт cut.lua включен по умолчанию в версию playphrase под Windows (файл playphrase-win32.zip на странице загрузки), но можно скачать отдельно по ссылке, если видеоплеер mpv установлен отдельно.
— Для работы скрипта необходимо либо добавить путь к ffmpeg.exe (включен в архив playphrase-win32.zip) в переменную окружения PATH либо вручную отредактировать файл cut.lua и изменить в третьей строке [[ffmpeg]] на полный путь к ffmpeg.exe, например, [[C:\Programs\playphrase\utils\ffmpeg\ffmpeg.exe]].
— При желании можно в скрипте cut.lua заменить ultrafast на medium, таким образом увеличив время кодирования (сохранения фрагмента на диск), но где-то в 2 раза уменьшив его объем, или еще как-то изменить опции кодирования видео, например, поменять стиль субтитров или уменьшить размер видео до 720 по ширине.
— Фрагменты будут сохранены в той же папке, что и исходный видеофайл.

Пример использования скрипта lua.txt можно посмотреть по ссылке (фильм Moana (2016)).
Sign up to leave a comment.

Articles

Change theme settings