视频常见问题排查

更新时间: 2024/09/18 16:26:13

监控通话质量

本文以新版控制台配套的指南针上的操作为例,旧版控制台的操作请参见质量数据监控

  1. 登录网易云信控制台,点击左侧导航栏中的指南针

  2. 在指南针页面的左侧导航栏中选择音视频通话 > 通话调查

  3. 在页面顶部选择对应的应用和时间区间。

  4. 输入需要查询的用户ID,单击操作列中的通话详情

    指南针通话详情.png

  5. 通话质量详情区域,选择按发送端视角接收端视角查看通话详情。单击 UID 右侧的查看发送端详情,或选择发送端查看详情

    RTC_MetricsCallDetail.png

    如果是按接收端视角,请单击选择发送端查看详情,选择对应的发送端 UID 后,才能查看详情。

  6. 单击视频页签,查看视频上行网络状态、设备状态、视频帧率、视频分辨率。

    发送端视频详情.png

看不到远端的画面

假设用户 A 看不到用户 B 的画面,问题排查的思路如下:

步骤1 问题自查

  1. 在服务监控平台查看视频上行码率和视频下行码率,具体步骤请参见监控通话质量

    • 如果没有视频上行码率,则是发送端问题,请执行步骤 2 排查发送端的问题。
    • 如果有视频上行码率和视频下行码率,则是接收端问题,请执行步骤 3 排查接收端的问题。
    • 如果有视频上行码率,没有视频下行码率,可能是网络异常。
  2. 排查发送端的问题。

    1. 检查用户 B 是否已调用 enableLocalVideo开启本地视频采集。

      • true: 表示开启本地视频采集。
      • false: 表示关闭本地视频采集。
    2. 检查用户 B 的摄像头是否打开失败,如果日志中有 no camera permission报错,可以尝试更换或重启手机测试。

    3. 在服务监控平台查看视频上行帧率,如果上行帧率远低于 setLocalVideoConfig 中设置的帧率,可能是相机有问题或手机性能有问题。

  3. 排查接收端的问题。

    1. 检查用户 A 是否已调用 subscribeRemoteVideoStream订阅用户 B 的视频。
    2. 检查用户 A 是否已调用 setupRemoteVideoCanvas设置用户 B 的画布。
    NERtcVideoView remoteView = (NERtcVideoView)findViewById(R.id.remote_view);
    NERtcEx.getInstance().setupRemoteVideoCanvas(remoteView,uid);
    
    1. 检查是否用户 A 给用户 B 设置了画布,但是画布没有放到 UI 上或被销毁。可以检查一下日志中是否有打印 Dropping frame - No surface
    2. 检查用户 A 和用户 B 是否已加入同一个音视频房间。通过 channelName 检查用户 A 和用户 B 加入的房间名,通过 onUserJoin userID ,检查有没有监测到对端有加入房间。

步骤2 联系技术支持

如果通过以上步骤,问题仍无法解决,请联系网易云信技术支持工程师,并提供以下信息,方便工程师快速定位问题:

信息类别 信息详情
必要信息 房间名称(channelName)。
视频发送方和接收方的用户的 uid。
问题发生的时间。
辅助信息 SDK 日志文件。具体如何获取日志请参见 SDK 的日志从哪里获取
NERTC SDK 版本号、手机的型号,手机系统的版本号,如果有外接设备(摄像头、耳麦等等),提供设备的型号。

视频画面模糊、马赛克

可能原因

视频模糊一般是由视频码率或分辨率过低导致。

步骤1 问题自查

  1. 查看 setLocalVideoConfig 中设置的分辨率是否和您的应用场景相匹配。

    如果高分辨率低码率容易产生马赛克现象。各场景的音视频属性设置的最佳实践请参见音视频参数配置推荐

  2. 在服务监控平台查看相关的通话质量数据,具体步骤请参见监控通话质量

    1. 查看发送端的视频上行码率和接收端的下行码率,确认接收端接收的是大流还是小流。
      • 如果订阅的是小流,视频略微模糊是符合预期的,您可以调用subscribeRemoteVideoStream接口,将NERtcRemoteVideoStreamType参数的值设置为kNERtcRemoteVideoStreamTypeHigh,订阅大流。
      • 如果订阅的是大流,请继续执行下一步。
    2. 请查看视频上行丢包率和下行丢包率是否正常。网络比较差时容易降低码率导致清晰度下降。
  3. 检查是否有视频前处理,例如美颜等,请先关闭前处理,检查模糊是否由于前处理导致。

步骤2 联系技术支持

如果通过以上步骤,问题仍无法解决,请联系网易云信技术支持工程师,并提供以下信息,方便工程师快速定位问题:

