|
|
|
|
@ -65,24 +65,24 @@ public class IjkMediaPlayer extends IjkPlayer { |
|
|
|
|
|
|
|
|
|
if(Hawk.get(HawkConfig.PLAYER_IS_LIVE)){ |
|
|
|
|
LOG.i("echo-type-直播"); |
|
|
|
|
// mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 0);
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max_cached_duration", 300); |
|
|
|
|
// 快速追帧(追赶直播流最新位置)
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 0); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", 1); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 1); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_CODEC, "threads", "1"); |
|
|
|
|
// 限制视频缓冲队列大小
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 1024 * 512); |
|
|
|
|
}else{ |
|
|
|
|
LOG.i("echo-type-点播"); |
|
|
|
|
// 降低延迟
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max_cached_duration", 3000); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_FORMAT, "infbuf", 0); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 1); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 5); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_CODEC, "threads", "2"); |
|
|
|
|
// 限制视频缓冲队列大小
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 1024 * 512 * 4); |
|
|
|
|
} |
|
|
|
|
// 动态调整码率(ABR)
|
|
|
|
|
// mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "sync-av-start", 1);
|
|
|
|
|
// mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "sync-av-start", 1);//强制音画同步
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_FORMAT, "reconnect", 1); |
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_CODEC, "threads", "2"); |
|
|
|
|
// 限制视频缓冲队列大小
|
|
|
|
|
mMediaPlayer.setOption(tv.danmaku.ijk.media.player.IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 1024 * 512); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static final String ITV_TARGET_DOMAIN = "gslbserv.itv.cmvideo.cn"; |
|
|
|
|
|