原创 x264 x265 QAAC 压制编码教程 2020.6版

NAZOrip@A
[email protected] 2月15日
  • 在其它设备中阅读本文章
学这个有啥用⊙∀⊙:

搞明白视频文件的质量,管理,压缩;凭直觉正确食用小丸工具箱,Voukoder,ShanaEncoder,Staxrip,MeGUI,OBS录屏等一众视频编码软件;大幅节约视频创作,录制,素材管理的时间;搞懂先进视频编码的核心原理等等...

看哪个版本(⊙_◎):

综合版里囊括了一切背后原理的科普, 精简版里只能看到程序的选项解释, x264编码器的教程是入门必看; 而因为x265编码器更先进高深,所以它的教程一开始就被设计为x264教程的进阶, 所以对软件工程,信息技术,甚至网络技术都有多多少少的科普,适合有更高画质vs体积要求的用户

强项(っ╹◡╹)ノ:
  1. 将针对小白, 萌新一定会问的问题, 以及最担心的"学会后是什么样的"的内容放到了综合版文章最前端
  2. 完美的文档体积, 含有大量图片,高标准排版,但仍小于3M, 加载文档只要一瞬间
  3. 不需要任何预习, 全中文语法, 彻底的翻译. 通俗精准的用辞让你告别技术论坛
  4. 字颜色和字体的控制得当, 最小化用眼疲劳
  5. 更新快, 专治疑难杂症, 欢迎新人加群, 提出看不懂的地方, 最慢半个星期内可得到解决(话说加群的人不是问ffmpeg就是滤镜,原因至今是个谜)
下载链接(皆同步更新, QQ群里有很高几率能得到问题答复):

能直接看pdf: 谷歌盘, 墙内: 百度云, QQ群存档: 691892901
附录: QAAC音频压缩教程Github
附录: ffprobe视频探针教程Github

x265待更新2020.7,x264待更新2020.6

√ 下载板块增加patman编译的x264,x265,并进一步突出不同人员编译x265的额外功能,比如带libx265.dll,带x86版,整合还是分离8,10,12bit色深为一/多个程序
√ x264教程,将下载栏目的Voukoder v5.0,OpenBroadCast用法和下载进一步优化
√ x265教程下载栏目附录,强化GCC,ICC,MSVC,Clang等编译器的区别(就是除GCC外都要特定的dll)
√ x265增加“虽然和x264的量化一样,但crf越高,x265要执行的计算也越多,速度就更慢”的信息
× 等待--auto-aq的开发,现在未更新故跳过
× 测试hist-scenecut,对比原本的scenecut在速度,质量;主要观察GOP形状的不同,包括不同分块深度,不同模式决策策略下哪个分配IDR帧更合理 傅里叶变换把时间拖得太久了,故跳过
× 测试hevc-aq,对比原本aq在速度,质量上的不同,主要观察两个结果下码率差距大的画面 傅里叶变换把时间拖得太久了,故跳过
? 检查并更新x264 8-10bit下qpmax和qpmin的不同默认值
√ hist-scenecut增加“x265 v3.4+9版改良了hist-scenecut的算法”
强化open-gop下帧序列的详细说明,重新评估open-gop的可用性 还是不好使
√ x264教程,将voukoer的用法教程从v4换成最新的v5
√ x265教程第一页,增加检查当前x265的功能,色深,编译等信息的方法
√ x265教程增加rc-lookahead的性能信息
√ x264精简版,将码率~文件大小~时间换算从综合版拷过来
√ x264综合,精简版增加频繁黑屏 -->CPU 太热 --> 清灰 / 风扇加速的压制问题解决思路
√ x264综合,精简版降低了前半部分一些使用说明字数,缩减了命令行的占用字数,包括将链接缩减成超链接
★√ x264综合,精简版将deadzone-inter/intra参数提升了重要性,放在了trellis旁边,增加了设定建议
★★? x265综合版强化,深挖变换的原理:

√ 入门微积分基础
√ 信号处理(计算,性质)基础
★★★★★? 解释傅里叶级数如何发展出傅里叶变换,离散傅里叶变换,快速傅里叶变换以及拉普拉斯变换
√ 强化二维离散余弦变换DCT科普
★× 写出一维,二维不协调离散正弦变换ADST的科普 傅里叶变换把时间拖得太久了,故跳过
? 增加DCT,DST,ADST,DFT三种变换分别应用在哪些视音频编码中的表格
√ 增加“DFT的实现方式是用指数,DCT的实现方式是用阵列,因为[原因]”的信息
√ x265综合版,增加变换上用整数更好算, 损失更小的信息
√ 修复qcomp的范围和x264一样的错误,应该是0.5~1,默认0.6,然后补充说明变换原因和新的范围用法

