示例代码
针对开发者的接入反馈的高频问题,腾讯云提供有更加简洁的 API-Example 工程,方便开发者可以快速的了解相关 API 的使用,欢迎使用。
功能介绍
LiteAVSDK 通过 V2TXLivePusher 提供的
setVideoQuality
接口来设定画面质量:接口定义
可以通过
setVideoQuality
设置推流视频分辨率,以及宽高比模式(横屏 / 竖屏)。public abstract int setVideoQuality(V2TXLiveVideoEncoderParam param);
参数
参数 | 类型 | 含义 |
param | 视频编码参数。 |
V2TXLiveVideoResolution 枚举值:
取值 | 含义 |
V2TXLiveVideoResolution160x160 | 分辨率 160*160,码率范围:100Kbps ~ 150Kbps,帧率: 15fps |
V2TXLiveVideoResolution270x270 | 分辨率 270*270,码率范围:200Kbps ~ 300Kbps,帧率:15fps |
V2TXLiveVideoResolution480x480 | 分辨率 480*480,码率范围:350Kbps ~ 525Kbps,帧率:15fps |
V2TXLiveVideoResolution320x240 | 分辨率 320*240,码率范围:250Kbps ~ 375Kbps,帧率:15fps。 |
V2TXLiveVideoResolution480x360 | 分辨率 480*360,码率范围:400Kbps ~ 600Kbps,帧率:15fps |
V2TXLiveVideoResolution640x480 | 分辨率 640*480,码率范围:600Kbps ~ 900Kbps,帧率:15fps |
V2TXLiveVideoResolution320x180 | 分辨率 320*180,码率范围:250Kbps ~ 400Kbps,帧率:15fps |
V2TXLiveVideoResolution480x270 | 分辨率 480*270,码率范围:350Kbps ~ 550Kbps,帧率:15fps |
V2TXLiveVideoResolution640x360 | 分辨率 640*360,码率范围:500Kbps ~ 900Kbps,帧率:15fps |
V2TXLiveVideoResolution960x540 | 分辨率 960*540,码率范围:800Kbps ~ 1500Kbps,帧率:15fps |
V2TXLiveVideoResolution1280x720 | 分辨率 1280*720,码率范围:1000Kbps ~ 1800Kbps,帧率:15fps |
V2TXLiveVideoResolution1920x1080 | 分辨率 1920*1080,码率范围:2500Kbps ~ 3000Kbps,帧率:15fps |
V2TXLiveVideoResolutionMode 枚举值:
取值 | 含义 |
V2TXLiveVideoResolutionModeLandscape | 横屏模式下的分辨率:V2TXLiveVideoResolution640_360 + V2TXLiveVideoResolutionModeLandscape = 640x360 |
V2TXLiveVideoResolutionModePortrait | 竖屏模式下的分辨率:V2TXLiveVideoResolution640_360 + V2TXLiveVideoResolutionModePortrait = 360x640 |
参数设定建议
应用场景 | resolution | resolutionMode |
秀场直播 | V2TXLiveVideoResolution960x540 V2TXLiveVideoResolution1280x720 | 横屏或者竖屏 |
手游直播 | V2TXLiveVideoResolution1280x720 | 横屏或者竖屏 |
连麦(主画面) | V2TXLiveVideoResolution640x360 | 横屏或者竖屏 |
连麦(小画面) | V2TXLiveVideoResolution480x360 | 横屏或者竖屏 |
蓝光直播 | V2TXLiveVideoResolution1920x1080 | 横屏或者竖屏 |
注意事项
为了连麦更流畅,进入连麦状态后请调用 setVideoQuality() 将 quality 挡位设置为
V2TXLiveVideoResolution640x360
(主播)或V2TXLiveVideoResolution480x360
(连麦观众),结束连麦状态后可以调用setVideoQuality()
将 quality 挡位恢复为连麦前的值。常见问题
1. 为什么观众端看到的画面没有主播端清晰?
主播端看到的画面,是从摄像头采集的原始画面,经过前处理(美颜、镜像、裁剪等操作)后直接渲染给主播观看,所以清晰度是最高的。而观众端看到的是经过编码器压缩再解码的画面,由于编码本身会降低压缩质量(视频码率设置的越低,压缩程度越严重),所以观众端看到的画面会比主播端清晰度低。
2. 为什么 V2TXLivePusher 推出来的流会有368 × 640或者544 × 960这样的分辨率?
在开启硬件加速后,您可能会发现诸如368 × 640或者544 × 960此类“不完美”分辨率,这是由于部分硬编码器要求像素能被16整除所致,属于正常现象,您可以通过设置播放端的填充模式解决“小黑边”问题。