如何正确处理webrtc中的视频约束

如何正确处理webrtc中的视频约束,webrtc,sdp,Webrtc,Sdp,我有一个简单的WebRTC应用程序,它可以在constraint={audio:true,video:true}时正确地设置调用。 我的问题是,当我将视频约束更改为1080p时,它不起作用: constraints.video = { width: { ideal: 1920 }, height: { ideal: 1080 }, }; 我有一部iphone和一部MacBookPro。macbook有一个最高支持720p的摄像头。ipho

我有一个简单的WebRTC应用程序,它可以在
constraint={audio:true,video:true}
时正确地设置调用。 我的问题是,当我将视频约束更改为1080p时,它不起作用:

constraints.video = {
          width: { ideal: 1920 },
          height: { ideal: 1080 },
        };
我有一部iphone和一部MacBookPro。macbook有一个最高支持720p的摄像头。iphone确实支持1080p。如果我从iphone启动呼叫,呼叫将建立,但视频流将在本地停止工作,并且不会传输到远程对等方。 如果我从macbook启动呼叫,呼叫将按预期工作,两个对等方都以720进行传输

我怀疑sdp的提议与此有关,因为两个视频使用的分辨率是相同的,如果其中一个视频无法匹配,则会失败(根据我的观察)

我正在iphone中使用safari。在macbook中,同样的问题也发生在chrome和firefox上(它在safari上也能工作)。在safari的例子中,我得到一个1080p的视频,另一个720p的视频(这就是我想要的)。在chrome和firefox中,当我检查视频的宽度和高度时,我得到一个0,检查webrtc内部时,看起来什么都没有传输

是什么导致了这个问题?是否有任何方法可以在所有浏览器上获得所需的行为