Как автоматически вытащить текст из видео

В настоящее время я экспериментирую с After Effects и Premiere, чтобы увидеть, на какие странные вещи они могут быть способны, и надеялся, что кто-то что-то понимает в моей Идее.

В этой ситуации у меня есть какой-то текст, например субтитры или даже временной код, который встраивается в отснятый материал. У меня нет файлов проекта для этого видео, единственное, с чем мне нужно работать, это финальное видео.

Есть ли способ, чтобы Adobe Premiere или After Effects автоматически распознавали текст на экране? Бонусные баллы, если он сможет затем взять эту информацию и передать ее в новый элемент заголовка.

PS Это все при условии, что текст исходного видео имеет приличное качество (т. е. текст статичен, прилично отличается от видео за ним и не слишком мал).

Вы можете экспортировать кадры как последовательность кадров, а затем использовать программное обеспечение OCR для кадров. Однако это будет работа для сценариев оболочки или языка программирования, а не для AE или PP.
@stib, если вы добавите это как ответ и предоставите несколько ссылок на предлагаемое программное обеспечение, я приму это.

Ответы (1)

Я не знаю каких-либо существующих решений для этого в Premiere или AE.

Однако, если вы немного разбираетесь в программировании, вы можете написать скрипт с использованием OpenCV, который запускает Tesseract OCR на видеокадрах и выводит нужный текст. Когда у вас есть текст и временные коды, вы определенно можете написать сценарий для создания заголовков в соответствующих временных кодах внутри AE или Premiere.

(Я узнал об этих инструментах с открытым исходным кодом, так как в настоящее время я создаю мобильное приложение, которое запускает OCR для документов.)

Ознакомьтесь с документацией по распознаванию текста сцены для OpenCV, если вы хотите попробовать этот маршрут.

Итак, для этого метода вам нужно правильно вывести серию неподвижных кадров? Или tesseract принимает видео? Если он не принимает видео, как бы вы легко привязали номер кадра к тайм-коду? Просто считать кадры?
OpenCV может обрабатывать видео, а документы по распознаванию текста сцены, на которые я указал, показывают, как вызывать Tesseract в кадре через OpenCV. У них есть пример кода C++, который может помочь вам начать работу, но OpenCV также можно использовать из Python, если это более удобно.
Что касается временного кода, OpenCV работает с целым числом кадров, но вы можете использовать его непосредственно при написании сценариев в AE (и я предполагаю, что Premiere), при условии, что частота кадров последовательности совпадает.