Skip to content

多清晰度

ZERO edited this page Apr 5, 2019 · 2 revisions

设置方式

设置多清晰度有三种方式

1. FileId

fileid是最简单的方式,最终显示的清晰度取决于腾讯云后台转码,终端无需关心。

SuperPlayerModel model = new SuperPlayerModel();
model.appId = 1252463788;
model.videoId = new SuperPlayerVideoId();
model.videoId.fileId = "5285890781763144364";
mSuperPlayerView.playWithModel(model);

通过fileid播放,超级播放器会调用getplayinfo接口获取视频信息。在返回的数据中,播放优先级为

  • 多码率地址
  • 转码列表默认清晰度
  • 转码列表第一个清晰度
  • 原始文件

2. 多码率HLS

播放支持多码率Media Playlist Files,可以在播放地址中带上多个码率,并能实时切换。示例文件

多码率需要在转码开启中开启hlsMasterPlaylist和idrAlignment。预处理API

transcode(转码控制参数)

参数名称 必填
hlsMasterPlaylist 若指定的转码输出参数包含多种HLS规格,并且指定了hlsMasterPlaylist=1,那么转码结束后将生成包含HLS Master Playlist的多码率HLS文件,该文件的definition固定为10000。 使用支持HLS标准的播放器播放该文件,将能够实现根据码率自适应选择视频流播放
idrAlignment 转码后的文件是否IDR对齐。0:不对齐;1:对齐。默认0。

3. 多个url地址

通过multiVideoURLs设置不同清晰度文件地址

SuperPlayerModel model = new SuperPlayerModel();
model.multiURLs = new ArrayList<>();
model.multiURLs.add(new SuperPlayerModel.SuperPlayerURL("http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f10.mp4", "流畅"));
model.multiURLs.add(new SuperPlayerModel.SuperPlayerURL("http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f20.mp4", "标清"));
model.multiURLs.add(new SuperPlayerModel.SuperPlayerURL("http://1252463788.vod2.myqcloud.com/95576ef5vodtransgzp1252463788/e1ab85305285890781763144364/v.f30.mp4", "高清"));
model.playDefaultIndex = 1;// 指定默认播放的清晰度,这里指定默认播放高清
mSuperPlayerView.playWithModel(model);

直播多码率地址获取方法:打开直播控制台,找到需要播放放的直播流,进入详情。

详情页有多个播放地址,建议使用flv格式地址。

直播清晰度

Clone this wiki locally