在浏览器中通过DirectShow本地播放Videograbber输入

问题描述 投票:1回答:1

我有一个Elgato 4k60 Pro采集卡,可以通过hdmi捕获视频输入。我必须使用Elgato软件,但我也可以通过DirectShow使用VLC打开实时输入流。但是我的目标是在浏览器中看到实时输入流,对我来说只是本地的。因为它也可以在VLC中使用,所以我认为HTML / JS可以实现。我也可以通过OBS或Internet上的流对其进行流传输,并在浏览器中观看我自己的流,但是这种方式需要太多的硬件资源。最好将捕获的输入直接显示在浏览器中。有什么好的解决方案或现有的例子吗?非常感谢!

javascript video-streaming html5-video video-capture directshow
1个回答
0
投票

本地运行的浏览器可以通过Media Capture and Streams打开编码的流媒体或本地用户多媒体设备,例如相机。因此,您问题的答案取决于您对以下“参见”的定义:

但是我的目标是浏览器中的实时输入流,对我来说只是本地的。

流媒体路径需要某种东西-浏览器确实需要帮助,因为它们不是直接从Elgato采集卡等设备访问媒体数据的正确工具-某种东西会将视频(和音频)编码为合适的形式。这可以是另外的应用程序,它可以生成Media Source Extensions API (MSE)块,并使用一些辅助JS代码传递给浏览器,然后使用浏览器MSE接口填充媒体流。或者,编码应用程序也可以使用MPEG-DASH或HLS资产来呈现媒体供稿,浏览器可以借助现有的JS播放器之一来播放媒体,也可以使用本地浏览器对某些流媒体协议的支持。

从这个意义上说,本地浏览器或网络上另一个系统上运行的浏览器使用编码流没有太大区别。

将视频视为本地多媒体设备的另一条路径,除了浏览器对此相对较新的API的支持之外,浏览器在平台上的实现将Elgato硬件识别为合适的摄像头,我猜并非如此。关于Elgato:据我所知(虽然有点陈旧),它们提供的集成层不足,因为像Chrome这样的现代浏览器使用Media Foundation API(与DriectShow相反)访问此类本地设备,因此Elgato在视频中仍然不可见来源。

© www.soinside.com 2019 - 2024. All rights reserved.