x264编码延时研究

本文探讨了x264编码器的延时问题,包括编码前和编码后的延时,并提供了减少延时的zerolatency设置。通过调整参数如i_sync_lookahead、i_bframe和rc.i_lookahead,可以降低延时。同时,文章指出b_sliced_threads设置为1会放弃帧并行编码,可能导致速度下降。提出了让i_threads在编码开始时动态增加以解决帧群延迟问题的思路。
摘要由CSDN通过智能技术生成
研究了一下x264编码延时.
方法是加log在x264.c
static int encode( x264_param_t *param, cli_opt_t *opt )
{
    ...
        i_frame_size = encode_frame( h, opt->hout, &pic, &last_dts );
        if( i_frame_size == 0)   // delay frames
            fprintf( stderr, "output zero %d\n", i_frame );
    ...
}

统计了一下,发现x264编码延时帧数符合下面的公式。
    h->frames.i_delay =
                                 param->i_sync_lookahead +                        // 前向考虑帧数
                                max ( param->i_bframe,                               // B帧数量
                                          param->rc.i_lookahead)  +                 // 码率控制前向考虑帧数
                                param->i_threads - 1.                                  // 并行编码帧数

延迟有两种:
1.编码前延时(当前帧没有编码,需要buffer更多帧后才能开始编码)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值