首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实时音视频 TRTC 常见问题汇总---质量篇

实时音视频 TRTC 常见问题汇总---质量篇

原创
作者头像
腾讯视频云-Zachary
发布2021-10-10 15:45:09
3.3K0
发布2021-10-10 15:45:09
举报

腾讯实时音视频(Tencent Real-Time Communication,TRTC)是腾讯云基于 QQ 十多年来在音视频通话技术上积累,并结合腾讯浏览服务 TBS WebRTC 能力与腾讯实时音视频 SDK ,为客户提供多平台互通高品质可定制化的 **实时音视频互通服务** 解决方案。

为了方便开发者技术选型、开发集成,以下是针对不同问题场景整理的 TRTC 常见问题汇总,后续会持续更新,欢迎反馈。

质量篇

1. 播放远端观众画面出现黑边

如下代码所示,播放远端观众的画面渲染模式选择 TRTC_VIDEO_RENDER_MODE_FIT模式, 当渲染控件 View 的宽高比与视频宽高此不一致时,有黑边情况。

  • Android 示例代码
mTRTCCloud.setRemoteViewFillMode(userId, TRTCCloudDef.TRTC_VIDEO_RENDER_MODE_FIT);
mTRTCCloud.startRemoteView(userId, renderView);
  • iOS 示例代码
[_trtc startRemoteView:userId view:remoteView];
[_trtc setRemoteViewFillMode:userId mode:TRTCVideoFillMode_Fit];

解决方案

1.确保渲染控件 View 宽高和视频宽高一致

2.渲染模式选择TRTC_VIDEO_RENDER_MODE_FIT,但画面可能会出现能会被拉伸裁剪的情况。

2. 播放远端观众画面出现卡顿

1.检测网络情况,建议更换网络重现

2.找到 roomid、userid ,然后到控制台的 监控仪表盘 ,自主查询用户的卡顿情况。

3. 打开摄像头失败

  • 确认摄像头权限是否授予
  • 如果设备是电视、盒子等,使用的摄像头是外接的。目前 TRTCSDK 是支持识别外接摄像头的。因此,需要确认摄像头接头和设备是否接触良好。

4. 预览/播放画面出现旋转

使用TRTCSDK摄像头采集

  1. 建议更新 SDK 版本到最新版本。
  2. 如果是特殊设备,可以使用本地预览画面渲染角度接口setLocalViewRotation ,远端视频画面的渲染角度接口setRemoteViewRotation ,设置编码器输出的画面渲染角度接口setVideoEncoderRotation进行调整。具体接口使用说明文档见视频画面旋转

使用自定义视频采集

  1. 建议更新 SDK 版本到最新版本。
  2. 确认下将采集的视频画面的角度是正确。
  3. 将视频数据填充给 TRTCSDK,检查是否给TRTCCloudDef.TRTCVideoFrame设置旋转角度
  4. 如果是特殊设备,可以使用本地预览画面渲染角度接口setLocalViewRotation ,远端视频画面的渲染角度接口setRemoteViewRotation ,设置编码器输出的画面渲染角度接口setVideoEncoderRotation进行调整。具体接口使用说明文档见视频画面旋转

5. 视频镜像问题

使用前摄像头进行视频通话,会有镜像效果,所以本地预览和远端观众画面是左右颠倒。如果开发者想让两端画面一致,可以参考文档使用前摄像头进行视频通话,本地预览和远端观众画面是左右颠倒?

6. 如何横屏推流

开发者可能用设备是电视或者因场景需要横屏推流,具体实现可以参考 Android TRTC 实现横屏视频通话 文档。

7. 杀死进程,如何确认主播是否在直播中?

该场景适用于 iOS/Mac、Android 、Windows 平台。

在 TRTC 房间中有推流上行的用户,当应用进程被杀死或者主动断开网络,超过 30 秒之后,主播还没有恢复推流。TRTC 房间里面其他用户会收到主播(有推流上行的用户)退出房间的回调。

8. 直播中出现播放黑屏、花屏、绿屏,是什么原因呢?

黑屏的原因:

1) 播放失败或解码失败,参看播放失败的处理办法。

