提交工单
咨询集成、功能及报价等问题
在视频通话或直播时,开发者可以根据需要指定推流和拉流视频相关配置,如视频采集分辨率、视频编码输出分辨率、视频帧率、码率、视图模式和镜像模式。
设置合适的视频分辨率、帧率和码率可以在音视频场景中提供用户更好的使用体验。选择合适镜像模式与视图模式则可以让开发者提供个性化的视频显示模式。
请参考 下载示例源码 获取源码。
相关源码请查看 assets/topics/publish_stream/ 目录下的文件。
在设置视频配置之前,请确保:
通过调用 setVideoConfig 接口修改视频配置,用户既可自定义参数,也可以使用预设值进行设置。
需要在推流(startPublishingStream)前或预览(startPreview)前设置好相关视频配置,在推流后仅支持编码分辨率和码率的修改。
调用 setVideoConfig 接口修改推流视频配置,可通过该接口设置视频帧率、码率、视频采集分辨率和视频编码输出分辨率。若不进行特殊设置,则 SDK 会根据选定的场景,自动应用适合该场景的分辨率、码率、帧率,以获取最佳体验效果,详情请参考 场景化音视频配置。
如果拉流端需要拉取 60 帧的流,需要联系技术支持,详情可参考 ZEGO Express SDK 是否支持拉 60 帧的流?
以设置视频采集分辨率为 360p,编码分辨率为 360p,码率为 600 kbps,帧率为 15 fps 为例:
let videoConfig = new ZegoVideoConfig()
videoConfig.captureWidth = 640
videoConfig.captureHeight = 360
videoConfig.encodeWidth = 640
videoConfig.encodeHeight = 360
videoConfig.bitrate = 600
videoConfig.fps = 15
// 设置视频配置
this.engine.setVideoConfig(videoConfig)
除自定义参数设置之外,也可以使用 ZEGO Express SDK 提供的预设组合值,ZegoVideoConfigPreset 的预设组合值如下:
ZegoVideoConfigPreset | 采集分辨率 (宽 × 高) |
编码分辨率 (宽 × 高) |
帧率(fps) | 码率(kbps) |
---|---|---|---|---|
Preset180P | 320 × 180 | 320 × 180 | 15 | 300 |
Preset270P | 480 × 270 | 480 × 270 | 15 | 400 |
Preset360P | 640 × 360 | 640 × 360 | 15 | 600 |
Preset540P | 960 × 540 | 960 × 540 | 15 | 1200 |
Preset720P | 1280 × 720 | 1280 × 720 | 15 | 1500 |
Preset1080P | 1920 × 1080 | 1920 × 1080 | 15 | 3000 |
调用 setVideoConfig 接口使用预设值时示例代码如下:
// 使用预设置进行视频设置
let videoConfig = new ZegoVideoConfig(ZegoVideoConfigPreset.Preset1080P)
this.engine.setVideoConfig(videoConfig)
联系我们
文档反馈