srs中转码线程如何设计来跟随源视频尺寸

在下面这个函数中,解析出input的size: oriw,orih
srs_error_t SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata)
{
    SrsAmf0Any* prop = NULL;
    if ((prop = metadata->metadata->ensure_property_number("width")) != NULL) {
        req->oriw = (int)prop->to_number();
    }
    if ((prop = metadata->metadata->ensure_property_number("height")) != NULL) {
        req->orih = (int)prop->to_number();
    }
    srs_trace("publish-size = %dx%d",req->oriw,req->orih);
}
然后,启动转码线程。这样就可以根据input size来选择合适的转码尺寸。
转码线程主处理过程:
    if ((p->w - p->h) < 0)
        outSize = "720x1280";
    else
        outSize = "1280x720";

    sprintf(sCmd,"cd ./objs; ln -s fftool ff%06d;"
        "nohup ./ff%06d -d -i %s -sc_threshold 0 -s %s -vcodec libx264 -b:v 800k -bufsize 800k -maxrate 1000k "
        "-profile:v high -preset faster -tune psnr "
        "-c:a copy -f flv %s 1>/dev/null 2>&1 &",p->sn,p->sn,p->inUrl,outSize.c_str(),p->outUrl);
    usleep(500000);
    ret=system(sCmd);
这些转码参数是我历经无数次测试后推荐的,性价比最优的参数。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值