★? x264综合版文档,注明“此处科普的是离散傅里叶变换,方法上不是x264使用的DCT变换(在x265综合版文档中科普);但结果一样” 使用其他方式实现了
√ x264综合版,改良残余residue的解释:是经过帧内,帧间预测后,用之前的块拼出画面与当前画面的残差
× x264,x265综合版,写入小波变换wavelet transform的科普 傅里叶变换把时间拖得太久了,故跳过
× x264,x265文档,写入bilinear,bicubic,lanczos,spline变换的科普 傅里叶变换把时间拖得太久了,故跳过
× x264,x265文档,写入拉普拉斯等其它变换的科普,或者写作为滤镜? 傅里叶变换把时间拖得太久了,故跳过
× x264,x265文档,用不同难度科普F/IIR(有/无限冲程反馈滤镜)滤镜的原理,以及在x264/5中的应用 傅里叶变换把时间拖得太久了,故跳过
√ 更新了关于avx512的内容,覆盖了原本的参数介绍

x265更新2020.6 (跟随官方x265 v3.4 5月29更新)

√ 改正不同动态搜索方法(hex~full)下的merange值设置
√ 改正merange的说明, 计算和推荐
√ 改正me的说明, 计算和推荐
√ 修正动态搜索和帧内搜索的介绍段
√ 排版图片位置,减少1页纸用量
√ 下载栏删除Wolfberry编译的x265
√ 下载栏增加有用信息,更方便确认不同x265编译者结果的区别了
√ 率失真优化科普减少字数
√ 优化qocmp参数说明
√ 增加x265教程急用版,将会和x264教程急用版独立出来
√ 修复“重建块”的语义错误:只有在解码步骤才会重建块
增加umh,star和sea动态搜索的科普 已在x264文档中实现
√ 增加frame-dup参数在2pass里有帧数读取错误bug,在3.4版修复的说明
√ 根据x265 3.4版,增强rskip-edge-threshold的说明
√ 补完x265的2pass, Npass模式说明,参数等内容[

√ 2pass模块介绍:analysis模式和multi-pass-opt模式
√ analysis模块分为analysis-save/load部分和avalysis-reuse部分
√ 改良analysis-save,analysis-load,analysis-save/load-reuse-level,analysis-reuse-file参数说明
√ 改良multi-pass-opt-analysis,multi-pass-opt-distortion,multi-pass-opt参数说明
√ 分离refine部分到优化模式下,并改良dynamic-refine,refine-inter/intra参数说明

]
√ 根据x265 3.4版,增加编码天梯encoding ladder/ABR天梯的说明和参数[

√ 增加参数abr-ladder的科普(来源),说明,操作例子

]
√ 增加slow-firstpass参数的说明

x264更新2020.5

√ 修复下载栏目没有lavf编解码写成不支持.mp4的问题
√ 改进部分科普(色深等)的语法
√ 改正小数帧率科普:不用整数是为了降低广播信号干扰,因为带宽频率一样就打架
√ 增加速度-压缩率-画质三角形图表,方便萌新明白压制定律
√ 根据DarkShikari建议,放弃一切大于60的merange设置,因为会降低画质和压缩率,(hex~tesa)下的merange值设置
[DIA/HEX:只能用4~16的偶数(范围4~16,模2得0;因为形状是偶数;merange最大16是为什么,而且和mb一样大?);UMH/ESA/TESA:模4得0]
★? 关闭子像素搜索subme对质量,码率的影响有多大,快速编码是否可以接受 直接no-mbtree不就行了

x264更新2020.4

√ 删除目录
√ 改良了两个两个色深科普的语法
√ 在CLI,GUI的后面增加了API的科普
√ 大改x264教程急用版,为OBS设置写了API格式的参数
√ 改良参数trellis的说明
√ 增加一点模式决策mode decision的科普
√ 增加一点模式决策~率失真优化的科普
√ 增加3个颜文字
√ 优化ref参数,重排多参考帧简介到帧控制中
√ 重排VBV参数简介,mbtree宏块树简介
√ 精简bframes, b-adapt参数说明
√ 重排宏块树mbtree的简介到模式决策~率失真优化
√ 精简版文档删除所有科普
√ 优化qocmp参数说明
√ 修复“重建块”的语义错误:只有在解码步骤才会重建块
√ 增加量化值qp和对数线关系的科普
? 增加hex,umh,star和esa动态搜索的科普 下次再说吧...
√ 缩小图片体积,进而缩小文档大小
√ 改良编码,解码的科普,多了"分割-->预测(冗余)-->变换-->熵编码, 熵解码-->逆变换-->还原预测-->重建"的关系

