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年6月19日 更新日期:2018年6月19日 贡献者:zilongye

卡顿现象

用户在观看直播过程中,有时候会出现拉流卡顿现象,在UI上的表现通常是频繁地显示缓冲画面,画面冻结,或是黑屏等播放不流畅的现象。

解决方法

1.网络原因

当推流的主播用户上行带宽不足,或者拉流的观众用户下行带宽不足时,视频数据无法及时地被播放器获取到,此时需要建议用户切换到更优质的网络。

2.推流端帧率过低

如果推流的主播用户手机性能较差,或者有占用较多系统资源(如消耗CPU)的后台程序在运行,可能导致视频编码的帧率过低。对于这种情况:

  • 通过TXLivePushListeneronNetStatus回调,可以获得当前推流SDK的CPU占用情况和当前系统的CPU占用情况
  • 避免大量的动画以及P图动效
  • 分辨率不宜过高,一般540P比较合适
  • 可以打开TXLivePushConfigenableHWAcceleration硬件加速启用硬编码
  • 如果系统CPU占用率本身就很高,可以关掉其它耗内存的进程
  • 在SDK的TXLivePushConfig有个videoFPS可以设置帧率,默认是15 fps。

问题原因解释

卡顿的本质是没有足够的数据用于解码显示画面。

通常来说,引起播放卡顿的原因有以下三种:

  1. 上行带宽不足

主播的手机在推流时会源源不断地产生音视频数据,但如果手机的上传网速太小,那么产生的音视频数据都会被堆积在主播的手机里传不出去,上传阻塞会导致全部观众的观看体验都很卡顿。

  1. 下行带宽不足

观众的下载带宽跟不上或者网络有波动,比如直播流的码率是1Mbps的,也就是每秒钟有1Mbit的数据流要下载下来,但如果观众端的带宽不够,就会导致观众端体验非常卡顿。下行不佳只会影响当前网络环境下的观众。

  1. 帧率过低

正常情况下每秒15 fps以上的视频流才能保证观看的流畅度,如果低于10 fps,可以判定为帧率太低,这会导致全部观众的观看体验都很卡顿。

更多

  1. 更多细节参考文档:https://cloud.tencent.com/document/product/454/7946
  2. 对于开发者而言,网速、帧率、CPU使用率可以通过腾讯云客户端SDK中的TXLivePushListeneronNetStatus回调信息获取到,也可以提交直播流id到腾讯云技术人员进行查询。

results matching ""

    No results matching ""