ffmpeg实现(硬件)转码的介绍
https://www.cxyzjd.com/article/qq_22633333/107701301#3IDRI_26
编码参数
x264编码参数调整:
https://www.jianshu.com/p/b46a33dd958d
https://www.codenong.com/cs106748283/
1. QP(QStep,量化步长)
https://blog.csdn.net/qq_18998145/article/details/106419963
- min qp 控制编码器可以使用的最小量化步长, 太高会影响输出画面的细节
- max qp 控制编码器可以使用的最大量化步长
SPS中的参数
https://blog.csdn.net/xiaojun111111/article/details/52090185
- profile 有baseline,main,extended三种,定义了可用的压缩特性,每个profile具体可以使用哪些特性可以看上面这个链接。
- level 根据解码端的负载和存储空间情况对关键参数(最大采样率、最大图像尺寸、分辨率、最小压缩比、最大比特率、解码缓冲区DPB大小等)加以限制。具体也可以看上面的链接。
编码流控制策略
- CQ 表示完全不控制码率,尽最大可能保证图像质量,对于质量要求高、不在乎带宽(例如本地存文件)、解码器支持码率剧烈波动的情况,显然 CQ 是不二之选。
- CBR(Constants BitRate即静态码率 尽量保障码率率)时P帧大小基本恒定;
- VBR(Variable Bitrate动态码率 尽量保障清晰度波动小)时变化会比较剧烈;
zerolatency
https://blog.csdn.net/DeliaPu/article/details/77004392
- rc_lookahead
- sync_lookahead
- bframes
- slice_threads
- vfr_input
- mb_tree
nvidia硬转的参数调整
https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-video-encoder-api-prog-guide/
1. AQ(Adaptive Quntization)
根据画面的时间和空间特性,调整在码率控制算法估算出来的QP值,提供两种模式: a. Spatial AQ 让画面内复杂的区域占用更多的bit
b. Temporal AQ 让画面内容更复杂的帧占用更多的bit https://www.reddit.com/r/ffmpeg/comments/gg5szi/what_is_spatial_aq_and_temporal_aq_with_nvenc/
近期评论