设定画面质量

最近更新时间:2019-05-20 16:00:07

功能介绍

LiteAVSDK 提供了两种方式来设定画面质量:

  • 使用 TXLivePusher 提供的 setVideoQuality 接口。
  • 使用 TXLivePushConfig 中的音视频编码参数。

我们推荐使用前者,而且不建议您直接修改 TXLivePushConfig 中的音视频编码参数。

设定建议

推荐直接使用 TXLivePusher 提供的 setVideoQuality 接口设定画面质量:

参数设定建议

应用场景 quality adjustBitrate adjustResolution
秀场直播 VIDEO_QUALITY_HIGH_DEFINITION 或
VIDEO_QUALITY_SUPER_DEFINITION
NO NO
手游直播 VIDEO_QUALITY_SUPER_DEFINITION YES NO
连麦(主画面) VIDEO_QUALITY_LINKMIC_MAIN_PUBLISHER YES NO
连麦(小画面) VIDEO_QUALITY_LINKMIC_SUB_PUBLISHER NO NO

内部指标

quality adjustBitrate 分辨率 码率范围
VIDEO_QUALITY_STANDARD_DEFINITION YES 360 × 640 300kbps - 800kbps
VIDEO_QUALITY_STANDARD_DEFINITION NO 360 × 640 800kbps
VIDEO_QUALITY_HIGH_DEFINITION YES 540 × 960 600kbps - 1500kbps
VIDEO_QUALITY_HIGH_DEFINITION NO 540 × 960 1200kbps
VIDEO_QUALITY_SUPER_DEFINITION YES 720 × 1280 600kbps - 1800kbps
VIDEO_QUALITY_SUPER_DEFINITION NO 720 × 1280 1800kbps
VIDEO_QUALITY_MAIN_PUBLISHER 不支持设置 540 × 960 600kbps - 1500kbps
VIDEO_QUALITY_SUB_PUBLISHER 不支持设置 320 × 480 350kbps

注意事项

  1. 由于标准 CDN 对可变分辨率的直播流的兼容性较差,setVideoQuality 的第三个参数 adjustResolution 即将被废弃,请统一设置为 NO。
  2. quality 的 VIDEO_QUALITY_REALTIME_VIDEOCHAT 即将被废弃,如果您希望实现纯视频通话而非直播功能,推荐使用腾讯云 实时音视频 TRTC 服务。
  3. 进入连麦状态后,请调用 setVideoQuality() 将 quality 挡位设置为 VIDEO_QUALITY_MAIN_PUBLISHER(主播)或 VIDEO_QUALITY_SUB_PUBLISHER(连麦观众),结束连麦状态后,请再次调用 setVideoQuality() 将 quality 挡位设置为连麦前的值。
  4. 当 quality 选定为 MAIN_PUBLISHERSUB_PUBLISHER 时,不支持设置 adjustBitrate 参数。

常见问题

为什么观众端看到的画面没有主播端清晰?

主播端看到的画面,是从摄像头采集的原始画面,经过前处理(美颜、镜像、裁剪等操作)后直接渲染给主播观看,所以清晰度是最高的。而观众端看到的是经过编码器压缩再解码的画面,由于编码本身会降低压缩质量(视频码率设置的越低,压缩程度越严重),所以观众端看到的画面会比主播端清晰度低。

为什么 TXLivePusher 推出来的流会有368 × 640或者544 × 960这样的分辨率?

在开启硬件加速后,您可能会发现诸如368 × 640或者544 × 960此类“不完美”分辨率,这是由于部分硬编码器要求像素能被16整除所致,属于正常现象,您可以通过播放端的填充模式解决“小黑边”问题。