Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
1136 Discussions

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

Li__Zunlong
New Contributor I
977 Views

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

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

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

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

0 Kudos
14 Replies
YanbinZ_Intel
Employee
977 Views

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

Li__Zunlong
New Contributor I
977 Views

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

Song__Sean
Beginner
977 Views

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

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

YanbinZ_Intel
Employee
977 Views

您好,

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

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

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

 

 

Thanks

Yanbin

 

YanbinZ_Intel
Employee
977 Views

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

Song__Sean
Beginner
977 Views

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

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

Li__Zunlong
New Contributor I
977 Views

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

YanbinZ_Intel
Employee
977 Views

Li, Zunlong wrote:

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

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

Li__Zunlong
New Contributor I
977 Views

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

Li__Zunlong
New Contributor I
977 Views

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

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

JIANHUI_D_Intel
Employee
977 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流自己完成切片? 谢谢!
Li__Zunlong
New Contributor I
977 Views

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

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

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

JIANHUI_D_Intel
Employee
977 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开发团队进一步沟通。

Li__Zunlong
New Contributor I
977 Views

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

Reply