как добавить аудио заполнение

Вопрос или проблема

Я делаю пользовательское интро для игры, в которую играю, и для интро требуется формат .webm. У меня есть .webm формат, но по какой-то причине код игры обрезает аудио на 1 секунду раньше, поэтому я хочу узнать, как я могу добавить 1 секунду звукового пространства к этому коду
ffmpeg -i "input.mp4" -c:v "libvpx-vp9" -c:a "libvorbis" "output.webm"

Добавление 2 секунд тишины к аудио, если хотите больше или меньше, измените часть в duration=2:

ffmpeg -i "input.mp4" -f lavfi -i "anullsrc=cl=stereo:r=44100:duration=2" -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1;asetpts=N/SR/TB" -map 0:v -map  -c:v libvpx-vp9 -c:a libvorbis output.webm

.

Ответ или решение

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

Шаг 1: Установка ffmpeg

Если вы ещё не установили ffmpeg, рекомендуется сделать это. ffmpeg доступен для различных операционных систем и его можно скачать с официального сайта.

Шаг 2: Добавление тишины в аудиотрек

Чтобы добавить одну секунду тишины в начало аудиотрека, можно использовать следующую команду:

ffmpeg -i "input.mp4" -f lavfi -i "anullsrc=cl=stereo:r=44100:duration=1" -filter_complex "[1:a][0:a]concat=n=2:v=0:a=1;asetpts=N/SR/TB" -c:v libvpx-vp9 -c:a libvorbis "output.webm"

Пояснение по команде:

  • -i "input.mp4" — указывает входной файл, с которого будет взяться видео и аудио.
  • -f lavfi -i "anullsrc=cl=stereo:r=44100:duration=1" — создает источник беззвучного аудиосигнала, где:
    • cl=stereo — устанавливает стерео формат;
    • r=44100 — задает частоту дискретизации в 44100 Гц;
    • duration=1 — длительность тишины в 1 секунду.
  • -filter_complex "[1:a][0:a]concat=n=2:v=0:a=1;asetpts=N/SR/TB" — объединяет два аудиотрека: тишину и оригинальный звук:
    • concat=n=2:v=0:a=1 — объединяет два аудиофайла. v=0 указывает, что видео не будет использоваться, а a=1 — что будет использоваться только аудио.
    • asetpts=N/SR/TB — пересчитывает временные метки аудио, чтобы избежать возможных проблем с синхронизацией.
  • -c:v libvpx-vp9 — задает кодек видео (VP9).
  • -c:a libvorbis — задает кодек аудио (Vorbis).
  • "output.webm" — имя выходного файла в формате WebM.

Шаг 3: Проверка результата

После выполнения команды, проверьте созданный файл output.webm, воспроизведя его, чтобы удостовериться, что звук начинается с добавленной вами тишины в 1 секунду. Это поможет устранить проблему обрезания звука в игре.

Заключение

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

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

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

Капча загружается...