如何建立从iOS Safari到Android Chrome的Webrtc连接



我想用webrtc做一个网站。我设法将Chrome(Android)连接到PC,iOS(Safari)连接到PC,PC连接到PC,PC连接到两者(Android Chrome和Safari iOS),Android连接到Android,Safari连接到Safari。

当我尝试将Chrome(Android)连接到iOS(Safari)或Safari(iOS)连接到Chrome(Android)时,无法连接。我得到

"无法设置远程产品/服务 sdp:ERROR_CONTENT...无法设置远程 视频说明发送参数..

我认为我需要SDP的帮助。

iOS Safari 中的 WebRTC 实现目前仅支持 H.264 视频编解码器。另一方面,Android上的WebRTC需要一个支持的硬件编码器来支持H.264。看起来您的Android设备没有编码器,因此无法建立视频通话(iOS仅提供H.264,但您的Android设备仅支持VP8)。

在苹果为iOS Safari添加VP8支持(不太可能,因为它不会是硬件加速的)或谷歌在Android上的WebRTC中添加软件H.264编码器之前,你将不得不计划这样一个事实,即无法在所有场景中建立视频通话与WebRTC。

编辑:VP8支持已添加到Safari预览中,最终应该登陆macOS和iOS。感谢尼西姆·约瑟夫的提醒。

有两个不同的问题使得Android上的Chrome和iOS/Safari之间的WebRTC连接不起作用:

1)问题@jamix解释:

Chrome for Android 只有 H.264 的硬件实现,没有软件实现。目前,H.264仅适用于具有高通(奇巧及更高版本)或三星Exynos(棒棒糖及更高版本)处理器的设备。由于Apple仅支持H.264,因此其他Android设备无法与iOS和Safari连接。

2)安卓版Chrome有bug:

Chrome Android 不提供/应答 H.264 受限基线配置文件

因为苹果只支持H.264 Android/Chrome目前无法与iOS连接。

这个问题可能会在Chrome Android M65中得到解决。有关详细信息,请参阅此处。

我看到您的错误消息正是此错误,所以我很确定这是问题所在。但最终没关系。但是你应该意识到这两个问题,这就是我添加这个答案的原因。

最新更新