您当前的位置: 首页 >  音视频

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【音视频开发】IjkMediaPlayer延时优化,实现直播流秒开

命运之手 发布时间:2021-09-06 15:26:25 ,浏览量:1

IjkMediaPlayer在播放RTMP等网络直播流时,默认采用的是点播模式的参数

点播模式追求流畅性,提前加载若干秒的视频,这样到播放时就不用因为等待数据造成卡顿

但是这种模式也带来了延时性问题,这种策略是不适合直播模式的

在有互动的直播模式下,实时性更重要,我们可以按照以下设置来保证实时性


    //创建IjkMediaPlayer
    protected IjkMediaPlayer createIjkMediaPlayer() {
        IjkMediaPlayer player = new IjkMediaPlayer();
        //设置启动时的探测时间
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzeduration", 100L);
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzemaxduration", 100L);
        //设置探测区大小
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", 10 * 1024L);
        //关闭播放缓冲区
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 0L);
        //立刻写出处理完的Packet
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", 1L);
        //允许丢帧
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1L);
        //优化进度跳转
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
        player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "fastseek");
        return player;
    }

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.2267s