SOP TRTC SDK 仪表盘 Android TRTC 发送自定义采集的视频数据 Android TRTC 发送自定义采集音频解决方案 Android TRTC 实现横屏视频通话 iOS端 TRTC 发送自定义采集视频解决方案 iOS端 TRTC 发送自定义采集音频解决方案 APNS推送 脏字过滤 TXLiteAVSDK中使用 AVAudioSession 问题总结 AndroidStudio编译SDK报错 RoomService部署验证 Xcode编译SDK报错 iOS编译库冲突问题 iOS端移动直播自定义采集实现 iOS端TXLiteAVSDK与IMSDK 3.x集成冲突报错问题 Android端TXLiteAVSDK与IMSDK 3.x集成冲突报错问题 Android端LiteIM sdk升级IM4.x版本报错问题 移动直播iOS 12兼容问题 如何实现好的画质 如何计算PCM音量大小 使用播放器播放视频有黑边 直播拉流播放失败 直播拉流端卡顿现象 短视频上传失败 移动直播SDK对接第三方美颜库 移动直播连麦解决方案 Android移动直播推自定义采集的视频数据 Android移动直播推自定义采集的声音数据 Android直播播放如何获取YUV数据 Android直播播放如何自定义渲染 实时音视频画面黑屏 实时音视频订阅流显示 iOS 12默认新编译系统下文件名冲突问题 TXLiteAVSDK指标监控 进阶:小程序实时音视频参数透传 移动直播 Android 9.0 无法拉流问题 移动直播推流事件回调 移动直播拉流事件回调 短视频实现视频缩略图列表转GIF功能 roomService加入群组时报错invalid group id NTP时间戳转换 提示Role not exists 角色不存在 如何播放背景音乐 iOS端短视频添音频相关问题总结 Web同步终端离线推送TIMOfflinePushInfo说明文档 web端自定义消息发送 web端同步终端的已读回执 web端对群组内用户禁言操作 TRTC v2混流接口setMixTranscodingConfig使用指引

如何实现好的画质

发布日期:2018年7月10日 更新日期:2018年7月10日 贡献者:yyuanchen

常见现象

开发者集成腾讯云移动直播SDK后,观众观看直播时,有时会遇到画面很模糊并且马赛克严重的情况,如下图所示。

可能存在的原因

  1. 不合理的参数设置,例如:“高分辨率配低码率”。
  2. 开启硬件加速。
  3. 开启网络自适应。

解决办法

  1. 为了解决分辨率设置问题,在移动直播 SDK v1.9.1 版本新增setVideoQuality函数,该接口提供标清、高清、超清等几种清晰度档次,开发者可以根据直播场景来选择对应的档次,每个清晰度档次经过腾讯视频云终端工程师们的精心调校。
  2. 如果清晰度档次选择 STANDARD 或者 HIGH,可以不需要开启硬件加速,建议将硬件加速选项设置为ENCODE_VIDEO_AUTO(自动选择是否启用硬件加速),SDK 默认选择软件编码,当手机 CPU 使用率超过 80% 或者帧率低于 10 fps时,SDK 内部会自动切换为硬件编码。
  3. 如果场景是普通直播,建议将 setVideoQuality 函数第二、三个参数设置为 false,即:adjustBitrate 设置为 falseadjustResolution 设置为 false
  4. Android 端可以开启摄像头高清采集,即 mLivePushConfig.enableHighResolutionCaptureMode(true)

    注意:该接口不适用于商业版的。

5.如果您想推 720P 分辨率的流,又对直播延时要求不是很高。推流端可以开启支持MainProfile接口,即mLivePushConfig. enableVideoHardEncoderMainProfile(true),目前该接口只能用于硬件编码。

原因

  • 影响画质最主要的两个因素是分辨率码率

为了达到最佳画质效果,360P 的分辨率会搭配 800 kbps 的码率,540P 的分辨率会搭配1200kbps 的码率,720P 的分辨率会搭配的1800kbps的码率。 如果观众都是在手机这类屏幕显示面积较小的设备上观看视频,那么 960x540 的分辨率配合 1200kbps 的码率,相比 1280x720 的分辨率搭配 1800kbps 的码率而言,差距其实也不明显。

  • 软件编码是使用 CPU 进行编码,硬件编码则是使用专门的硬件进行编码处理,如GPU。硬编的好处主要在于速度快,但硬编的压缩率一般偏低,而对于软编码来说,虽然速度较慢,但是压缩率比较高,压缩率会影响编码后的图形清晰度,压缩率越低,图像越容易模糊。

  • 如果你选择 HIGH 档次的清晰度,摄像机默认是采集 540x960 的预览画面,然后塞给编码器进行编码。开启高清采集接口之后,摄像机采用1280x720分辨率进行预览。

  • 硬件编码器开启MainProfile接口,其实是在编码的时候增加 B 帧,B 帧在一定程度能改善画质质量。增加 B 帧,会导致每个 GOP 中每帧画面的 PTS 和DTS 不对齐,从而增加编码和解码耗时。

results matching ""

    No results matching ""