Как транскрибировать видео в текст с помощью whisper.cpp на Windows? ffmpeg / модель / язык — что нужно настроить?

У меня есть видеофайл (.mp4), который нужно преобразовать в текстовую транскрипцию локально, без отправки куда-либо.

Использую whisper.cpp на Windows. Пробую запускать так:

whisper-cli.exe -f video.mp4 -otxt

и получаю ошибки:

  • failed to read audio data as wav
  • автоопределение языка работает неправильно (французская речь интерпретируется как английская)
  • базовая модель (ggml-base) выдаёт искажённые фразы

Как корректно выполнить транскрибацию видео через whisper.cpp?


Ответы (1 шт):

Автор решения: Dev18

Whisper.cpp не всегда корректно обрабатывает видеофайлы напрямую, а базовая модель плохо распознаёт французскую речь. Рабочий процесс оказался таким:

0. Скачать release и подготовить рабочую папку

- этот пункт ок, но оставлю в ответе тоже

  1. Скачать бинарную сборку whisper.cpp отсюда
  2. Распаковать архив.
  3. Положить ваш видеофайл в ту же папку, где находится whisper-cli.exe (или использовать полный путь в командах).

1. Установить ffmpeg и добавить в PATH

  1. Скачать сборку отсюда
  2. Распаковать и добавить в PATH путь вида:
C:\Users\...\ffmpeg-8.0-full_build\bin

Проверка:

ffmpeg -version

2. Извлечь аудио из видео

Whisper.cpp часто не может читать .mp4 напрямую, поэтому лучше конвертировать:

ffmpeg -i myVideo.mp4 audio.wav

3. Скачать подходящую модель

Базовая модель (ggml-base.bin) сильно искажает французский текст. Лучше использовать medium.

Официальные модели для whisper.cpp

Нужный файл:

ggml-medium.bin

Положить в папку (предварительно создав её):

models\

4. Запустить whisper-cli с указанием языка

Автоопределение языка у меня распознавало французский как английский, поэтому язык лучше указать вручную:

whisper-cli.exe -m models/ggml-medium.bin -f audio.wav -l fr -otxt

5. Результат

Whisper.cpp корректно распознал французскую речь преобразовав видео в текст

И сохранил результат в файл:

audio.wav.txt
→ Ссылка