gpt4 book ai didi

android - 如何规范化android中的视频(mp4)文件?

转载 作者:行者123 更新时间:2023-12-04 23:19:16 27 4
gpt4 key购买 nike

我想实现视频音频的特征标准化。我做了一些研发,但没有找到任何合适的解决方案。
我还有一个疑问,我是否必须从视频中获取音频,然后对其进行规范化,然后将音频合并到视频中(这可能是一项耗时的任务),还是我可以直接规范化视频文件?
或者,如果有任何特定的 FFmpeg 命令,那么我很乐意使用它。

最佳答案

我为上述问题找到了一种解决方案。
我们可以使用 FFmpeg 命令来规范化视频中的音频。但在此之前,我们需要找出应用的增益
首先,我们需要分析音频流的最大音量,看看标准化是否会得到返回:

val complexCommand = arrayOf("-i",videoPath,"-af","volumedetect","-f","null","null")
这将输出如下内容:
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: -5.0 dB
[Parsed_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是我们需要设置的视频的音频比特率。它可以根据视频而有所不同。

关于android - 如何规范化android中的视频(mp4)文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70108978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com