【问题标题】:Rendering webpage as H.264将网页呈现为 H.264
【发布时间】:2018-01-19 20:04:34
【问题描述】:

我正在尝试将 HTML 呈现为 H.264 流,然后将其流式传输到我网络上的另一台 PC。

我已经完成了最后一部分,streaming to to another PC on my network。 现在我唯一的问题是渲染网页。

我无法渲染一次,因为它不是静态网页。 我需要加载网页、获取图片、运行 javascript 并打开 websockets。

我可以想象这个工作的唯一方法是,如果我运行一个浏览器(或者可能像CEF?),并“捕获”输出,并将其呈现为 H.264

我基本上是在尝试与 OBS 的 BrowserSource 做同样的事情,但我不使用 OBS 的唯一原因是我找不到无头运行它的好方法。

注意:我需要能够通过命令行来完成,完全没有头。

【问题讨论】:

  • 你考虑过无头 Chrome 吗?我还没有尝试过流式传输视频,但看起来你可以让 Chrome 来做一些事情。 stackoverflow.com/questions/44050259/…
  • 你检查过 webRTC 吗?
  • @Redanium 我没有(当然现在有)。但我必须通过 RTC 流式传输 h.264。
  • @Sidney Headless Chrome 对任何媒体都毫无用处。可悲的是,他们把它弄坏了。

标签: javascript node.js video-streaming chromium-embedded video-encoding


【解决方案1】:

我已经使用 Chromium Tab Capture API 和 Off-Screen Tab Capture API 完成了这项工作。

Chromium 将方便地处理所有渲染,包括引入 WebGL 渲染的内容,并将所有内容合成到一个漂亮整洁的 MediaStream 中。从那里,您可以在 WebRTC 调用中使用它或传递给 MediaRecorder 实例。

屏幕外选项卡捕获甚至有一个很好的独立隔离进程,无法访问本地摄像头等。

https://developer.chrome.com/extensions/tabCapture

【讨论】:

  • 我可能应该注意到我需要无头执行此操作。 (已添加到问题中)
猜你喜欢
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
相关资源
最近更新 更多