簡體   English   中英

如何規范化 android 中的 Video(mp4) 文件?

[英]How to Normalize the Video(mp4) file in android?

我想實現視頻音頻的特征標准化。 我做了一些研發,但沒有找到任何合適的解決方案。

我還有一個疑問,我是否必須從視頻中獲取音頻,然后對其進行規范化,然后將音頻合並到視頻中(這可能是一項耗時的任務),還是我可以直接規范化視頻文件?

或者,如果有任何特定的 FFmpeg 命令,那么我很樂意使用它。

我為上述問題找到了一種解決方案。

我們可以使用 FFmpeg 命令來規范化視頻中的音頻。 但在此之前,我們需要找出應用的增益

首先,我們需要分析音頻 stream 以獲得最大音量,看看標准化是否會得到回報:

val complexCommand = arrayOf("-i",videoPath,"-af","volumedetect","-f","null","null")

這將 output 類似於以下內容:

[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是我們需要設置的視頻的音頻比特率。 它可以根據視頻而有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM