【问题标题】:FFmpeg adding click to beginning of audioFFmpeg 添加点击到音频的开头
【发布时间】:2019-07-03 15:00:54
【问题描述】:

我有一个奇怪的问题困扰了我一段时间。我正在使用 FFmpeg 将另一种格式转换为视频;转换发生在之前,并被输入 FFmpeg 最终转换为 mp4。

奇怪的是,我似乎在生成的视频的开头得到了一点点击;它不会出现在原始音频中,但会出现在最终视频中。

这里是sample audio。你会注意到它一开始没有爆音。

这里是raw video input

这里是video my command is generating

这是我用来重现问题的命令(实际转换发生在 Python 脚本中,通过标准输入为 FFmpeg 提供视频,通过临时文件提供音频)

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/2 秒左右。看看你是否在时间轴上的 +skip 处得到相同的流行噪音
  • 我刚刚通过在输入音频的 -i 标志之前指定 -itsoffset 00:00:02 进行了尝试。没有点击,虽然视频被延长到稍微容纳音频
  • 实际上,当我这样做时,不应该出现的点击次数更少,发出的声音更多(大致从指定的偏移量开始)。
  • 在这里猜测.. 尝试使用音频过滤器在问题间隔内降低音量

标签: ffmpeg


【解决方案1】:

您似乎在指定输入音频是原始的,但它不是:

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

所以我想你听到的点击是被处理为音频的 wav 标题。如果我删除相关选项-f s16le-ar 11025ffmpeg 正确确定音频输入为 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

【讨论】:

  • 天哪!谢谢!你让我的一天变得无限美好!这样就解决了!
猜你喜欢
  • 2016-04-11
  • 1970-01-01
  • 2016-05-22
  • 2012-09-04
  • 1970-01-01
  • 2018-06-01
  • 2021-03-11
  • 2022-01-19
相关资源
最近更新 更多