资讯动态

音视频修炼之编码器(二):x2645调参实战

发布时间:2026/9/15 9:10:29 来源:尧图企业网站定制
x264 / x265 调参实战上篇讲了编码器内部原理这篇讲“怎么调参获得最佳画质 / 速度 / 体积”。直播、点播、归档三类场景目标不同参数不能一套打天下。本文速览章节阅读重点0. 三个核心维度理解调参永远是在画质、速度、体积之间取舍1. preset画质 / 速度总开关知道medium、veryfast、slow分别适合什么场景2. tune内容类型微调直播、动画、胶片颗粒等场景如何选 tune3. profile level兼容性、分辨率、解码能力如何约束编码参数4. CRF vs CBR vs VBR点播、直播、离线压缩分别选哪种码率控制5. 高级参数lookahead、ref、me、subme、me-range 的收益和代价6. 直播专用参数模板低延迟直播参数拆解7. 点播 / 归档参数模板高质量离线编码参数拆解8. x265H.265调参x265 和 x264 的参数迁移关系9. 硬件编码参数NVENC / VAAPI / MediaCodec 的取舍10. 调参思维顺序从大旋钮到小旋钮避免一上来乱调11. 常见调参误区避免 placebo、死磕 bitrate、直播开 B 帧等坑12. 总结表不同业务场景的推荐参数速查0. 三个核心维度编码调参不是“参数越多越高级”本质是在三个目标之间做工程取舍维度想要什么通常代价典型参数画质 Quality更少块效应、更清晰纹理、更高 VMAF / 主观质量编码更慢、文件可能更大crf降低、preset变慢、ref增大、psy-rd速度 Speed更快编码、更低实时延迟画质下降或码率变大preset veryfast、-bf 0、关闭 lookahead体积 Size更小文件、更低带宽编码更慢或画质下降x265 / AV1、慢 preset、2-pass、合理 CRF一句话记忆任何编码参数最终都在问——我要多清晰、多快、文件多小1. preset画质 / 速度总开关1.1 x264 的 10 档preset速度压缩效率 / 画质推荐场景ultrafast极快最差码率大RTC / 极低延迟 / 调试superfast很快较差实时性优先veryfast快直播常用折中直播推荐faster较快一般低算力点播fast中快接近 medium速度优先点播medium基准性价比最高点播默认推荐slow慢文件更小画质略升离线归档 / 高质量点播slower更慢继续小幅提升高质量归档veryslow很慢提升很小少数极致压缩场景placebo极慢几乎无收益不推荐1.2 实测对比1080p 30fps 60s 测试视频同CRF23preset编码耗时文件大小VMAF结论ultrafast12s15 MB88速度最快体积明显偏大superfast18s13 MB89仍偏实时veryfast25s12 MB90直播常用折中faster35s11 MB91速度优先点播可用fast50s10 MB91.5接近 mediummedium80s9 MB92默认性价比最高 ⭐slow150s8.7 MB92.3归档可用slower280s8.5 MB92.5收益开始变小veryslow500s8.4 MB92.7只适合极致压缩placebo1500s8.4 MB92.7基本无提升不推荐场景推荐 preset理由直播veryfast编码速度和画质平衡能实时跑点播medium默认性价比最高离线归档slow/slower不追实时换更小体积2. tune内容类型微调tune适合内容主要影响--tune film电影 / 普通实拍默认推荐综合观感稳定--tune animation动画 / 色块 / 线条降低色块边缘晕染文件可小 10~20%--tune grain胶片颗粒 / 噪点尽量保留颗粒码率会变大--tune stillimage静止图 / 幻灯片优化低运动内容--tune psnr跑 PSNR 指标指标优先不一定主观最好--tune ssim跑 SSIM 指标指标优先不一定主观最好--tune fastdecode解码端弱设备降低解码复杂度--tune zerolatency直播 / RTC 低延迟关闭 B 帧和 lookahead降低延迟2.1 直播必用参数推荐值作用编码器-c:v libx264使用 x264 软件编码速度档-preset veryfast保证实时编码速度低延迟-tune zerolatency关闭 B 帧 / lookahead减少缓存兼容性-profile:v baseline -level 3.1老设备兼容优先时使用输出output.flv直播推流常见容器zerolatency的核心效果关闭 B 帧 关闭 lookahead → 起播更快、延迟更低。2.2 动画专用问题普通参数表现推荐处理色块边缘晕染动画线条 / 大色块容易出现边缘污染使用--tune animation文件大小普通 film 参数不一定适合动画animation tune 常见可小 10~20%3. profile level3.1 profileH.264 配置档profile能力兼容性推荐场景baseline不支持 B 帧、不支持 CABAC最好老 Android / WebRTC / 低复杂度main支持 CABAC、B 帧主流普通直播 / 点播high支持 8×8 变换等额外特性现代设备普遍支持默认推荐 ⭐high1010 bit设备要求更高高位深内容high4224:2:2 色度采样专业设备专业制作链路3.2 level能力等级level典型能力常见用途3.0480p老设备 / 低清3.1720p移动端兼容4.01080pFull HD4.11080p 常用默认推荐 ⭐5.02K高分辨率5.14K4K 常用6.08K8K3.3 实战场景推荐命令说明1080p 高质量ffmpeg -i input -c:v libx264 -profile:v high -level 4.1 -preset medium -crf 22 output.mp4现代设备默认推荐老 Android 兼容ffmpeg -i input -c:v libx264 -profile:v baseline -level 3.0 -preset medium -crf 23 output.mp4牺牲压缩率换兼容性4. CRF vs CBR vs VBR4.1 CRF恒定质量⭐ 推荐点播CRF画质感受文件大小适合场景18视觉无损很大可能是 2x高质量归档22高质量较大精品点播23默认推荐适中通用点播28一般较小低码率分发33低质量很小预览 / 极低带宽用途命令CRF 转码ffmpeg -i input -c:v libx264 -crf 23 output.mp44.2 CBR恒定码率—— 直播参数示例作用目标码率-b:v 2M目标平均视频码率最大码率-maxrate 2M限制码率峰值避免网络突刺最小码率-minrate 2M尽量稳定输出码率缓冲区-bufsize 2M控制码率平滑窗口输出容器output.flv直播推流常见容器4.3 VBR 2-pass恒定文件大小—— 离线压缩步骤命令说明第 1 遍分析ffmpeg -y -i input -c:v libx264 -b:v 2M -pass 1 -an -f null /dev/null只分析复杂度不输出最终文件第 2 遍编码ffmpeg -i input -c:v libx264 -b:v 2M -pass 2 -c:a aac output.mp4根据第一遍统计结果分配码率2-pass 比 1-pass VBR 画质通常好一些适合“文件大小必须固定”的离线场景。5. 高级参数5.1 lookahead参数推荐值收益代价 / 场景--rc-lookahead 40x264 默认预扫描后续帧优化 B 帧分布默认点播可用--rc-lookahead 60高质量点播 / 归档约 5% 压缩收益约 20% 内存延迟更高--rc-lookahead 0直播 / RTC降低延迟压缩效率下降5.2 ref参考帧数参数适合场景收益代价--ref 1直播低延迟解码 / 编码更轻压缩率较低--ref 3默认推荐兼顾压缩和速度默认折中--ref 5点播 / 归档约 5% 压缩收益约 -20% 速度5.3 me运动估计算法参数速度质量适合场景--me dia最快最差极低延迟 / 低算力--me hex快默认x264 默认折中--me umh慢更好高质量点播 / 归档--me esa极慢全搜索学术 / 极少数验证场景5.4 subme子像素精度参数含义适合场景--subme 1~11子像素搜索精度范围数值越高越慢、越精细--subme 7默认通用场景--subme 9高质量点播 / 归档常用--subme 10极高质量约 1% 压缩收益但可能 -50% 速度5.5 me-range搜索范围参数含义适合场景--me-range 16默认搜索范围普通 1080p / 常规运动--me-range 32更大搜索范围4K / 高动态 / 快速运动视频6. 直播专用参数模板抖音 / B 站这类 1080p 30fps 4Mbps 直播核心目标是实时、低延迟、码率稳定。参数组推荐参数作用实时输入-re -i input按实时速度读取输入模拟直播源视频编码器-c:v libx264使用 x264 软件编码速度档-preset veryfast保证实时编码速度低延迟 tune-tune zerolatency关闭 lookahead / B 帧相关延迟兼容档位-profile:v main -level 4.1兼顾现代设备兼容和压缩效率码率控制-b:v 4000k -maxrate 4000k -minrate 4000k -bufsize 4000k稳定 4Mbps 输出GOP-g 60 -keyint_min 6030fps 下 2 秒一个关键帧B 帧-bf 0无 B 帧降低编码和播放延迟参考帧-refs 1单参考帧降低复杂度场景切换-sc_threshold 0关闭自动场景切换插 I 帧稳定 GOP音频-c:a aac -b:a 128k -ar 44100AAC 音频直播常用配置封装 / 输出-f flv rtmp://live.b.com/stream/keyFLV RTMP 推流关键点原因-bf 0B 帧需要重排序会增加端到端延迟-g 602 秒 GOP 是直播常见折中首屏和压缩率都还能接受-tune zerolatency关闭 lookahead减少编码侧缓存7. 点播 / 归档参数模板点播平台优酷 / 爱奇艺 / Netflix 风格不追实时目标是更高画质、更小文件、更好拖动体验。参数组推荐参数作用输入-i input离线读取源视频不需要-re视频编码器-c:v libx264使用 x264 软件编码速度档-preset slow用更慢编码换更高压缩效率兼容档位-profile:v high -level 4.11080p 点播常用配置质量控制-crf 22高质量 CRF 档文件大小自适应B 帧-bf 33 个 B 帧提高压缩率参考帧-refs 5更多参考帧提升预测效率预分析-rc-lookahead 60更充分地做 B 帧和复杂度决策运动估计-me umh更高质量运动搜索子像素精度-subme 9提升运动估计精细度量化优化-trellis 2高质量 trellis 量化心理视觉优化-psy-rd 1.0:0.15保留主观纹理和边缘感自适应量化-aq-mode 3按区域复杂度分配量化强度音频-c:a aac -b:a 192k点播常用 AAC 音频码率网页秒开-movflags faststart把 MP4moov移到文件头支持边下边播输出output.mp4生成 MP4 点播文件一句话记忆直播关延迟相关功能点播则打开 B 帧、lookahead、psy、AQ 这类“慢但省码率”的工具。8. x265H.265调参8.1 类似 x264用途命令说明x265 CRF 转码ffmpeg -i input -c:v libx265 -preset medium -crf 28 output.mp4x265 的 CRF 数值通常比 x264 大x265CRF 28大致相当于 x264CRF 23的主观画质但码率通常能减半。8.2 x265 特有参数参数推荐值含义--ctu64Coding Tree Unit 大小x265 默认 64--max-tu-size32最大 Transform Unit 大小--bframes4x265 默认 B 帧通常比 x264 更多8.3 实测压缩率原始 1080p 60s编码器 / 参数文件大小结论H.264 x264 medium CRF 238 MB基准H.265 x265 medium CRF 284 MB约减半AV1 SVT-AV1 preset 83 MB再省约 25%但复杂度更高9. 硬件编码参数NVENC / VAAPI / MediaCodec9.1 NVENCNVIDIA GPU参数示例作用编码器-c:v h264_nvenc使用 NVIDIA 硬件编码器preset-preset slowNVENC 内部速度 / 质量档码率控制-rc constqp -qp 23类似固定 QP / CRF 的质量控制兼容档位-profile:v high -level 4.11080p 常用档位输出output.mp4生成目标文件NVENC 速度通常比 x264 快很多但同码率主观画质略差。9.2 Android MediaCodec硬编码参数示例作用编码器-c:v h264_mediacodec使用 Android 硬件编码器目标码率-b:v 4M指定视频码率输出output.mp4生成目标文件低端设备 / 移动端实时场景优先考虑硬编。9.3 硬编 vs 软编对比项硬编软编速度极快慢画质同码率略差更好通常省 5~10% 码率功耗低高参数灵活性受硬件和系统接口限制参数多、可控性强适合场景直播 / 移动端 / 实时录制点播 / 归档 / 高质量转码10. 调参思维顺序顺序先调什么推荐起点为什么1preset开发用ultrafast上线用medium/slow最大旋钮决定速度和压缩效率2CRF/ bitrateCRF 从23起步决定画质和体积3profile/levelhigh 匹配分辨率的 level决定兼容性4tune按场景选择zerolatency/animation/grain内容类型微调5ref/bf/lookahead高质量需求再动小旋钮收益小但会影响复杂度和延迟11. 常见调参误区误区为什么错正确做法一上来就placebo比veryslow慢很多但画质提升通常 0.1%最多用到slow/slower大多数场景medium死磕 bitrate2-pass VBR 适合固定文件大小不适合普通点播普通点播优先 CRF直播开 B 帧B 帧需要 lookahead 和重排序会增加延迟直播用-bf 0忘了-movflags faststartMP4 默认moov可能在文件尾网页 / App 可能要下完才能播点播 MP4 加faststart12. 总结表场景presetB 帧lookahead特殊参数 / 备注直播veryfast00tunezerolatency点播medium340默认推荐归档 / HDRslow460psy-rd/aq-mode低延迟 RTCultrafast00slice-based / 硬编优先动画medium440tuneanimation胶片质感slow340tunegrain保留颗粒金句x264 / x265 是“参数艺术”——同一段视频用ultrafast能跑出 88 VMAF用slow能跑出 92 VMAF这就是“调参带来 5% 画质提升”的工程价值。直播 / 点播平台养一群人专门干这个。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价