• ffmpeg播放RTSP的一点优化


    简单记录一下最近使用ffmpeg播放RTSP做的一点参数优化。

    先做如下定义:

    AVDictionary* options = NULL;

    1.画质优化

    原生的ffmpeg参数在对1920x1080的RTSP流进行播放时,花屏现象很严重,根据网上查的资料,可以通过增大“buffer_size”参数来提高画质,减少花屏现象

    如:

    av_dict_set(&options, "buffer_size", "1024000", 0);

    2.RTSP连接不上导致卡死的问题

    原生的ffmpeg参数在打开RTSP流时,若连接不上,会出现卡死在打开函数的情况,在有些情况下这是很不好的,可以通过设置超时来改变卡死的情况

    如设置20s超时:

    av_dict_set(&options, "stimeout", "20000000", 0);  //设置超时断开连接时间

    3.其他

    可以设置的参数还有很多,如可以设置连接为TCP,设置最大延时等等

    av_dict_set(&options, "max_delay", "500000", 0);
    av_dict_set(&options, "rtsp_transport", "tcp", 0);  //以udp方式打开,如果以tcp方式打开将udp替换为tcp

    例子:

    AVDictionary* options = NULL;
    av_dict_set(&options, "buffer_size", "1024000", 0);
    av_dict_set(&options, "max_delay", "500000", 0);
    av_dict_set(&options, "stimeout", "20000000", 0);  //设置超时断开连接时间
    av_dict_set(&options, "rtsp_transport", "tcp", 0);  //以udp方式打开,如果以tcp方式打开将udp替换为tcp  
    
    if(avformat_open_input(&pFormatCtx,url.c_str(),NULL,&options)!=0){
        printf("Couldn't open input stream.
    ");
        return false;
    }
  • 相关阅读:
    tushare学习
    TVP-VAR模型
    时间序列分析
    python tusahre使用
    金融大讲堂-笔记
    多元GARCH模型
    方差与协方差
    代码生成器,项目更新第一版,mybatis-plus
    Springboot手动搭建项目——配置mybatis tk框架
    java基础,集合,HashMap,源码解析
  • 原文地址:https://www.cnblogs.com/betterwgo/p/7642331.html
Copyright © 2020-2023  润新知