Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
406 Views

用 addExternalOutput 推流的视频在 iOS 上会发生卡顿

用 addExternalOutput 推流的视频在 iOS 上会发生卡顿,该卡顿具体是指 video 标签播放器在播放直播流一段时间后画面会卡住而声音会继续。

初步怀疑是 Intel® Collaboration Suite for WebRTC 服务器端输出的混流丢帧,在 Chrome 上有容错所以没有卡顿,而 iOS 上的 Safari 比较严格。

另外有一个相关问题,推流的视频流合成为回放文件后,在浏览器播放会发生声画不同步的现象,有可能也是因为混流丢帧所致。

以上问题是在 3.4 版本发现的。请 Intel 工程师尝试复现一下,谢谢。

Tags (2)
0 Kudos
14 Replies
Highlighted
Employee
406 Views

你好, 你的意思是你在iOS 上的safari 订阅了addExternalOutput 推流的视频吗? 

0 Kudos
Highlighted
New Contributor I
406 Views

不是。是 iOS 上的 Safari 播放了一个 HLS 直播流,这个直播流是由 addExternalOutput 推出来的。

0 Kudos
Highlighted
Beginner
406 Views

用addExternalOutput推一个rtmp流,把流抓下来保存成文件,用iMovie之类的编辑软件打开,可以看到音频波形中有很多缺口和毛刺

如果把这个rtmp流转为HLS流,在iPhone上播放,音频中的这些缺口和毛刺会导致时不时出现爆音,在安卓手机上不会,可能是解码器更容错一些

0 Kudos
Highlighted
Employee
406 Views

您好,

1. 请提供一下你们具体复现的流程和步骤

2. 是使用我们mcu 录制的功能保存下来的文件吗?  如果是的 提供一下录制的codec 等具体信息。

3. ios 的系统信息和chrome/safari 的版本号信息。

 

 

Thanks

Yanbin

 

0 Kudos
Highlighted
Employee
406 Views

还有你们使用的是什么版本的MCU ,hardware 还是software?  

0 Kudos
Highlighted
Beginner
406 Views

software编码,所有版本的MCU都一样,在所有版本的iOS上都有爆音,而在所有版本的安卓上都没有。

复现步骤是addExternalOutput推流到nginx rtmpd,codec是h264/aac的,然后ffmpeg -i rtmp://流地址 -acodec copy -vcode copy record.mp4保存下来,查看record.mp4,无论是纯音频还是音视频,里面的音频都有缺口和尖刺。

0 Kudos
Highlighted
New Contributor I
406 Views

这个 bug 很严重,现在 iOS 用户几乎无法正常收看视频直播 —— 看一分钟左右画面就会卡住。复现步骤已于上周给出,请贵团队给予重视和反馈。

0 Kudos
Highlighted
Employee
406 Views

Li, Zunlong wrote:

这个 bug 很严重,现在 iOS 用户几乎无法正常收看视频直播 —— 看一分钟左右画面就会卡住。复现步骤已于上周给出,请贵团队给予重视和反馈。

我们现在复现下来, 如果iOS 使用safari 播放直播流确实会出现卡段现象,如果播放保存好的录播视频,画面还是流畅的。我们已经提交给开发团队,他们已经在紧急分析和处理中。

0 Kudos
Highlighted
New Contributor I
406 Views

@Yanbin 三周时间过去,请问有何进展?

0 Kudos
Highlighted
New Contributor I
406 Views

@Yanbin 请问这一问题目前进展如何?

我们很多客户使用 iOS Safari 播放直播时卡顿 —— 每次刷新网页后看两分钟画面就卡住了。希望贵团队能够提升这一问题的优先级,否则 addExternalOutput 这个推流 API 用起来反而是坑了。

0 Kudos
Highlighted
406 Views

Zunlong , 你好。这个HLS的视频问题我们正在调研。目前看下来,只有Safari会有视频卡住的问题,其他播放器(VLC,FFPLAY,Gstreamer)均能正常播放。 我们使用Safari 11.0.3过程中,发现SW MCU问题比较显著;而HW MCU视频比较流畅,你们可否切换到HW MCU使用?我们会继续调查Safari上HLS兼容性问题。 另外,你们能否提供具体的HLS的配置?HLS切片是由MCU完成?还是有MCU推流RTMP,在你们的HLS服务器端拉RTMP流自己完成切片? 谢谢!
0 Kudos
Highlighted
New Contributor I
406 Views

JIANHUI, 你好。谢谢你的回复。

我们使用的是阿里云和腾讯云的服务器,因此暂时无法切换到 HW MCU。我想确认一下,由 HW MCU 推出来 HLS 视频比较流畅,但画面还是会在 Safari iOS 卡住?

在我这里,MCU 服务器通过 addExternalOutput 直接将流推给七牛云的直播地址,没有经过自己的 HLS 服务器。

0 Kudos
Highlighted
406 Views

HW MCU情况下,卡住的情况概率会小很多。你们addExternalOutput 的具体调用参数(URL)能否发我们参考一下?

目前我们在Safari 11.0.3和Webkit 2.18.6均重现了这个问题;从出错的log中分析,stream buffer underflow后webkit会pause并re-buffering。在成功re-buffering后webkit restart playing的时候出了问题,导致了这个视频卡住的现象。在log中48s以后视频就不动了。

看起来可能是webkit内部的的问题,已经联系webkit开发团队进一步沟通。

0 Kudos
Highlighted
New Contributor I
406 Views

JIANHUI, 你好。请问,与 webkit 开发团队的沟通有何进展?

0 Kudos