我使用FFmpeg生成带有彩条和色调的测试片段。我还制作了一个特殊的过滤器来转储原始音频数据以进行检查。我惊讶地发现,在经过AAC编解码器后,音频音会产生很大的噪音。这是预期的吗?有没有办法阻止它?
制作我使用的测试文件:
ffmpeg -f lavfi -i" smptehdbars = duration = 600:size = 1280x720:rate = 59.94" -qscale:v 1 -pix_fmt yuv420p smpte_r59_720.mp4
然后
ffmpeg -i smpte_r59_720.mp4 -f lavfi -i" sine = frequency = 1000:sample_rate = 48000:duration = 600" -qscale:v 1 -vcodec copy -c:a aac -b:a 192k -shortest -map 0:0 -map 1:0 smpte_r59_720T.mp4
然后
ffmpeg -i smpte_r59_720T.mp4 -y -map 0 -acodec aac -vcodec libx264 -crf 23 -bsf:v h264_mp4toannexb smpte_r59_720T.ts
(尝试一步完成所有这一切都会失败。)
其他变化有不同程度的噪音,有时高于标称幅度,有时低于。
发现这个问题后,我从网上抽取了第三方测试音.WAV文件,采样率为44.1KHz并检查了它。原始文件很干净,但我制作的编码文件有噪音。