是否可以将原始视频帧传递给浏览器?
Is it possible to pass raw video frame TO a browser?
是否可以将原始视频帧传输到 browser/website?例如,解码可以在 Gstreamer 中本地完成,然后可以以某种方式转发到浏览器。
编辑:
我意识到我的描述有点站不住脚。我想要的用例是将编码视频发送给某人,在他们的计算机上对其进行解码,进行一些无法在浏览器中完成的高级过滤,然后将帧通过管道传输到浏览器。显然重新编码只会浪费时间和精力。
我能找到的只是有人说视频帧可以从浏览器中抓取,似乎没有人有兴趣发送到浏览器。可怕的选择可能是使用 webrtc 并将帧重新编码为 VP8,然后将其发送到浏览器。
所以我的最后一个问题是是否可以写入浏览器的渲染管道?我对网络编程几乎一无所知,我通常只处理图像和视频。
感谢您的支持:)
PS:请原谅我的知识匮乏,是否可以在某人的计算机上安装客户端,写入本地 tcp 端口,并从浏览器中的网站访问该 tcp 端口? (可能要求用户允许连接?)
是的,这是可能的。由于您是 运行 本地 GStreamer 管道,您可能会研究这个项目:https://github.com/Samsung/ChromiumGStreamerBackend 基本上,他们使用 GStreamer 作为浏览器中的本机渲染器。
除此之外,您还可以创建一个浏览器扩展来执行应用程序并从 Gstreamer 获取数据,以随机播放到您的应用程序。 https://developer.chrome.com/extensions/nativeMessaging
如果您不想进行扩展,您可以创建一个小型 Web Socket 服务器。
无论哪种方式,您都可以将原始像素数据写入 Canvas... 而无需 re-encode/decode 视频。 https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API
是否可以将原始视频帧传输到 browser/website?例如,解码可以在 Gstreamer 中本地完成,然后可以以某种方式转发到浏览器。
编辑: 我意识到我的描述有点站不住脚。我想要的用例是将编码视频发送给某人,在他们的计算机上对其进行解码,进行一些无法在浏览器中完成的高级过滤,然后将帧通过管道传输到浏览器。显然重新编码只会浪费时间和精力。
我能找到的只是有人说视频帧可以从浏览器中抓取,似乎没有人有兴趣发送到浏览器。可怕的选择可能是使用 webrtc 并将帧重新编码为 VP8,然后将其发送到浏览器。
所以我的最后一个问题是是否可以写入浏览器的渲染管道?我对网络编程几乎一无所知,我通常只处理图像和视频。 感谢您的支持:)
PS:请原谅我的知识匮乏,是否可以在某人的计算机上安装客户端,写入本地 tcp 端口,并从浏览器中的网站访问该 tcp 端口? (可能要求用户允许连接?)
是的,这是可能的。由于您是 运行 本地 GStreamer 管道,您可能会研究这个项目:https://github.com/Samsung/ChromiumGStreamerBackend 基本上,他们使用 GStreamer 作为浏览器中的本机渲染器。
除此之外,您还可以创建一个浏览器扩展来执行应用程序并从 Gstreamer 获取数据,以随机播放到您的应用程序。 https://developer.chrome.com/extensions/nativeMessaging
如果您不想进行扩展,您可以创建一个小型 Web Socket 服务器。
无论哪种方式,您都可以将原始像素数据写入 Canvas... 而无需 re-encode/decode 视频。 https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API