我想实现视频音频的特征归一化,我已经做了一些 R & amp;D,但没有找到任何合适的解决方案。
我也有一个疑问,我必须从视频中获取音频,然后对其进行归一化,然后将音频合并到视频中(这可能是一项耗时的任务),或者我可以直接对视频文件进行归一化?
或者如果有任何特定的 FFmpeg 命令相同,那么我很乐意使用它。
我已经找到了上述问题的一个解决方案。
我们可以使用 FFmpeg 命令对视频中的音频进行规范化。但在此之前,我们需要找出要应用的增益
首先,我们需要分析最大音量的音频流,看看规范化是否会得到回报:
val complexCommand = arrayOf("-i",videoPath,"-af","volumedetect","-f","null","null")
这将输出类似以下内容:
[Pd_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Pd_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: -5.0 dB
[Pd_volumedetect_0 @ 0x7f8ba1c121a0] histogram_0db: 87861
如您所见,我们的最大音量为-5.0 dB,因此我们可以应用 5 dB 增益,如果您得到的值为 0 dB,那么您就不需要对音频进行归一化。
现在,我们可以使用以下 FFmpeg 命令对.mp4 文件进行规范化。
val complexCommand = arrayOf(
"-i",
originalVideoPath,
"-af",
"volume= 5.0dB",
"-c:v", "copy",
"-c:a",
"aac",
"-strict",
"experimental",
"-b:a",
"128k",
destinationPath
)
128k 是我们需要设置的视频的音频比特率,它可以根据视频而变化。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(26条)