gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 06:09:57 25 4
gpt4 key购买 nike

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

最佳答案

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

But my goal is to see the live inputstream in the browser, just locally for me.

流媒体路径需要一些东西——浏览器确实需要帮助,因为它们不是直接从 Elgato 采集卡等设备访问媒体数据的正确工具——将视频(和音频)编码成合适的形式。这可以是生成 Media Source Extensions API (MSE) 的附加应用程序使用一些辅助 JS 代码将 block 传送到浏览器,然后使用浏览器 MSE 接口(interface)填充媒体流。或者,编码应用程序可以使用 MPEG-DASH 或 HLS Assets 呈现媒体提要,浏览器可以借助可用的 JS 播放器之一或对某些流媒体协议(protocol)的 native 浏览器支持来播放这些 Assets 。

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

作为本地多媒体设备“观看”视频的另一条途径需要,除了浏览器对这个相对较新的 API 的支持之外,浏览器在平台上的实现将 Elgato 硬件识别为合适的相机,我猜这不是Elgato 的案例:据我所知(虽然有点陈旧)他们提供的集成层是不够的,因为像 Chrome 这样的现代浏览器使用 Media Foundation API(而不是 DriectShow)来访问这样的本地设备,所以 Elgato 作为一个视频源。

更新。我想我的观点是正确的 - Elgato 设备实际上可能对 Media Capture 和 Streams API 可见。我检查了我的记录,他们的 Game Capture HD60 Pro 看起来有适合 Media Foundation 的驱动程序。所以 4K60 Pro 也可以。 getUserMedia test page是可以快速检查浏览器是否能够从本地视频源捕获的地方。

关于javascript - 在浏览器中通过本地 DirectShow 播放 Videograbber 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59494421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com