【问题标题】:ffmpeg to calculate audio/visual difference between compressed and non-compressed videoffmpeg 计算压缩和非压缩视频之间的音频/视觉差异
【发布时间】:2019-06-14 09:05:28
【问题描述】:

我正在尝试计算经过严格压缩的视频文件与未压缩过的视频文件之间的音频 + 视觉差异。 我正在使用管道,因为最终我希望它从相机流中获取 src。

我设法获得了我正在寻找的视频结果,但我在音频方面遇到了困难。 我添加了一条线来反转压缩音频的相位,这样当它们在混合中相加时,它们几乎应该相互抵消,但这不会发生。

ffmpeg -i input.avi -f avi -c:v libxvid -qscale:v 30 -c:a wmav1 - | \
ffmpeg -i - -f avi -af "aeval='-val(0)':c=same" - | \
ffmpeg -i input.avi -i - -filter_complex "blend=all_mode=difference" -c:v libx264 -crf 18 -f avi - | \
ffplay -

我仍然可以听到所有音频,而我应该听到的只是压缩伪影。谢谢

【问题讨论】:

    标签: audio video ffmpeg compression


    【解决方案1】:

    作为序言,我不确定您的方法能否识别音频压缩“伪影”

    您的命令不执行任何音频比较,它只反转单个通道。另外,音频和视频被压缩了两次,最后一个ffmpeg命令接收到的编解码器是mpeg4mp3的默认AVI编解码器。

    使用

    ffmpeg -i input.avi -f matroska -c:v libxvid -qscale:v 30 -c:a wmav1 - |\
    ffmpeg -i input.avi -i - -filter_complex "[0][1]blend=all_mode=difference;[1]aselect=gt(n\,0),asetpts=PTS-STARTPTS[1a];[0][1a]amerge,aeval=val(0)-val(1):c=mono" -c:v rawvideo -c:a pcm_s16le -f matroska - |\
    ffplay -
    

    我假设您的音频是单声道的。如果您的音频有 N 个通道,您的 aeval 将需要 N 个表达式,其中第 M 个表达式是 val(M-1)-val(N+M-1)

    我还修剪了第一个编码的音频帧,以减轻 Paul 提到的编码器延迟,它似乎在这里工作。

    【讨论】:

      【解决方案2】:

      编码的音频样本可能会引入一些延迟。你的命令也不正确。

      【讨论】:

        猜你喜欢
        • 2014-05-28
        • 2017-03-02
        • 1970-01-01
        • 2013-12-29
        • 1970-01-01
        • 2014-07-02
        • 1970-01-01
        • 2015-10-22
        • 1970-01-01
        相关资源
        最近更新 更多