【问题标题】:How to compress h265 video using ffmpeg h265?如何使用 ffmpeg h265 压缩 h265 视频?
【发布时间】:2021-02-27 21:23:46
【问题描述】:

我正在使用我的相机应用程序录制一些视频。在他们只有 h264 选项之前,文件大小非常大,例如 10GB 1 小时,用于标准智能手机相机质量。我使用 ffmpeg 压缩它们,它们会减少到大约 150-200MB,同时看起来相同。

现在他们添加了一个 h265 选项,所以我首先用它来录制。现在这些文件可能会小一点,但它们仍然很大,比如 5GB。所以很自然地我在这些视频上尝试了 ffmpeg,但它们不仅压缩速度慢得多,即 0.3 倍的速度,而且文件大小可能会减少 5%。

所以我不确定我必须做些什么才能获得这些新的 h265 视频,就像我在使用 ffmpeg 之前编码的那样,以便它们的大小约为 150-200MB。

是不是因为ffmpeg使用h265编码不能有效压缩h265?

【问题讨论】:

  • 嗯...人们通常在编码时控制质量(对输出的期望)。例如比特率或恒定速率因子。没有被提及,看起来你把所有的希望都寄托在了默认值上,当然事情可能会改变。 ffmpeg docs: h265 encoding.
  • 该应用程序除了分辨率和编解码器外没有任何选项,但我一直使用 -crf 28 但就像我在 OP 中提到的那样,使用 h265 -crf 压缩它们后大小差异很小28,而且编码速度好慢。
  • 重新编码应用程序生成的文件以获得更小的文件。 App与它有什么关系?您应该将选项传递给 ffmpeg 以将应用程序编码的文件编码为新的东西吗?是的,由于您在管道中的更改,您的最终 crf 28 可能不再是正确的值。改一下就行了
  • 好吧,我不确定您指的是哪些设置,这就是我提到该应用程序的原因。到时候我会继续尝试。我想我可能必须先用 264 编码,然后再用 265 编码。
  • 那将是一个糟糕的方法。您只需使用 ffmpeg crf 将应用程序输入编码为新输出。减速可能是由于许多原因(很难从给出的内容中读出)。如果你之前重新编码了 h264 -> h264,它可能比 h265 -> h265 快得多。但这也取决于选项。 0.3x 听起来太慢了,我怀疑输入在分辨率方面发生了变化(会很奇怪),或者您现在正在编码 h265 但以前没有。 (我猜 h265 解码开销应该更小)

标签: encoding ffmpeg compression h.264 hevc


【解决方案1】:

并非所有格式都相同

H.265 是比 H.264 更新一代的格式,在理想情况下,H.265 可以显着节省文件大小(但编码速度可能会慢得多)。

因此,将 H.264 与 H.265 进行比较可能是不公平和不现实的。

并非所有编码器都是平等的

无论格式如何,有些编码器都是垃圾。您的 H.264 输入可能是由硬件编码器创建的,该编码器牺牲了每比特质量以提高编码速度。这些是低效的编码器。

因此,如果您采用由效率低下的编码器生成的 H.264 输入,然后使用高效的 H.265 编码器对其进行重新编码,您可能会看到显着的文件节省,尽管源中存在压缩不友好的编码伪像。

您的 H.265 输入是由 ffmpeg 创建的

如控制台输出所示:encoder: Lavf58.34.101,这是 libavformat 库版本。这个库负责复用文件。

我不确定使用的是哪种编码器,但它可能表明可以使用 x265(一种高效的编码器)。 mediainfo 的输出可能表示实际的编码器。

因此,如果是这种情况,并且您重新对其进行编码,除了generation loss 之外,您可能看不到太多区别。

【讨论】:

  • 谢谢,不,我一直使用 h265 来压缩我的视频。
  • @JoanVenge 好的,但不管答案基本还是一样。
  • 我切换回 h264 录制,哇,现在我看到了不同之处。不知何故,它在 265 中捕获了太多噪声或在 264 中应用了中值滤波器,这就是为什么当源为 264 时我的最终压缩效果非常好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 2015-11-22
相关资源
最近更新 更多