ffmpeg打开RTSP慢的解决方法

博客讲述了在使用ffmpeg打开海康NVR的RTSP流时遇到的延迟问题,详细记录了耗时分析和解决过程。通过调试发现并非rtsp_transport导致延迟,而在Windows环境下找到了提高速度的方法,实现了秒开CCTV流链接的效果。
摘要由CSDN通过智能技术生成

记录一下ffmpeg打开海康NVR的RTSP总是开始耗时太长 竟达2/3秒之久. 代码工程

开始以为是rtsp_transport这里拖慢的

    av_dict_set(&opts, "rtsp_transport", "tcp", 0);     //设置tcp or udp
    av_dict_set(&opts, "stimeout", "3000000", 0);       //设置超时3秒

看来不是的,这里对延迟是有处理机制. 调试才发现

avformat_find_stream_info(pFormatCtx, NULL)

耗时很是严重,查找资料 发现中间做了不少的事,一气呵成. 

在WIN下貌似不做这个处理一样能处理.速度上去了

播放如下:

int CGdiPlay::run()
{
    hdcDes = GetDC(m_hWnd);
    hdcSrc = CreateCompatibleDC(hdcDes);
    packet = av_packet_alloc();
    CalcVideoWH(m_hWnd);

    ::CoInitialize(NULL);
    while (bStateFlag)
    {
        if (packet == NULL)
        {
            packet = av_packet_alloc();
            av_usleep(20 * 1000);
            continue;
        }
        if (av_read_frame(pFo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值