信息类别 信息详情
必要信息 房间名称(channelName)。
视频发送方和接收方的用户的 uid。
视频模糊的时间段。
辅助信息 SDK 日志文件。具体如何获取日志请参见 SDK 的日志从哪里获取
NERTC SDK 版本号、手机的型号,手机系统的版本号,如果有外接设备(摄像头、耳麦等等),提供设备的型号。

视频卡顿

可能原因

视频卡顿问题一般由网络、设备性能等原因造成。

步骤1 问题自查

  1. 判断是持续性的还是一次性的卡顿。一次性的卡顿是由网络和设备的随机性导致,属于正常现象。

  2. 在服务监控平台查看相关的通话质量数据,具体步骤请参见监控通话质量

    1. 查看视频上行帧率,如果上行帧率太低,请查看 setLocalVideoConfig 设置的帧率是否正常。
    • 在通信模式下,建议您将帧率设置为 24 fps,用户在视觉上不会出现卡顿现象。
    • 在直播模式下,建议您将帧率适当降低至 15 fps,保证直播画面的高清晰度。
    1. 如果设置的帧率正常,但服务监控平台上查看的上行帧率远低于设置的帧率,大概率是设备的CPU和内存占用过高导致卡顿,请尝试更换设备。
    2. 查看视频下行帧率,如果下行帧率太低,请查看视频上行丢包率和下行丢包率是否正常。如果丢包率过高一般是网络状况不稳定导致卡顿。
  3. 检查是否有视频前处理,例如美颜等,请先关闭前处理,检查卡顿是否由于前处理导致。

  4. 请确认是否存在一直进出频道或者一直切换订阅流的情况,导致的卡顿。

步骤2 联系技术支持

如果通过以上步骤,问题仍无法解决,请联系网易云信技术支持工程师,并提供以下信息,方便工程师快速定位问题:

信息类别 信息详情
必要信息 房间名称(channelName)。
视频发送方和接收方的用户的 uid。
出现卡顿的时间段。
辅助信息 SDK 日志文件。具体如何获取日志请参见 SDK 的日志从哪里获取
NERTC SDK 版本号、手机的型号,手机系统的版本号,如果有外接设备(摄像头、耳麦等等),提供设备的型号。

音频和画面不同步

可能原因

音频和画面不同步主要是接收端的问题。在 webrtc 中负责音频和画面同步的主要是接收模块中的 jitter buffer 模块,在 jitter buffer 中会去取 audiomax_delay,根据这个 max_delay 来估算视频的 delay,决定视频 jitter buffer 什么时候出帧。

视频帧率过低,音频丢包严重等原因也有可能造成音频和画面不同步。

步骤1 问题自查

  1. 在服务监控平台查看相关的通话质量数据,具体步骤请参见监控通话质量

    1. 查看视频上行帧率,如果上行帧率太低,请查看 setLocalVideoConfig 设置的帧率是否正常。
    • 在通信模式下,建议您将帧率设置为 24 fps,用户在视觉上不会出现卡顿现象。
    • 在直播模式下,建议您将帧率适当降低至 15 fps,保证直播画面的高清晰度。
    1. 如果设置的帧率正常,但服务监控平台上查看的上行帧率远低于设置的帧率,大概率是设备的CPU和内存占用过高导致卡顿,请尝试更换设备。
    2. 查看视频下行帧率,如果下行帧率太低,请查看视频上行丢包率和下行丢包率是否正常。如果丢包率过高一般是网络状况不稳定导致音频和画面不同步。
  2. 检查视频帧的 timeStamp 参数的传参是否正确。

    timeStamp 的单位是毫秒。

步骤2 联系技术支持

如果通过以上步骤,问题仍无法解决,请联系网易云信技术支持工程师,并提供以下信息,方便工程师快速定位问题:

信息类别 信息详情
必要信息 房间名称(channelName)。
视频发送方和接收方的用户的 uid。
出现音频和画面不同步的时间段。
辅助信息 SDK 日志文件。具体如何获取日志请参见 SDK 的日志从哪里获取
NERTC SDK 版本号、手机的型号,手机系统的版本号,如果有外接设备(摄像头、耳麦等等),提供设备的型号。
此文档是否对你有帮助?
有帮助
去反馈
  • 监控通话质量
  • 看不到远端的画面
  • 步骤1 问题自查
  • 步骤2 联系技术支持
  • 视频画面模糊、马赛克
  • 可能原因
  • 步骤1 问题自查
  • 步骤2 联系技术支持
  • 视频卡顿
  • 可能原因
  • 步骤1 问题自查
  • 步骤2 联系技术支持
  • 音频和画面不同步
  • 可能原因
  • 步骤1 问题自查
  • 步骤2 联系技术支持