请选择 进入手机版 | 继续访问电脑版
查看: 392|回复: 0

直播推流SDK怎么切换分辨率

[复制链接]

21

主题

54

帖子

188

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
188
发表于 2018-3-21 11:53:47 | 显示全部楼层 |阅读模式
Android和iOS移动设备在直播过程中可能由于WiFi/4G网络抖动、信号质量较差等原因导致视频出现卡顿或者画面模糊甚至马赛克的情况。
直播推流SDK检测到网络较差时,默认会尝试降低编码码率和帧率,但是不会降低分辨率。
开发者如需在直播过程中切换分辨率,请参考下列内容。
[注意1] 如果直播过程中开启了直播服务器录制功能,直播过程中每次调用SDK接口切换分辨率后,直播录制服务器都会停止录制并重新生成一个新的录制文件(也就是说,不同的直播分辨率会生成不同的录制文件)。
如果开发者需要一份完整的直播过程录制文件,需要自行调用直播服务端API接口进行[录制文件合并]。
[注意2] Android和iOS播放器SDK需要1.4.0及以上版本,否则直播推流SDK切换分辨率后,低版本的播放器可能出现解码异常。其它不支持此特性的播放器,可能出现花屏或崩溃。
  • Android
    • 切换时机
      继承 handleMessage(int msg, Object object)来处理SDK抛出的事件,监听MSG_GET_STATICS_INFO获取统计信息的反馈消息,将回调的object强转为Statistics对象,通过其networkLevel属性获取网络状态,如果值为3表示网络差,可以考虑降低分辨率。
    • 切换接口
      调用changeCaptureFormat(lsMediaCapture.VideoQuality quality, boolean scale_16x9)或changeCaptureFormatEx(lsMediaCapture.VideoPara videoPara)切换分辨率。
  • iOS
    • 切换时机
      设置统计数据回调onStatisticInfoGot,如果回调的LSStatisticsObject对象的type属性值为LS_QOSLVL_LOW = 3表示网络差,可以考虑降低分辨率。
    • 切换接口
      调用–switchVideoStreamingQuality:block:切换分辨率。
      [注意] 切换分辨率后,水印将自动清除,需要重新设置水印,具体请:点此查看


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表