AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1448982
Accepted
RvidD
RvidD
Asked: 2019-06-15 20:16:11 +0800 CST2019-06-15 20:16:11 +0800 CST 2019-06-15 20:16:11 +0800 CST

如果我在 x264 (FFmpeg) 中使用低于 17/18 的 CRF 值,我会得到任何视觉上的好处吗?

  • 772

如果我在 x264 (FFmpeg) 中使用低于 17/18 的 CRF(恒定速率因子)值,我会得到任何视觉上的好处吗?除了大小,会有什么不同吗?

CRF 17/18 在视觉上是无损的。

CRF 0 表示帧的每个像素都将由其自身的数据确定。CRF 17/18 意味着,帧的每个像素将由其自己的数据确定,或者如果它们相同则由前一帧确定。

所以在视觉上两者都是一样的。那么较低值的CRF(0-16)编码有什么用呢?

我已经测试了大部分可用的 CRF 值(包括 CRF 0)。我使用“CRF 0”编码了一部 1080P 蓝光电影。输出最终比蓝光源大 2.5 倍 (110GB)。

据我所知,我没有看到使用低于 CRF17/18 的 CRF 值的理由。而且我无法在任何地方找到证明使用较低 CRF 值的理由。那么较低的 CRF 值有什么好处呢?

在 CRF 17/18 中会有更多的生成损失,而在较低的 CRF 值编码中会有更少的生成损失吗?

ffmpeg video-encoding
  • 3 3 个回答
  • 17999 Views

3 个回答

  • Voted
  1. Best Answer
    slhck
    2019-06-18T00:41:08+08:002019-06-18T00:41:08+08:00

    简短的回答是:不,您不太可能获得视觉上的好处,或者至少大多数人不会注意到。

    为了简单起见,假设使用 17 的 CRF 等于使用 17 的恒定QP。QP越低,比特率越高,反之亦然。QP 0表示没有量化损失;QP 51 是最大可能值(对于 8 位 H.264)。这种通过量化减少信息的技术已有数十年历史,是大多数有损视频压缩算法的基础。问题是:压缩收益超过质量损失的主观点在哪里?

    主观测试表明,对于使用 压缩的 UHD 视频,用户观看一个又一个压缩剪辑并对其质量进行libx264评分,平均意见得分在 ~30–40 Mbit/s 左右饱和(使用 2-pass 编码,中等预设)。这意味着人类受试者无法分辨(或不会给出更高的评级)以更高比特率编码的剪辑。如果 CRF 低于 17,您通常会达到 50 Mbit/s 或更高,具体取决于内容。因此,使用较低的 CRF 通常是浪费比特,人类不会注意到它。*

    因此,存在一个感知阈值,在该阈值之后使用较低的 QP 不会给您带来更好的质量——它只会意味着您会浪费比必要更多的比特。这个阈值取决于内容的空间特征:有些东西比其他东西更容易压缩。那里绝对没有硬性阈值,但大多数建议都在 H.264 的 QP/CRF 17–18 左右徘徊。

    重要的是要澄清您可以选择指定这些特定的 QP/CRF 参数,因为它们在技术上是可行的,而不是因为它们有内在的用途。就像您可以以高转速和尾气驾驶汽车一样,您可以以不合理的高比特率对视频进行编码,这样就可以完成工作。

    选择高于感知阈值的 QP/CRF 值的可能原因是什么?

    • 您的目标是针对特定内容找出与 QP 相关的感知阈值。(这里的例子。)

    • 您希望以尽可能最好的质量存档视频并且不关心文件大小,但您不希望拥有非常大的文件(即,比原始视频的大小大得多)。

    • 你知道你的视频在某个阶段会再次进行有损压缩,在这种情况下,它有助于在第一阶段保留尽可能多的细节,以免产生更多的损失。

    既然你问过后一点:会有多少生成损失取决于原始视频中的空间细节量以及在任何未来编码阶段应用的量化量。因此,您在第一步中丢弃的越少,在以后的任何步骤中保持质量的机会就越大。

    那么,较低的 QP/CRF 值有什么用呢?不多,至少对于普通用户而言。

    * 当然,这取决于测试方法。有些测试范例比我所描述的范例更为重要。例如,如果您显示未压缩剪辑和压缩版本之间的明确比较,用户可以检测到更细粒度的差异。基于 JND 的测试也是如此。

    • 10
  2. Mysteria
    2020-09-22T12:35:53+08:002020-09-22T12:35:53+08:00

    如果您不想丢失太多细节,这是值得的。如果你不关心这个,那又何必呢。这取决于您使用的来源。例如,如果您正在编码的节目需要高比特率来处理动作场景,则您必须满足 crf 的要求以对其进行补偿。一般来说,如果你对任何东西进行编码,并且希望细节损失最小(假设你不关心大小),crf-14 或 crf-15 是不错的选择。

    • 0
  3. Valery Sinitsine
    2021-01-18T08:21:31+08:002021-01-18T08:21:31+08:00

    是的,只有 CRF 12 及更低版本是“透明的”。如果您从无损源转换或下转换(超高清蓝光到高清蓝光),请使用它。大小将与实际的蓝光 remux 相当。如果你使用任何 12 以上的 CRF,那么你显然关心存储空间并且必须接受细节丢失。

    • 0

相关问题

  • -map_metadata 抓取多个音频流元数据

  • 最低比特率 ffmpeg 输出的编解码器和设置

  • 如何用ffmpeg 2.0.2保存TS视频流?

  • 快速提取 I 帧到图像

  • 压缩视频可以解码回未压缩的原始格式吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve