【问题标题】:How to use ssim in ffmpeg如何在 ffmpeg 中使用 ssim
【发布时间】:2013-08-03 07:49:42
【问题描述】:

我在 ffmpeg 命令中寻找放置 -ssim 或私有选项的正确位置。我没有找到它,但我有一个可行的选择,并会与您分享。它工作正常,但我不知道为什么。

首先尝试不使用 ssim 并正常工作:

ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 12 -bf 2 -sameq video.m4v

我尝试将 ssim 如下所示,但没有工作:

ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 12 -bf 2 -sameq -ssim video.m4v
ffmpeg -s cif -r 30 -i video.yuv -ssim -vcodec mpeg4 -g 12 -bf 2 -sameq video.m4v

在这里它可以工作:

ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 12 -bf 2 -ssim -sameq video.m4v

有人知道为什么它在最后一种情况下有效,而不是在命令 2 和 3 中有效吗?

【问题讨论】:

  • 您应该提供与每个命令关联的完整控制台输出,而不是提及它“不工作”。此外,-sameq does not mean "same quality" 已从 ffmpeg 中删除。对于编码器mpeg4,您应该改用-qscale:v。 2-5 可能是一个合理的范围。
  • 当我花时间解决问题时,我非常感谢反馈。回答和评论对你有帮助吗?
  • -sameq 仍在使用。你是对的不是意味着“相同的质量”而是相同的量化矩阵。如果你把 -sameq 你会有更少的空间压缩。
  • LordNeck 感谢您的编辑。

标签: ffmpeg


【解决方案1】:

-ssim 选项与您使用的编解码器 (x264) 相关。

至少它可以解释为什么你的情况(3)不起作用,因为你把选项放在 -vcodec 之前

请记住,ffmpeg 选项并不是真正的位置独立。 据我所知,ssim 是 AVCodecContext 选项的一部分,应该放在 fflag2 之后,如下所示,但根据您使用的 ffmpeg 版本,它可能是错误的。

 ffmpeg -i input ... codec .... -ssim output

【讨论】:

  • 你有这个来源吗?
  • @roberutsu ,正如我所说,我并不完全确定这一点,但经过一些“谷歌搜索”后,我发现以下页面 ssim 选项显然依赖于 -flags2 avanti.arrozcru.com/tpl_upd.htm
猜你喜欢
  • 2016-06-02
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 2021-11-03
  • 2012-11-28
  • 2012-05-23
相关资源
最近更新 更多