【问题标题】:Does H.264 encoding profile affect encoding performance?H.264 编码配置文件会影响编码性能吗?
【发布时间】:2018-04-15 17:15:09
【问题描述】:

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

我目前的设置是:

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

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

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

x264 设置:cabac=0 / ref=1 / deblock=0:0:0 / analyse=0:0 / me=dia / subme=0 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=24 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=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

【问题讨论】:

    标签: video video-encoding x264


    【解决方案1】:

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

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

    作为给定质量级别的一般规则,并且假设您使用的是最新的编解码器,那些产生较小文件或较低比特率的编解码器需要做更多的工作来实现这一点,因此将在两者上使用更多的 CPU编码和解码端。同样,如果您想减少 CPU,您可能需要更大的文件或比特流。

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

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

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

    【讨论】:

    • 我决定在一些 PC 游戏上运行基准测试,是的,当使用 High 而不是 Baseline 时,平均帧速率确实有 8-10% 的损失。谢谢,看来我必须坚持有效的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2012-02-16
    相关资源
    最近更新 更多