Javascript RTPeerConnection-从外部源重新对MediaStreamTrack进行流式处理时,MediaStreamTrack只有黑色帧

Javascript RTPeerConnection-从外部源重新对MediaStreamTrack进行流式处理时,MediaStreamTrack只有黑色帧,javascript,electron,webrtc,rtcpeerconnection,peer-connection,Javascript,Electron,Webrtc,Rtcpeerconnection,Peer Connection,我目前正在通过rtpeerconnection从一个电子窗口向另一个电子窗口发送MediaStreamTrack 我目前的问题是,除了远程音轨之外,其他一切都正常工作。我的相机的MediaStreamTrack是在本地主机上创建的,可以毫无问题地发送,但当我尝试发送从外部服务器接收的曲目时,它只显示黑色帧 这和我想的是同一个问题 我查过的 正在接收曲目(我已选中chrome://webrtc-internals),视频元素处于播放状态。我在控制台和webrtc内部都没有看到任何错误。 此外,流/

我目前正在通过
rtpeerconnection
从一个电子窗口向另一个电子窗口发送
MediaStreamTrack

我目前的问题是,除了远程音轨之外,其他一切都正常工作。我的相机的
MediaStreamTrack
是在本地主机上创建的,可以毫无问题地发送,但当我尝试发送从外部服务器接收的曲目时,它只显示黑色帧

这和我想的是同一个问题

我查过的 正在接收曲目(我已选中
chrome://webrtc-internals
),视频元素处于播放状态。我在控制台和webrtc内部都没有看到任何错误。 此外,流/轨迹已启用,但未禁用。在源窗口上使用
captureStream()
会产生相同的结果

使用外部源捕获和流式传输视频元素没有任何问题

可能原因 我认为问题可能是初始流来自一个不是
localhost
的域,因此无法对其进行重新分组。在w3c标准中,其描述如下:

曲目可能包含应用程序无法访问的内容。这可能是由于任何会使轨道交叉原点的原因。可以将这些曲目提供给addTrack()方法,并为其创建RTCRtpSender,但不能传输内容。发送静音(音频)、黑色帧(视频)或同等缺失的内容来代替曲目内容

主意 我不确定我上面提到的“可能的问题”是否是真正的问题,但我的一个想法是重写请求和响应头以匹配
localhost
,但它不起作用。我想这不会影响WebRTC连接

我使用的电子挂钩:

session.defaultSession.webRequest.onBeforeSendHeaders();
session.defaultSession.webRequest.onHeadersReceived();

您使用的是铬吗?是的,因为electron基于铬。文件是.mp4吗?我想我刚刚发现了一个错误,captureStream API不能与.mp4一起使用,但它可以与WebMI完美配合。我想这是一个通过webrtc的VP8流,我试图捕获并重新流到另一个视频元素。