MediaCoder H.264使用笔记
因为最近在玩Vlog,为了在有限码率下压出极限的画质,去研究了一会儿MediaCoder。
软编 > 硬编
硬编质量:NVENC > Quick Sync Video > Advanced Media Framework
码率模式:
1. 平均码率模式; ABR
2. 固定质量模式; CRF
3. 恒定码率模式; CBR
4. 恒定量化参数; QP
5. 2次编码模式; 2 Pass
6. 3次编码模式; 3 Pass
视频格式(编码格式):
常用格式:H.264、HEVC、VP8、VP9
Bilibili限制上次文件编码格式为H.264
容器(文件后缀):
常用容器:MP4、MKV、AVI、WebM、Flv
推荐容器:MKV,对于编码格式兼容度高,同时拥有EDC纠错可以播放不完整视频,同样支持多音轨,支持软字幕。
备注:Adobe Premiere不支持MKV容器
复制视屏流:
当勾选参数时,MediaCoder不会对原始视频进行转换,而是直接无损提取。
编码器:
MediaCoder对视频编码时所使用的编码器。如果对于画质没有最求而更在于时间时,可以选择GPU编码器。
注意:在已知需要转的格式有对应的独立编码器的情况下,最好使用专用的编码器,比如H.264使用X264编码器/HEVC使用X265编码器,可以避免很多坑。如果不知道对应格式的编码器时,也请使用FFMpeg而不是自动。
来源(解码器):
MediaCoder对原视屏解码时所使用的解码方式。
注意:请不要使用自动,而是FFmpeg,MediaCoder在遇到解码器无法解码时,并不会抛出错误。
x264编码器选项参数:
规格(Profile):压缩时使用规格模式。
级别(Level):表示编、解码等级
移动设备兼容性:
预设:
x264预留预设,不做多解释,选择Custom
运动估算模式(–me):对全像素块动态预测搜索的方式
Diamond:菱形搜索;
Hexagonal:正六边形搜索;
Uneven Multi-Hexagon:可变半径六边形搜索;
Exhaustive:全面搜索;
Hadamard Exhaustive:用Hadamard方式进行全面搜索,比Exhaustive更慢。
推荐:选择Uneven Multi-Hexagon
注意:建议设为Uneven Multi-Hexagon;Exhaustive和Hadamard Exhaustive实在太慢了,而且画面质量提高极不明显。除非你不怕浪费时间且追求高质量画面的骨灰级玩家并且很相信自己机器配置那么就选Hadamard Exhaustive吧!
范围(–merange):运动估算半径4-64,计算机对像素块进行预测搜索的半径。
推荐:16
参考帧数(–ref):最大参考帧数,范围0-16。该参数对质量和压缩比都有提高。
推荐:7
子像素优化(–subme):–subme:动态预测和分区方式,可选项1-11
1:QPel SAD 1 iteration;
用全像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索;
2:QPel SATD 2 iterations
用半像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索
3:HPel on MB then QPel
用半像素块进行动态搜索,对每个块再用质量模式进行四分之一像素块精确搜索
4:Always QPel
用快速模式进行四分之一像素块精确搜索
5:Multi QPel + bime
用质量模式进行四分之一像素块精确搜索
6:RD on I/P frames
进行I、P帧像素块的速率失真最优化(rdo)
7:RD on all frames
进行全部帧像素块的速率失真最优化
8:RD refinement on I/P frames
进行I、P帧运动矢量及块内部的速率失真最优化
9:RD refinement on all frames
进行全部帧运动矢量及块内部的速率失真最优化
10:QP-RD (requires –trellis=2, –aq-mode > 0)QP-RD(Requires trellis=2, aq-mode(Adaptive Quantization Mode )>0 )
11:Full RD(No early termination)
无区别完全优化
优化:对特定视频进行算法优化。
使用Normal就好
B帧数(–bframes):在I帧与P帧之间可插入B帧数量的最大值,范围0-16。
推荐:5
tcdw
3 月 20 日 2018 年 - 上午 8:27
好耶,更新了。
Thiece
3 月 20 日 2018 年 - 上午 11:39
诈尸