收藏
回答

live-player 网络波动产生的延迟无法恢复

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug live-player 微信iOS客户端 7.0.5以上版本 2.9.4

我们做视频会议的小程序,本端把音视频经过rtmp到服务器,后台把音频去掉了之后生成新的rtmp流地址给远端播放纯视频,音频是把大家的麦克风合成了一个rtmp地址用另一个live-player播放。


相关问题:

网络波动(wifi、4G信号不好)或者对网络限速,live-player会产生延迟,网络恢复后live-player不会恢复延迟。该问题从7.0.5版本开始一直就存在,我们做了大量的测试及对后台的架构调整也无法解决,现在也是没办法了。


问题的一些尝试:

后来发现,我们直接在live-player中播放上送给服务器的rtmp地址(带音视频的流),网络波动后产生的延迟可以恢复到波动之前的水平。

我们猜测可能是流里没混音频才引起的问题,之后我们把远端的流里混了一些可以解码但无效的音频数据,发现安卓奇迹般的可以恢复到很低的延迟,但是苹果上并没有丝毫好转。


我们没有长期的rtmp地址,都是根据会议动态生成的rtmp地址,可以使用我们的小程序用两个手机进入同一个会议。故意制造网络不好的环境(走到wifi信号不好的地方或者对网络限速),即可复现。

希望官方进解决我们的问题,谢谢。


appid: wx61afdde337ea8d21


回答关注问题邀请回答
收藏

1 个回答

  • 睿
    2019-12-30

    当推送纯视频流时,请根据视频时间戳同步发送对应数据量的静音数据。比如如果fps是15,每隔66ms发送一帧视频,这个时候应该相应发送66/21(假设采样率是48000)= 3帧静音数据(请注意在随后的发送逻辑里计算上66/21的余数,否则会有累计延时)。

    2019-12-30
    赞同
    回复
登录 后发表内容
问题标签