2) Metadata 问题,比如 metadata 中只有音频流信息,但实际数据中即有音频也有

视频;或者是开始的数据只有音频,但播放一段时间后又加入了视频信息。这种

情况一般建议修改源流的 metadata 信息。

3) 视频编码数据里没有画面信息,只有类似 SEI 之类的帧时,解码也没有画面,自

然就黑屏了,这种一般是定制类的视频数据。

花屏、绿屏的原因:

1) 一般是丢失了 I 帧导致,因为 P 帧和 B 帧的解码都依赖于 I 帧,如果 I 帧丢失了,

P 帧和 B 帧都会解码失败,于是画面就会花屏、拖影、绿屏等情况,先使用不同 播放器如 ffplay、VLC、Potplayer 同时播放一下同一路流,如果播放器都出现花 屏、绿屏的情况,通常就是音视频源码流就存在问题,需要检查源码流。

2) Metadata 发生变化,大多数的播放器一般只会在开始解码之前解析一次 metadata 设置解码参数,当画面发生变化,比如分辨率变化了,但播放器解码参 数没有重新配置,就有可能导致花屏、绿屏,这种情况下,最好的办法是推流端 在直播过程中不改变编码参数,这样就不会引起 metadata 信息的修改。

3) 硬件编解码的兼容性问题,这类情况通常出现在 Android 设备上,一些 Android 设备的硬件编解码器实现不好,兼容性不佳。这种情况,最好的办法,换软编软 解对比。

4) 推流端和播放端颜色格式不一致导致,比如推流端使用的是 NV12,而播放端支持的是 I420,则解码时就会因为颜色格式不一致而显示为花屏、绿屏等情况。这 种情况下,统一推拉流两端的颜色格式。

9. TRTC有哪些技术统计指标?

该场景适用于 iOS/Mac、Android 、Windows 平台。

SDK 提供回调方法 onStatistics(TRTCStatistics statics),每 2 秒回一次技术指标。包括当前 appCpu(App 的 CPU 使用率)、systemCpu(当前系统的 CPU 使用率)、rtt(延迟)、upLoss(上行丢包率)、downLoss(下行丢包率)以及本地成员和远端成员的音视频统计信息,具体参数可参考 TRTCStatistics 类型说明文档。

技术支持

亲爱的开发者,如果在使用产品过程中遇到任何问题,欢迎到 云+社区GitHub 提问或者查询历史问题以及解决方案。

  • **云+社区各产品问答页查询及提问:**

实时音视频:https://cloud.tencent.com/developer/tag/10373?entry=ask

即时通信:https://cloud.tencent.com/developer/tag/126?entry=ask

移动直播:https://cloud.tencent.com/developer/tag/10374?entry=ask

短视频:https://cloud.tencent.com/developer/tag/10375?entry=ask

超级播放器:https://cloud.tencent.com/developer/tag/10855?entry=ask

互动直播:https://cloud.tencent.com/developer/tag/10379?entry=ask

  • **GitHub 的 issue 页面:**

移动直播:https://github.com/tencentyun/MLVBSDK/issues

实时音视频:https://github.com/tencentyun/TRTCSDK/issues

播放器:https://github.com/tencentyun/SuperPlayer\_Android/issueshttps://github.com/tencentyun/SuperPlayer\_iOS/issues

即时通信IM:https://github.com/tencentyun/TIMSDK/issues

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 质量篇
    • 1. 播放远端观众画面出现黑边
      • 2. 播放远端观众画面出现卡顿
        • 3. 打开摄像头失败
          • 4. 预览/播放画面出现旋转
            • 5. 视频镜像问题
              • 6. 如何横屏推流
                • 7. 杀死进程,如何确认主播是否在直播中?
                  • 8. 直播中出现播放黑屏、花屏、绿屏,是什么原因呢?
                    • 9. TRTC有哪些技术统计指标?
                      • 亲爱的开发者,如果在使用产品过程中遇到任何问题,欢迎到 云+社区 和 GitHub 提问或者查询历史问题以及解决方案。
                  • 技术支持
                  相关产品与服务
                  实时音视频
                  实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档