Как транскрибировать видео в текст с помощью 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 шт):
Whisper.cpp не всегда корректно обрабатывает видеофайлы напрямую, а базовая модель плохо распознаёт французскую речь. Рабочий процесс оказался таким:
0. Скачать release и подготовить рабочую папку
- этот пункт ок, но оставлю в ответе тоже
- Скачать бинарную сборку whisper.cpp отсюда
- Распаковать архив.
- Положить ваш видеофайл в ту же папку, где находится
whisper-cli.exe(или использовать полный путь в командах).
1. Установить ffmpeg и добавить в PATH
- Скачать сборку отсюда
- Распаковать и добавить в 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