h.264 - x264/x265 选项可在保持质量的同时快速解码
问题描述
我想在 H264 和 H265 中编码一些视频,我想寻求帮助以便在 x264/x265 中选择适当的选项。
- 我的首要任务是视频质量。例如,无损将是最好的质量
- 我的第二个优先事项是快速解码速度(即:我希望在不牺牲质量的情况下更快地解码)
- 对我来说,快速解码意味着解码机将使用更少的 CPU 资源来读取生成的视频
- 更少的 RAM 消耗将是一个优势
- 延迟并不重要
- 如果输出文件最终更大,我并不在意。此外,编码速度并不重要
我知道-tune fastdecode
x264 和 x265 中的选项。但显然使用它的质量会变差。
对于 x264:
-tune fastdecode
相当于--no-cabac --no-deblock --no-weightb --weightp 0
(我的来源是x264 --fullhelp
)
哪些选项可以保持质量?
对于 x265:
-tune fastdecode
相当于--no-deblock --no-sao --no-weightp --no-weightb --no-b-intra
(根据x265 doc)
同样,哪些选项可以保持质量?
我试图阅读有关这些选项的一些文档,但恐怕我太愚蠢了,无法理解它们是否保持质量。
为了进一步解释我所说的“保持质量”是什么意思:
我不明白 cabac 选项究竟做了什么。但是假设它增加了一些额外的无损压缩,导致视频文件更小,但是解码机器需要做额外的工作来解压文件
在这种情况下,该
--no-cabac
选项会跳过额外的压缩,不会降低质量,文件大小会更大,并且解码器不需要解压额外的压缩,从而节省解码端的 CPU 工作在这种情况下,我想添加该
--no-cabac
选项,因为它可以加快解码速度,同时保持质量。
我希望我能明白我的意思
谁能帮我选择正确的选项?
提前致谢
解决方案
正如@O.Jones 所幻想的那样,“这取决于”是您将得到的最佳答案。作为 Compressarr 的作者,我可以告诉您,每个视频都需要数小时才能找到该问题的答案。
基本上,对视频进行编码(使用最佳猜测值),对照原始视频检查 SSIM。确定可接受的相似性百分比。(超过 98% 应该是难以察觉的差异)检查您的文件大小并根据需要使用新选项重复。您可以不使用样本,因此您不必做整个事情,但最终的 SSIM 只是一个猜测。
或者只是使用Compressarr并让它为您自动执行所有这些操作。:D
推荐阅读
- laravel - Laravel Virgin:在 phpunit 集成测试中设置和销毁数据库
- machine-learning - 使用一个变量的随机森林
- vue.js - 如何在 vue.js 中实现完全喜欢的面包屑
- oracle - 使用 binary_ai 和语言搜索/comp 避免性能缺陷
- angular7 - 列表已更新但值未反映在 angular7 的 HTML 中?
- javascript - 我怎样才能创建一个帖子,我有两个猫鼬模型互相引用
- azure-pipelines - 如何在自托管代理中配置不同版本的 Ruby/任何其他软件?
- excel - 连接字符串数组作为过滤器的多个条件
- visual-studio-code - 自动建议在 Visual Studio Code 中未按预期工作
- mysql - 具有压缩行格式的 MySQL:错误代码:1709。索引列大小太大。最大列大小为 767 字节