一、视频问题
TRTC 视频画面出现黑边怎么去掉?
设置 TRTCVideoFillMode_Fill(填充)即可解决,TRTC 视频渲染模式分为填充和适应,本地渲染画面可以通过 setLocalViewFillMode() 设置,远端渲染画面可以通过 setRemoteViewFillMode 设置:
- TRTCVideoFillMode_Fill:图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。
- TRTCVideoFillMode_Fit:图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
TRTC 出现卡顿怎么排查?
可以通过对应的 RoomID、UserID 在实时音视频控制台的 监控仪表盘 页面查看通话质量:
- 通过接受端视角查看发送端和接收端用户情况。
- 查看发送端和接收端是否丢包率比较高,如果丢包率过高一般是网络状况不稳定导致卡顿。
- 查看帧率和 CPU 占用率,帧率比较低和 CPU 使用率过高都会导致卡顿现象。
TRTC 出现画质不佳,模糊、马赛克等现象怎么排查?
- 清晰度主要和码率有关,检查 SDK 码率是否配置的比较低,如果高分辨率低码率容易产生马赛克现象。
- TRTC 会通过云端 QOS 流控策略,根据网络状况动态调整码率、分辨率,网络比较差时容易降低码率导致清晰度下降。
- 检查进房时使用的 VideoCall 模式还是 Live 模式,针对通话场景 VideoCall 模式主打低延时和保流畅,所以在弱网情况下会更容易牺牲画质确保流畅,对画质更加看重的场景建议使用 Live 模式。
TRTC 自己的本地画面和远端画面左右相反?
本地默认采集的画面是镜像的。App 端可以通过 setLocalViewMirror 接口设置,该接口只改变本地摄像头预览画面的镜像模式;也可以通过 setVideoEncoderMirror 接口设置编码器输出的画面镜像模式,该接口不改变本地摄像头的预览画面,但会改变另一端用户看到的(以及服务器录制下来的)画面效果。Web 端可以通过 createStream 接口修改 mirror 参数来设置。
TRTC 设置视频编码输出的方向没有效果?
需要设置 setGSensorMode() 为 TRTCGSensorMode_Disable,关闭重力感应,否则调用 setVideoEncoderRotation 后远端用户观看到的画面不会变化。
TRTC 正常上行有数据,为什么旁路拉流失败看不到画面?
请确认是否已在 应用管理>功能配置 中开启自动旁路推流。
预览/播放画面出现旋转?
- 使用 TRTCSDK 摄像头采集:
- 建议更新 SDK 版本到最新版本。
- 如果是特殊设备,可以使用本地预览画面渲染角度接口
setLocalViewRotation
,远端视频画面的渲染角度接口 setRemoteViewRotation
,设置编码器输出的画面渲染角度接口 setVideoEncoderRotation
进行调整。具体接口使用说明请参见 视频画面旋转。
- 使用自定义视频采集:
- 建议更新 SDK 版本到最新版本。
- 确认下将采集的视频画面的角度是正确。
- 将视频数据填充给 TRTCSDK,检查是否给
TRTCCloudDef.TRTCVideoFrame
设置旋转角度
- 如果是特殊设备,可以使用本地预览画面渲染角度接口
setLocalViewRotation
,远端视频画面的渲染角度接口 setRemoteViewRotation
,设置编码器输出的画面渲染角度接口 setVideoEncoderRotation
进行调整。具体接口使用说明请参见 视频画面旋转。
视频出现镜像问题?
使用前摄像头进行视频通话,会有镜像效果,所以本地预览和远端观众画面是左右颠倒。
如何横屏推流?
开发者可能用设备是电视或者因场景需要横屏推流,具体实现请参见视频画面旋转和缩放
直播中出现播放黑屏是什么原因呢?
- 播放失败或解码失败,参看播放失败的处理办法。
- Metadata 问题,例如 metadata 中只有音频流信息,但实际数据中即有音频也有视频;或者是开始的数据只有音频,但播放一段时间后又加入了视频信息。这种情况一般建议修改源流的 metadata 信息。
- 视频编码数据里没有画面信息,只有类似 SEI 之类的帧时,解码也没有画面,自然就黑屏了,这种一般是定制类的视频数据。
直播中出现播放花屏、绿屏,是什么原因呢?
- 一般是丢失了 I 帧导致,因为 P 帧和 B 帧的解码都依赖于 I 帧,如果 I 帧丢失了,P 帧和 B 帧都会解码失败,于是画面就会花屏、拖影、绿屏等情况,先使用不同 播放器如 ffplay、VLC、Potplayer 同时播放一下同一路流,如果播放器都出现花 屏、绿屏的情况,通常就是音视频源码流就存在问题,需要检查源码流。
- Metadata 发生变化,大多数的播放器一般只会在开始解码之前解析一次 metadata 设置解码参数,当画面发生变化,例如分辨率变化了,但播放器解码参 数没有重新配置,就有可能导致花屏、绿屏,这种情况下,最好的办法是推流端 在直播过程中不改变编码参数,这样就不会引起 metadata 信息的修改。
- 硬件编解码的兼容性问题,这类情况通常出现在 Android 设备上,一些 Android 设备的硬件编解码器实现不好,兼容性不佳。这种情况,最好的办法,换软编软 解对比。
- 推流端和播放端颜色格式不一致导致,例如推流端使用的是 NV12,而播放端支持的是 I420,则解码时就会因为颜色格式不一致而显示为花屏、绿屏等情况。这 种情况下,统一推拉流两端的颜色格式。
二、音频问题
TRTC 的通话同时用了点播播放器 TXVodPlayer 播放,为什么播放声音很小?
通过 setSystemVolumeType 接口设置通话时使用的系统音量类型,设置为媒体音量模式 TRTCSystemVolumeTypeMedia 即可解决。
如何选择媒体音量和通话音量?
通过 setSystemVolumeType 接口,支持自主选择通话音量和媒体音量。
- TRTCAudioVolumeTypeAuto :默认类型,麦上通话音量、麦下媒体音量。
- TRTCAudioVolumeTypeVOIP :始终使用通话音量。
- TRTCAudioVolumeTypeMedia :始终使用媒体音量。
声音小怎么处理?
- 若所有观众听到的声音都小,则是上行因素导致:
- 若部分观众听到声音小,则是下行因素导致:
声音卡顿断续?
打开 监控仪表盘,在音频选项卡中查看:
- 若接收端和发送端“设备状态”的 CPU 超过90%,建议关闭其他后台程序。
- 若音频上下行存在明显丢包,rtt 值波动较大,表明当前用户网络质量不佳,建议切换稳定网络。
为什么有回声?
通话双方的设备相距太近的时候,属于正常现象,测试时请相互距离远一点;是否误关了 3A 处理的 AEC 回声消除。
声音音质差或者声音忽大忽小?
若您外接了声卡,开了耳返,当连麦时就会引发此问题,建议您在外接声卡时关闭耳返,因为声卡一般自带了耳返功能。
Web 通话过程中出现回声、杂音、噪声、声音小?
通话双方的设备相距太近的时候,属于正常现象,测试时请相互距离远一点。当其他端听到 Web 端的声音存在回声、噪声、杂音等情况时,说明 Web 端的 3A 处理没有生效。 若您使用了浏览器原生 getUserMedia API 进行自定义采集,则需要手动设置 3A 参数:
- echoCancellation:回声消除开关。
- noiseSuppression:噪声抑制开关。
- autoGainControl:自动增益开关。
若您使用 TRTC.createStream 接口进行采集,则无需手动设置 3A 参数,SDK 默认开启 3A。
三、其他问题
TRTC 怎么监测网络状态,实现信号强弱展示功能?
可以使用 onNetworkQuality() 监听当前网络的上行和下行质量,以Android为例,可参考 TRTC-API-Example 实现信号强弱功能。
为什么设备摄像头或麦克风出现被占用等异常现象?
调用 exitRoom() 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等,硬件设备的释放是异步操作,待资源释放完毕,SDK 会通过 TRTCCloudListener 中的 onExitRoom() 回调通知上层。如果您要再次调用 enterRoom() 或切换到其他的音视频 SDK,请等待 onExitRoom() 回调到来之后再执行相关操作。
如何判断打开摄像头成功?
通过回调方法 onCameraDidReady,当收到该回调时表示摄像头已经准备就绪。
如何判断打开麦克风成功?
通过回调方法 onMicDidReady,当收到该回调时表示麦克风已经准备就绪。
打开摄像头失败?
- 确认摄像头权限是否授予
- 如果设备是电视、盒子等,使用的摄像头是外接的。目前 TRTCSDK 是支持识别外接摄像头的。因此,需要确认摄像头接头和设备是否接触良好。
TRTC 有哪些技术统计指标?
注意:
该场景适用于 iOS/Mac、Android 、Windows 平台。
SDK 提供回调方法 onStatistics(TRTCStatistics statics),每 2 秒回一次技术指标。包括当前 appCpu(App 的 CPU 使用率)、systemCpu(当前系统的 CPU 使用率)、rtt(延迟)、upLoss(上行丢包率)、downLoss(下行丢包率)以及本地成员和远端成员的音视频统计信息,具体参数请参见 TRTCStatistics 类型说明。
本页内容是否解决了您的问题?