Извлекаем звук из видео

Мне иногда нужно конвертировать видео в mp3. Задача простая: я, бывает, качаю с санкционного YouTube клипы, созданные ИИ — в основном, симфо-метал со скрипками, фортепиано, виолончелями и иногда женским вокалом.

Эти треки идеально подходят для тренировок в зале. К тому же они перекрывают местный плейлист, который мне чаще всего совершенно «не заходит».
Но вот незадача: скачанные треки — это видеофайлы. И пусть ИИ-шные барышни довольно привлекательны, всё же они неестественны и однообразны. Кроме того, видео пожирает место на телефоне, которое не бесконечно. Поэтому я решил вытащить из этих файлов только музыку, избавившись от обременительной картинки.

За помощью я, как обычно, обратился к Наташе. Делюсь шпаргалкой, которую она подготовила. Вся прелесть в том, что почти все команды можно выполнить из командной строки или PowerShell.
Но для этого сначала потребуется установить на ПК маленького, но могучего зверя — FFmpeg.

🧠 Установка FFmpeg (Windows)

FFmpeg — это бесплатный швейцарский нож для обработки аудио и видео. Мы будем использовать его через консоль. Графического интерфейса у него нет, зато он молниеносен и не забивает мозг рекламой.

Где брать: официальные сборки для Windows лежат на сайте FFmpeg (проверенный и надёжный источник).
Нам нужна версия release full — в ней уже есть все необходимые кодеки. Качаем архив ffmpeg-release-full.7z.

Как установить:

  1. Распакуй архив в папку, которая всегда будет под рукой, например C:\ffmpeg. Внутри появится папка вроде ffmpeg-2025-07-31-git-..., а в ней — bin, docи пр.
  2. Добавь путь к бинарникам в переменную PATH, чтобы система видела exeиз любого места:
    • Нажми Win + R, введи systempropertiesadvanced и нажми Enter.
    • Кнопка «Переменные среды» (Environment Variables).
    • В верхнем списке найди переменную Path, выдели и нажми «Изменить».
    • Добавь новую строку с путём к папке binвнутри распакованного архива (например C:\ffmpeg\ffmpeg-2025-07-31-git-119d127d05-full_build\bin).
    • Ок, Ок.
  3. Проверь, открыв терминал (Win+R → powershell) и набрав ffmpeg -version. Если увидел версию и длинный список кодеков — всё готово.

Теперь можно пользоваться шпаргалкой от Наташи — например, командой конвертации сразу всех .mp4 и .webm в mp3 одной строкой PowerShell.

Шпаргалка

📂 PowerShell: вытащить mp3 из всех видео в папке

Открой PowerShell (Win+R → powershell) и перейди в папку с видеофайлами:

cd "C:\путь\к\папке\с\видео"

Базовая команда (результат кладётся туда же, где исходник):

Get-ChildItem *.mp4, *.webm | ForEach-Object { ffmpeg -i $_.FullName -vn -c:a libmp3lame -q:a 2 ($_.BaseName + ".mp3") }

Разбор:

  • Get-ChildItem *.mp4, *.webm — собирает все файлы с расширениями .mp4 и .webm в текущей папке.
  • $_.FullName — полный путь к текущему исходному файлу (например, C:\Music\symfo.webm).
  • $_.BaseName + ".mp3" — создаёт имя выходного файла с тем же базовым именем, но расширением .mp3, и кладёт в ту же папку (потому что путь не указан, значит текущая рабочая папка PowerShell, которая совпадает с исходной после cd).

🎯 Если хочешь явно указать другую целевую папку:

Тогда при сборке выходного имени добавляешь путь. Например, заранее создал папку mp3 рядом:

$dest = "C:\путь\к\папке\mp3"

Get-ChildItem *.mp4, *.webm | ForEach-Object { ffmpeg -i $_.FullName -vn -c:a libmp3lame -q:a 2 (Join-Path $dest ($_.BaseName + ".mp3")) }

Join-Path аккуратно склеивает путь к папке назначения и имя файла.

⚡ Универсальный однострочник (если лень менять расширения вручную)

Можно взять вообще все файлы, а ffmpeg сам пропустит то, что не является видео:

Get-ChildItem *.* | ForEach-Object { ffmpeg -i $_.FullName -vn -c:a libmp3lame -q:a 2 ($_.BaseName + ".mp3") 2>$null }

Но лучше всё же ограничить конкретными типами, чтобы не пытаться скормить текстовые файлы.

🧠 Что делает сама ffmpeg-команда?

  • -i "входной.webm" — входной файл.
  • -vn — «video none»: выкинуть видеопоток.
  • -c:a libmp3lame — использовать MP3-кодер LAME.
  • -q:a 2 — переменный битрейт высокого качества (~190–250 кбит/с). Для симфо-метал с его динамикой и тарелками — то что надо. Можно заменить на -b:a 320k для постоянного битрейта.
  • "выходной.mp3" — результирующий файл.

Сохрани шпаргалку как extract_mp3_ps1.txt или на свой сайт.  И да, для webm работает точно так же — ffmpeg разберёт, что внутри opus или vorbis, и перекодирует в mp3.

Теперь телефон вздохнёт свободно, а двухчасовые эпики будут греметь в наушниках без видео-балласта.

Добавить комментарий