美文网首页
四、ijkplayer:参数设置

四、ijkplayer:参数设置

作者: 緦菍亭芷 | 来源:发表于2019-10-28 16:29 被阅读0次

    参考文档

    1.https://blog.csdn.net/u013241923/article/details/83544458

    //关闭mediacodec硬解,使用软解
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 0);
    
    //开启mediacodec硬解
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);
     //丢帧  是在视频帧处理不过来的时候丢弃一些帧达到同步的效果
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 5);  
     //设置是否开启环路过滤: 0开启,画面质量高,解码开销大,48关闭,画面质量差点,解码开销小
    //播放延时的解决方案
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 0); 
    //设置播放前的探测时间 1,达到首屏秒开效果
    //如果是rtsp协议,可以优先用tcp(默认是用udp)
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzeduration", 1);
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");
    ijkMediaPlayer.setOption(1, "analyzemaxduration", 100L);
    ijkMediaPlayer.setOption(1, "flush_packets", 1L);
    //需要准备好后自动播放
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", 1);   
    //不额外优化
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "fast", 1);
     //是否开启预缓冲,一般直播项目会开启,达到秒开的效果,不过带来了播放丢帧卡顿的体验
    ijkMediaPlayer.setOption(4, "packet-buffering",  0); 
    //自动旋屏
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 0);  
     //处理分辨率变化
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-handle-resolution-change", 0);  
    //最大缓冲大小,单位kb
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max-buffer-size", 0);
    //默认最小帧数2
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 2);   
     //最大缓存时长
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,  "max_cached_duration", 3);  
     //是否限制输入缓存数
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,  "infbuf", 1);  
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "nobuffer");
    //播放前的探测Size,默认是1M, 改小一点会出画面更快   
    ijkMediaPlayer.setOption(1, "probesize", 200);  
     //播放重连次数
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"reconnect",5); 
    
      //因为项目中多次调用播放器,有网络视频,resp,本地视频,还有wifi上http视频,所以得清空DNS才能播放WIFI上的视频  
    ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", 1);
    

    相关文章

      网友评论

          本文标题:四、ijkplayer:参数设置

          本文链接:https://www.haomeiwen.com/subject/dqjbvctx.html