FFmpeg добавление клика к началу аудио - PullRequest
0 голосов
/ 09 февраля 2019

У меня странная проблема, которая беспокоила меня некоторое время.Я конвертирую другой формат в видео, используя FFmpeg;преобразование происходит раньше и подается в FFmpeg для окончательного преобразования в mp4.

Как ни странно, мне кажется, что я получаю небольшой щелчок в начале получившегося видео;его нет в оригинальном аудио, но оно отображается в финальном видео.

Вот пример аудио .Вы заметите, что у него нет всплывающего окна в начале.

Вот необработанный видеовход .

Вот видео , которое генерирует моя команда .

Вот команда, которую я использую для воспроизведения проблемы (фактическое преобразование происходит в скрипте Python, подающем FFmpeg видео через stdin и аудио через временный файл)

cat debug_raw_video.bin| ffmpeg -hide_banner -loglevel info -y -s 256x192 -r 30 -f rawvideo -thread_queue_size 600 -pix_fmt rgb8 -i pipe:0 -f s16le -ar 11025 -ac 1 -guess_layout_max 0 -i ./debug_audio.wav -vcodec libx264 -pix_fmt yuv420p -movflags faststart -acodec aac -strict experimental -vf scale=512:384:flags=neighbor -threads 0 -preset medium -tune animation ./out.mp4

Версия FFmpeg: ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers

Также есть проблема с этой версией: ffmpeg version 3.3.4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers

Почему в начале я получаю небольшой щелчок / щелчок?Я пытался понять это довольно долго.

1 Ответ

0 голосов
/ 12 февраля 2019

Похоже, вы указываете, что входное аудио является необработанным, но это не так:

$ file debug_audio.wav
debug_audio.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 11025 Hz

Итак, я представляю, что щелчок, который вы слышите, является заголовком wav, который обрабатывается как аудио.Если я уберу соответствующие параметры, -f s16le и -ar 11025, ffmpeg правильно определит, что аудиовход имеет формат wav, и выдаст вывод без щелчка:

cat debug_raw_video.bin | ffmpeg -hide_banner -loglevel info -y -s 256x192 -r 30 -f rawvideo -thread_queue_size 600 -pix_fmt rgb8 -i pipe:0 -ac 1 -i ./debug_audio.wav -vcodec libx264 -pix_fmt yuv420p -movflags faststart -acodec aac -strict experimental -vf scale=512:384:flags=neighbor -threads 0 -preset medium -tune animation ./out.mp4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...