Skip to content

启动屏幕分享

说明

该接口支持抓取整个 Android 系统的屏幕,可以实现类似腾讯会议的全系统级的屏幕分享。

参考文档:实时屏幕分享(Android)

Android 推荐的屏幕分享视频编码参数(TRTCVideoEncParam):

  • 分辨率(videoResolution):1280×720。
  • 帧率(videoFps):10 FPS。
  • 码率(videoBitrate):1200 kbps。
  • 分辨率自适应(enableAdjustRes):false。

方法名

startScreenCapture

用法

  • 用法如下:
js
module.startScreenCapture({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    let data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    // console.log(res)
  }
})
js
module.startScreenCapture({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    const data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    params.streamTypeString屏幕分享使用的线路,可以设置为主路(TRTC_VIDEO_STREAM_TYPE_BIG)或者辅路(TRTC_VIDEO_STREAM_TYPE_SUB),可选值请参考【视频流类型
    params.enableAdjustResBoolean是否允许动态调整分辨率(开启后会对云端录制产生影响)。
    该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
    默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。
    params.minVideoBitrateInteger最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值
    默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值
    您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
    1.如果您追求 弱网络下允许卡顿但要保持清晰 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。
    2.如果您追求 弱网络下允许模糊但要保持流畅 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。
    3.如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
    params.videoBitrateInteger目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
    params.videoFpsInteger视频采集帧率。
    15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
    部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。
    params.videoResolutionString视频分辨率
    如需使用竖屏分辨率,请指定 resModePortrait,例如: 640 × 360 + Portrait = 360 × 640
    1.手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率
    2.手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率
    3.桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。
    可选值请参考【分辨率类型
    params.videoResolutionModeString分辨率模式(横屏分辨率 or 竖屏分辨率),可选值:
    landscape:横屏模式
    portrait:竖屏模式
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

视频流类型

名称描述
TRTC_VIDEO_STREAM_TYPE_BIG高清大画面,一般用来传输摄像头的视频数据
TRTC_VIDEO_STREAM_TYPE_SMALL低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低
TRTC_VIDEO_STREAM_TYPE_SUB辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流

分辨率类型

名称参数描述
TRTC_VIDEO_RESOLUTION_120_120宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps
TRTC_VIDEO_RESOLUTION_160_160宽高比 1:1 分辨率 160x160;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps
TRTC_VIDEO_RESOLUTION_270_270宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
TRTC_VIDEO_RESOLUTION_480_480宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps
TRTC_VIDEO_RESOLUTION_160_120宽高比 4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps
TRTC_VIDEO_RESOLUTION_240_180宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps
TRTC_VIDEO_RESOLUTION_280_210宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
TRTC_VIDEO_RESOLUTION_320_240宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps
TRTC_VIDEO_RESOLUTION_400_300宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps
TRTC_VIDEO_RESOLUTION_480_360宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps
TRTC_VIDEO_RESOLUTION_640_480宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps
TRTC_VIDEO_RESOLUTION_960_720宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps
TRTC_VIDEO_RESOLUTION_160_90宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps
TRTC_VIDEO_RESOLUTION_256_144宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
TRTC_VIDEO_RESOLUTION_320_180宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps
TRTC_VIDEO_RESOLUTION_480_270宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps
TRTC_VIDEO_RESOLUTION_640_360宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps
TRTC_VIDEO_RESOLUTION_960_540宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps
TRTC_VIDEO_RESOLUTION_1280_720宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps
TRTC_VIDEO_RESOLUTION_1920_1080宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps

回调

  • 示例
json
{
"data": {},
"message": "",
"code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败