Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video HTML5视频和MediaStreamTrack流通过WebRTC解决方案更改问题_Video_Webrtc_Html5 Video_Live Streaming_Mediastreamtrack - Fatal编程技术网

Video HTML5视频和MediaStreamTrack流通过WebRTC解决方案更改问题

Video HTML5视频和MediaStreamTrack流通过WebRTC解决方案更改问题,video,webrtc,html5-video,live-streaming,mediastreamtrack,Video,Webrtc,Html5 Video,Live Streaming,Mediastreamtrack,我使用HTML5视频标签通过WebRTC协议显示传入的实时视频流。基本上,当客户机接收到远程服务器时,会将其分配给远程服务器。直播流出现在视频中,到目前为止一切正常。但是,如果在某个点接收/发送客户端遇到网络连接降级,则WebRTC降级实现会降低流的分辨率。发生的情况是视频变得“腐败”,尽管你仍然可以在噪音中分辨出一些。下面是它的屏幕截图: 控制台中的MediaStreamTrack上的调试显示了分辨率的变化: 但有趣的部分来了。似乎本地HTML5视频播放器只有某些分辨率存在问题。在本例中,

我使用HTML5视频标签通过WebRTC协议显示传入的实时视频流。基本上,当客户机接收到远程服务器时,会将其分配给远程服务器。直播流出现在视频中,到目前为止一切正常。但是,如果在某个点接收/发送客户端遇到网络连接降级,则WebRTC降级实现会降低流的分辨率。发生的情况是视频变得“腐败”,尽管你仍然可以在噪音中分辨出一些。下面是它的屏幕截图:

控制台中的
MediaStreamTrack
上的调试显示了分辨率的变化:

但有趣的部分来了。似乎本地HTML5视频播放器只有某些分辨率存在问题。在本例中,它与720x540px和1440x1080px配合使用效果良好,但与1080x810xpx配合使用效果不佳。我在网上浏览了本地HTML5视频播放器规范,但没有支持的分辨率。我不知道该如何解决这个问题。我有以下想法:

  • 也许可以尝试不同的HTML5视频播放器,例如JW播放器
  • 阻止流上出现特定的解析,但我在WebRTC实现中没有看到任何选项

    • 哎呀!这是一个浏览器级别或更低级别的bug,除了提交bug通知单之外,您无能为力

      同时,我怀疑这个问题是由于你使用了奇怪的分辨率。坚持16:9或4:3这样的正常纵横比(即使你通过CSS裁剪),无论如何都会使你与网络摄像头更好地兼容


      您可能还在视频编解码器中使用硬件加速。尝试禁用它(或者如果它已经被禁用,则启用它),看看这是否有帮助。

      Hmmm,有趣的一点。我还想到,这可能是浏览器级别的问题。我想使用不同的html5播放器实现可能不会奏效。关于奇怪的分辨率,视频流实际上来自DJI无人机,而不是典型的网络摄像头;)。关于你对硬件加速的评论,我想看看这个,尽管你不确定你能通过JS控制它?