x265大更新2020.5 (基本上改了整篇文档)

增加x265教程急用版,将会和x264教程急用版独立出来 以后再说......
重画离散余弦变换图片, 增加了观感,降低了文档体积
改良离散余弦变换板块写法
删除hme参数,换成hme-search和hme-range两个参数,并将其位置换到动态搜索板块底部,更独立
目录改成双目录,节省2张纸
增加constrained-intra参数,改变no-strong-intra-smoothing位置以暗示与constrained-intra的关联
增加preset和tune参数,造成增加了2张纸的用量
修复rskip参数问题,删除了已经不存在的no-rskip
缩短了no-open-gop和radl参数简介句长
修复pxl_fmt参数的错误,应该是pix_fmt
修复max-cll参数的错误,应该是和master-display的L(,)不一致
为什么psy-rd/rdoq开大了能在无损编码下降低码率 并不能哦
★增加率失真优化量化rdoq板块,重排参数rdoq-level和psy-rdoq位置
★增加模式决策mode decision板块,重排参数rect, amp, limit-refs, limit-modes,rskip,rskip-edge-threshold,rc-lookahead到模式决策中
★画出模式决策运作原理的图
★优化,改良,减字数,修复rect, amp, limit-refs, limit-modes,rskip,rdoq-level,psy-rdoq,colorprim,transfer,colormatrix,fast-intra,b-intra,rd-refine的推荐,排版,使用策略等
增加Coefficient –> 系子的翻译,在视频编码里,把coefficient翻译成系数是在害人
删除lowpass-dct参数,因为所有情况都用不到
修复综合版crqpoffs,aq-strength参数更新丢失的问题
更改frame-dup,dup-threshold参数位置到帧控制中,尽管x265官方文档没有
增加了5.5个颜文字

x264更新~2020.3

科普部分色彩空间的科普发现了重大错误,做了紧急修复
科普部分增加色度采样板块
(2020.2)增加了deblock参数用法的有用信息,表达更清楚了
增加了-4个颜文字

x265更新~2020.4

根据x265 v3.3更新了一系列参数
增加了deblock参数用法的有用信息,表达更清楚了
更改pmode参数建议为不建议
更改aq-mode参数建议为只用1或测试性的用4
增加转场scenecut参数原理的信息
增加histogram系列转场参数的信息,暂时没有建议
转场参数选择变得多而复杂,所以独立分为一个板块,共有6个参数
修复了scenecut-window参数的错误:是转场前后增加qp,而不是转场后增加qp
教程第一页提高了新人劝退性能,降低了ffmpeg食用方式的阅读难度
消灭了教程第一页参数列表的参数重复问题
发现了带lavf滤镜的x265,并跟着收录在了下载板块,修改了教程第一页
下载板块去掉了snowfag编译的x265
增加了HolyWu编译的,带lavf滤镜的x265下载
优化了率失真优化的科普,阅读难度降低
根据源文档修改了analysis-reuse-level参数为save和load两个分身
增加了-1个颜文字

x265更新~2020.3

增加了Rigaya编译的x265下载
更新了下载板块所有x265编译的GCC版本记载
增加了x265GuiEx(日语软件)的下载, 有安装教程
随x265官方将--hdr和--hdr-opt参数改名为--hdr10和--hdr10-opt,并针对改良了参数解释,消除了误解

x265更新~2020.2

增加了三个参数:
--scenecut-aware-qp<开关, 默认关>允许转场后默认 0.5 秒内, 拉高默认 5 个 qp 以保留更多码率给
转场本身(的 I 帧). 可看作 x264 废弃参数--fade-compensate 的化身
--scenecut-window<整数, 0~1000, 默认 500>转场后增加 qp 窗口的时长, 单位毫秒
--max-qp-delta<整数, 0~10, 默认 5>修改转场后增加 qp 窗口的 qp
!merange最佳效率算法的算式没写清楚,下个版本修复
!开头的yuv422p10是错误的写法,下个版本改成yuv422p

x264&x265更新~2020.1

