Разбираемся · Создание онлайн-курсов

Как извлечь звук из видеоурока через FFmpeg и проверить аудиоверсию

Из готового видео можно получить отдельный звуковой файл, но важно выбрать правильную дорожку и сохранить весь смысл объяснения. Разберём извлечение через FFmpeg, варианты M4A и MP3 и приёмку аудиоверсии перед выдачей ученикам.

В этом материале

Выберите урок, который имеет смысл слушать

Возьмём условную запись разбора делового разговора. Автор голосом называет участников, зачитывает реплики и объясняет решения. Такой материал можно проверить как аудиоверсию. Если же преподаватель постоянно говорит «нажмите здесь» и молча показывает формулу, одного извлечения звука недостаточно: слушатель потеряет существенную часть урока.

Перед обработкой составьте карту зависимости от изображения. Для каждого фрагмента запишите, понятен ли он без экрана, нужен ли дополнительный текст и придётся ли перезаписать пояснение. Это редакционная проверка исходного урока. Конвертер не добавляет пропущенные определения и не превращает экранную демонстрацию в самостоятельный подкаст.

Для более серьёзной переработки используйте подход к образовательному подкасту. Здесь решаем техническую задачу: получить проверяемый аудиофайл из собственной готовой записи. Работайте в отдельной папке с копией видео и понятным коротким именем, например lesson.mp4.

Найдите нужный звуковой поток

Установленная команда ffprobe позволяет посмотреть состав файла. В официальной документации ffprobe описаны выбор потоков и вывод их параметров. Для просмотра аудио выполните: ffprobe -v error -select_streams a -show_streams lesson.mp4. Сравните кодек, число каналов, индекс, а также название и язык, если они записаны в файле.

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

В нашем условном рабочем файле первая аудиодорожка — служебная, вторая — полная озвучка. Поэтому ниже выбран второй аудиопоток. Это характеристика примера, которую нельзя переносить на свой файл без проверки. Заранее подготовить раздельные источники помогает запись нескольких аудиодорожек OBS.

Сохраните AAC в M4A без повторного кодирования

Если выбранный поток имеет кодек AAC, попробуйте команду: ffmpeg -n -i lesson.mp4 -map 0:a:1 -vn -c:a copy lesson-audio.m4a. Она создаёт новый файл из выбранного звука. Параметр 0:a:1 обозначает второй аудиопоток первого входного файла; это не общий номер потока из списка ffprobe. Для первого аудиопотока используется 0:a:0.

Выбор потоков и режим copy описаны в руководстве FFmpeg. В приведённой команде звук переносится без повторного кодирования, видео исключается, а -n запрещает перезапись существующего выхода. Этот маршрут проверяйте именно для AAC и подходящего контейнера. Простая замена расширения исходного видео на .m4a операцию не выполняет.

Если команда сообщает, что поток не найден, вернитесь к списку дорожек. Не добавляйте знак необязательного выбора лишь ради исчезновения ошибки: задача состоит в получении конкретного звука. Если выходное имя занято, задайте новую версию файла и сохраните прежнюю до сравнения.

Сделайте MP3, когда он нужен для выдачи

Для MP3 потребуется кодирование. В сборке с libmp3lame можно выполнить: ffmpeg -n -i lesson.mp4 -map 0:a:1 -vn -c:a libmp3lame -b:a 128k lesson-audio.mp3. Перед запуском сохраните проверенный номер аудиопотока. Параметр 128k здесь выбран для технической пробы, а не объявлен универсальной нормой качества речи.

После преобразования внимательно проверьте окончания слов, тихие реплики и трудные для различения термины. Если сборка сообщает об отсутствии libmp3lame, не выдавайте несуществующий результат за готовый файл. Используйте доступный экспорт MP3 в своём редакторе или установку FFmpeg из доверенного источника, в которой этот кодировщик есть.

Не обещайте «без потери качества» для MP3: это новое кодирование с потерями. Для выдачи важнее подтверждённая разборчивость на устройствах учеников. Исходное видео сохраните отдельно, чтобы позднее подготовить другой формат без цепочки преобразований уже сжатых аудиокопий.

Проверьте команду и содержание разными способами

Редакционная техническая проба выполнена на FFmpeg 7.1. Мы создали искусственное шестисекундное видео с двумя звуковыми потоками: тонами 440 и 880 Гц. Выбрали второй поток, получили M4A и MP3 и проверили декодирование. Декодированный звук M4A совпал с выбранным исходным потоком; видеопотока в нём не оказалось.

Дополнительно проверены отказ при выборе отсутствующего третьего аудиопотока и сохранность существующего M4A при повторном запуске с -n. Исходное видео также не изменилось. Эти проверки подтверждают технический маршрут на искусственном наборе. Они не заменяют прослушивание речи и не подтверждают, что любой файл поведёт себя одинаково.

Для своего урока прослушайте готовый файл целиком без изображения. Сверьте начало, конец, переходы между примерами и все места из карты зависимости от экрана. Если звучит «как видно на слайде», проверьте, хватает ли произнесённого объяснения. Небольшое расхождение отображаемой длительности само по себе не доказывает обрезку; решающее значение имеет сохранность содержательных фрагментов.

Подготовьте понятную выдачу ученику

Назовите результат по уроку и версии: например, interview-02-audio-v1.mp3. Рядом укажите назначение аудиоверсии и случаи, когда всё равно нужен оригинальный видеоматериал. Приложите проверенный текст, особенно если в объяснении есть имена, числа или несколько говорящих. Автоматическую расшифровку сначала вычитайте.

Откройте выданный файл тем способом, которым будет пользоваться ученик, и проверьте доступ с телефона. Если материал размещён по внешней ссылке, убедитесь, что для него не требуется неизвестная участнику учётная запись. Возможность воспроизведения конкретного формата нужно подтвердить в выбранном месте размещения.

В карточке приёмки сохраните имя исходника, выбранный аудиопоток, формат результата и замечания после прослушивания. Разместите аудиоверсию рядом с соответствующим уроком курса Umhub через доступный способ выдачи материала. Тогда слушатель получит понятное дополнение к курсу, а редактор сможет повторить обработку после обновления записи.

Источники

  1. официальной документации ffprobe ↗
  2. руководстве FFmpeg ↗
Создать аккаунт и собирать свою библиотеку →
От знаний — к своему курсу

Создайте свой курс в Umhub

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

Создать курс