有没有办法分析视频以找出它的响度,然后将其纠正为 ebu r128

Posted

技术标签:

【中文标题】有没有办法分析视频以找出它的响度,然后将其纠正为 ebu r128【英文标题】:Is there a way to analyse a video to find out its loudness and then correct it to ebu r128 【发布时间】:2019-11-13 10:44:48 【问题描述】:

我想看看是否有人知道我可以分析视频音频并找出它的响度的最佳方法。

我想使用这些信息,然后通过 FFmpeg 或其他方式更正音频。 音频必须满足https://tech.ebu.ch/docs/r/r128.pdf ebu 标准响度-23 且不高于0.5。

有没有办法做到这一点?

我很难找到解决方案。

【问题讨论】:

ffmpeg 文件还不错trac.ffmpeg.org/wiki/AudioVolume 【参考方案1】:

您可以使用我编写的名为ffmpeg-normalize 的Python 包。它使用内置的loudnorm 过滤器,但添加了一些方便的方法。请查看自述文件。

$ pip install --user ffmpeg-normalize

要获取 JSON 格式的响度统计信息,zse -p-n(试运行):

$ ffmpeg-normalize BigBuckBunny.avi -p -n
[
    
        "input_file": "BigBuckBunny.avi",
        "output_file": "normalized/BigBuckBunny.mkv",
        "stream_id": 1,
        "ebu": 
            "input_i": "-32.25",
            "input_tp": "-8.70",
            "input_lra": "20.60",
            "input_thresh": "-44.86",
            "output_i": "-23.26",
            "output_tp": "-2.00",
            "output_lra": "11.40",
            "output_thresh": "-33.80",
            "normalization_type": "dynamic",
            "target_offset": "0.26"
        ,
        "mean": null,
        "max": null
    
]

在音频流上运行规范化并复制视频:

ffmpeg-normalize BigBuckBunny.avi -c:a aac -b:a 192k

这会将文件写入normalized/BigBuckBunny.mkv 并使用 ffmpeg 的内部 AAC 编码器重新编码音频流。要更改输出文件名,请使用-o

【讨论】:

有没有办法对视频文件执行此操作。我有 mxf 视频文件,还必须输出回 mxf 如何指定放置文件的位置及其格式。我会尝试使用-of C:/APerson/Desktop -o new.mxf 但转换失败 只需使用-o 指定完整的输出路径。如果您遇到任何错误,请提供完整的日志(例如复制到 pastebin)。输出格式是通过文件扩展名自动设置的(就像在 ffmpeg 中一样)。 "仅实现了 48khz" – 尝试将 -ar 48000 添加到命令选项中。 检查ffmpeg -i input.mxf -c:v copy -c:a aac -b:a 192k -ar 48000 -map 0 output.mxf 是否有效。如果不是,这是一个上游问题,与这里的特定问题无关。在这种情况下,请在Super User、Video Production 或 ffmpeg-user 邮件列表中提出新问题。

以上是关于有没有办法分析视频以找出它的响度,然后将其纠正为 ebu r128的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在同一个wifi网络上连接的用户之间进行视频通话

从视频中提取图像,将其更改为灰度并找出差异

以 mp4 格式录制、保存和/或转换视频?

SpriteKit Swift 使整个场景变暗,然后将其改回

音频知识点- 响度控制单位

SQL - 希望使用 soundex 来纠正拼写错误 [关闭]