H.264编码配置文件是否会影响编码性能



我想使用尽可能少的CPU和内存\磁盘I/O进行实时编码,保持低CRF(目前为14)。将编码配置文件从基线更改为其他内容会影响编码CPU的使用吗?

我当前的设置是:

配置文件\级别:Baseline@L5.2

分辨率和帧速率:1920x1080@~144.001 FPS(可变帧速率模式)

平均总数据速率:174 mbit\s(音频为~320kbit\s VBR AAC)

x264设置:cabac=0/ref=1/deblock=0:0:0/analysis=0:0/me=dia/subme=0/psy=1/psy_rd=1.00:0.00/mixed_ref=0/me_range=16/chroma_me=1/trelli=0/8x8dct=0/cqm=0/死区=21,11/fast_pskip=1/chroma_qp_offset=0/threads=24/lookahead _threads=4/sliced_threads=0/nr=0/decimate=1=0/brary_compat=0/constrained_inter=0/bframes=0/权重p=0/keyint=250/keyint _min=25/scenecut=0/intra_refresh=0/rc=crf/mbtree=0/crf=14.0/qcomp=0.60/qpmin=0/qpmax=69/qpstep=4/ip_ratio=1.40/aq=0

不同的编码格式、参数和配置文件等肯定会影响CPU——它们涉及以不同的方式做不同的工作或相同的工作。

不幸的是,我想你会发现,你将不得不权衡质量、CPU和存储,并决定减少或节省哪一个对你来说最重要。

作为给定质量水平的一般规则,假设您使用的是最新的编解码器,那些产生较小文件或较低比特率的编解码器需要做更多的工作来实现这一点,因此在编码和解码方面都将使用更多的CPU。同样,如果你想减少CPU,你可能会有一个更大的文件或比特流。

为了回答您关于配置文件的具体问题,h.264的基线编码将不使用B帧。

B帧是作为前一帧或后一帧的增量而存储或流式传输的帧。如果使用B帧,编码器和判决器通常需要做更多的工作,因此您使用Baseline使用低CPU的方法,但对于给定的质量水平,您的视频端会更大。

如果你切换到使用B帧(和其他额外压缩"技巧")的配置文件,如High,那么你的视频会更小,但编码和解码需要更多的CPU。

最新更新