vido

作者: Android一行代码 | 来源:发表于2022-05-27 16:43 被阅读0次

    List<VideoOptionModel> list = new ArrayList<>();
    VideoOptionModel videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
    list.add(videoOptionModel);
    VideoOptionModel videoOptionMode0001 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 0);
    list.add(videoOptionMode0001);
    VideoOptionModel videoOptionMode01 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "videotoolbox", 1);
    list.add(videoOptionMode01);
    VideoOptionModel videoOptionMode001 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "fast", 1);//不额外优化
    list.add(videoOptionMode001);
    VideoOptionModel videoOptionMode02 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", 10240);//10240
    list.add(videoOptionMode02);
    VideoOptionModel videoOptionMode03 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", 1);
    list.add(videoOptionMode03);
    //pause output until enough packets have been read after stalling
    VideoOptionModel videoOptionMode04 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 1);//是否开启缓冲
    list.add(videoOptionMode04);
    //drop frames when cpu is too slow:0-120
    VideoOptionModel videoOptionMode05 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1);//丢帧,太卡可以尝试丢帧
    list.add(videoOptionMode05);
    //automatically start playing on prepared
    VideoOptionModel videoOptionMode06 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", 1);
    list.add(videoOptionMode06);
    VideoOptionModel videoOptionMode07 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48);//默认值48
    list.add(videoOptionMode07);
    //max buffer size should be pre-read:默认为1510241024
    VideoOptionModel videoOptionMode11 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 1);//最大缓存数
    list.add(videoOptionMode11);
    VideoOptionModel videoOptionMode12 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 2);//默认最小帧数2
    list.add(videoOptionMode12);
    VideoOptionModel videoOptionMode13 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max_cached_duration", 60);//最大缓存时长
    list.add(videoOptionMode13);
    //input buffer:don't limit the input buffer size (useful with realtime streams)
    VideoOptionModel videoOptionMode14 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "infbuf", 1);//是否限制输入缓存数
    list.add(videoOptionMode14);
    VideoOptionModel videoOptionMode15 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "nobuffer");
    list.add(videoOptionMode15);
    VideoOptionModel videoOptionMode16 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");//tcp传输数据
    list.add(videoOptionMode16);
    VideoOptionModel videoOptionMode17 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzedmaxduration", 100);//分析码流时长:默认1024*1000
    list.add(videoOptionMode17);
    VideoOptionModel videoOptionModel8 =
    new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "seek-at-start", "startPosition");//精准的某个时间开始播放
    list.add(videoOptionModel8);
    VideoOptionModel videoOptionModel9 =
    new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"reconnect",5);//重连次数
    list.add(videoOptionModel9);
    GSYVideoManager.instance().setOptionModelList(list);

    相关文章

      网友评论

          本文标题:vido

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