Стенограмма YouTube-видео локально на Windows через yt-dlp и Whisper от OpenAI

17 Мар 2026

Понадобилось получить обычный текст из YouTube-видео. Встроенная стенограмма есть не у каждого ролика, поэтому решил сделать всё локально: скачать аудиодорожку через yt-dlp, затем прогнать её через Whisper от OpenAI.

Цепочка получилась довольно короткой.

Скачиваем аудио через yt-dlp

yt-dlp удобно поставить через winget:

winget install --source winget --id yt-dlp.yt-dlp

В моём случае вместе с ним установился и FFmpeg, который нужен для работы с аудио.

После установки PowerShell нужно открыть заново, потому что установщик меняет PATH.

Проверяем:

yt-dlp --version
ffmpeg -version

Лучше сразу перейти в обычную рабочую папку:

cd $HOME\Downloads

Аудиодорожку можно забрать без лишнего перекодирования:

yt-dlp -x "https://www.youtube.com/watch?v=VIDEO_ID"

Формат зависит от исходного видео. Например, у меня получился .m4a, который Whisper принимает напрямую.

Если нужен именно MP3:

yt-dlp -x --audio-format mp3 "https://www.youtube.com/watch?v=VIDEO_ID"

Иногда YouTube просит подтвердить, что запрос идёт не от бота. В таком случае yt-dlp умеет использовать cookies из браузера:

yt-dlp --cookies-from-browser chrome -x "https://www.youtube.com/watch?v=VIDEO_ID"

Если Chrome блокирует базу cookies, стоит полностью закрыть браузер и повторить команду. При ошибке расшифровки cookies этого недостаточно: можно попробовать cookies из Firefox или экспортировать их в файл и передать через --cookies.

Whisper и Python

Для установки и запуска Whisper понадобится Python.

Ставим Python:

winget install --id Python.Python

После установки снова открываем PowerShell и проверяем:

python --version

Ставим Whisper:

python -m pip install --upgrade pip
python -m pip install -U openai-whisper

FFmpeg к этому моменту уже установлен вместе с yt-dlp.

Получаем стенограмму

У меня исходная аудиодорожка называется videoplayback.m4a.

Первый прогон:

cd $HOME\Downloads

whisper ".\videoplayback.m4a" `
  --language Russian `
  --task transcribe `
  --model small `
  --output_format txt

После обработки рядом с аудиодорожкой появился текстовый файл:

videoplayback.txt

Специально конвертировать .m4a в MP3 не понадобилось.

Если нужно качество повыше, можно использовать medium:

whisper ".\videoplayback.m4a" `
  --language Russian `
  --task transcribe `
  --model medium `
  --output_format txt

При первом запуске Whisper скачивает выбранную модель.

Если кроме обычного текста нужны субтитры и таймкоды:

whisper ".\videoplayback.m4a" `
  --language Russian `
  --task transcribe `
  --model medium `
  --output_format all

Тогда рядом появятся .txt, .srt, .vtt, .tsv и .json.

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

yt-dlp --cookies-from-browser chrome -x "https://www.youtube.com/watch?v=VIDEO_ID"

whisper ".\полученный-файл.m4a" `
  --language Russian `
  --model medium `
  --output_format txt