增加premiere/AE/Vegas用x264/5压制导出的插件Voukoder和食用方式,支持精简破解版
x264教程简化了下载视频的科普
增加了2个颜文字

x265更新~2019.9.7

修复了一些语法错误,增加了6个颜文字
增加cmd for循环批量压制封装方法
增加输入色彩空间参数--input-csp参数
增加frame-dup参数
增加dup-threshold参数

x264更新~2019.9

重写软件下载板块
改良科普板块,主要增加4:1:1色度空间,32位浮点色深的意义,色深不精确的问题等
改良了整个文档所有的语句
通过排版减少了1.5张纸的内容

x265更新~2019.9.5

减少了一半文档体积,好像已经小于2M了
帧控制/速率控制, 自适应量化, 综合版科普做了大幅改动, 降低了阅读难度
crf更改简介与建议(综合版+精简版)
qcomp, rdpenalty, rdoq-level, aq-mode, pps/sps/rps相关参数, crf-max缩减简介字数
修复精简版文档两处明显格式错误
综合版文档缩减了1.5张纸的面积, 精简版文档变化不大

x265更新~2019.9

重写--rd, --psy-rd和--psy-rdoq三个参数
重写率失真优化板块
增加心理率失真视觉优化板块
给率失真优化和心理率失真视觉优化板块增加了7个颜文字

x265更新~2019.8

增加了frame-threads和lookahead-threads两个参数并科普了和压制流程和参考帧/环路滤波的关系
根据以上增加了多帧多线程编码板块
2pass板块移动到参数板块末段
改良HDR板块的观感并增加了20+个颜文字

x265更新~2019.7

跟进了x265官方的更新(3.2版),更新了aq-mode 4, selective-sao,hme,hme-search和refine-mv共5个参数
aq-mode 4算入了物件边缘(纹理)信息,selective-sao可以从条带slice的角度调整sao,hme和hme-search是速度更快的me搜索,refine-mv是改版的2pass相关参数
优化了aq-mode参数的语法表达,重点提醒了aq要等到码率不足以还原原画才会启动
优化了多个参数的语法表达

x264更新~2019.6

优化了aq-mode参数的语法表达,重点提醒了aq要等到码率不足以还原原画才会启动
增加了下载视频的科普,提醒了"求求你们不要录屏了"的情感感染信息
优化了多个参数的语法表达

x265更新~2019.6

跟进了x265官方的更新(3.1版),更新了field, fades两个参数
field代替了给分场视频手动输入interlaced和fps两个参数
fades解决了画面转场导致的模糊问题

x265更新~2019.5

修复qg-size的错误
优化psy-rd/rdoq的(综合版)说明和参数解释
增加了颜文字的数量
取样自适应偏移"重新翻译为"取样迁就偏移"并优化了(综合版)说明
优化了(综合版)环路滤波的说明
优化了(综合版)PPS参数集的说明
优化了一些用语
优化了附录板块内容的顺序

x264更新~2019.5

增加了fullrange参数, 增加了Premiere导出应设置AVI未压缩, QuickTime未压缩而不是H.264的建议, 急用版文档的内容也因此出现变动
--VF参数,resize功能里有转换YUV平面格式的方法(--vf resize:,,,,i420,),还未关联给PR导出PCRange色域范围的建议

x265更新~2019.4

修改crqpoffs的参数建议为比cbqpoffs还要低3
增加Wolfberry, LigH编译的x265, 因为理论上要比msg7086的快一点, 有了32位x265, 以及第二个能输出mp4/mkv的x265
增加GCC版本意义的科普, 增加Release Candidate是什么的科普(附在下载栏目下)

x264更新~2019.4

改善keyint, min-keyint的解释, 美化文档, 改善好几个科普部分和动态搜索的语法, 改善字体颜色以降低阅读疲劳

图片: 欢迎阅读
看淡.jpg

图片2: 压制三角形
压制三角形.png

    WindCloud
    WindCloud  2020-04-28, 22:50

    菜鸟兼动漫爱好者一枚,前段时间一直在找教程,翻B站,CSDN,GitHub,看得头都大了。这是个很好的教程,感谢(#跪服)

    鱼小辉
    鱼小辉  2020-01-28, 13:27

    挺好的,刚好需要将视频用x265压压看看,就看到这个教程了

    NAZOrip@A
    [email protected]  2020-01-27, 11:21

    这么好的教程发布两年了,没一个评论,这不科学<(。_。)>