Как извлечь звук из видеоурока через 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 через доступный способ выдачи материала. Тогда слушатель получит понятное дополнение к курсу, а редактор сможет повторить обработку после обновления записи.
Источники
Создайте свой курс в Umhub
Примените то, что узнали: соберите программу, добавьте материалы и пригласите учеников.