пятница, 12 февраля 2021 г.

Как распознать текст из видео

Мне захотелось записать тест одной лекции, но было лень набирать его вручную (печатаю я двумя пальцами и не вслепую). Потратив некоторое время на поиски распознавалок в интернете, я убедился что бесплатно и быстро сделать транскрибацию (так это, оказывается, научно называется) - отнюдь не легкая задача. Да, есть множество программ для распознавания речи с микрофона (например, здесь), но они не годятся для аудио- и видео-файлов. Я попробовал YouTube Studio и Speechpad.ru - оба отказались читать мой файл, загруженный на YouTube. Третий способ сработал. Есть коммерческий сервис RealSpeaker, но файлы до полутора минут он распознаёт бесплатно. Я скачал видео-файл mp4 с лекцией, нарезал его на мелкие кусочки по 1.5 минуты и конвертировал в аудио (использовал советы отсюда, отсюда и отсюда, спасибо авторам) с помощью открытой программы FFmpeg. Весь процесс можно объединить в одной команде: 

ffmpeg -i infile.mp4 -segment_time 00:01:30 -f segment -vn -acodec copy outfile%03d.m4a

Далее осталось загрузить эти кусочки на RealSpeaker и скопировать готовый текст. Результат, конечно, не идеальный, без знаков препинания и заглавных букв, но редактировать его быстрее, чем набирать с нуля.