展示HN:使用WebRTC进行CUA模型的直播(开源软件,Apache 2.0)
嘿,HN,
我们一直在基于我们的浏览器unikernel仓库[0]进行开发,想要用更快的东西替换掉noVNC远程图形用户界面。虽然noVNC还可以,但在任何重JS的网站上(基本上除了Hacker News之外的任何网站)都非常卡顿……我们添加了使用WebRTC的远程GUI支持,具体支持如下:
- 低延迟的实时读写沙箱浏览器视图(滚动、点击、输入感觉更为流畅)
- 可以直接作为Docker容器或在Unikraft unikernels上启动
- 如果使用unikernels,能够处理实时流,启动时间快(<20毫秒)
WebRTC功能强大(支持各种媒体和数据传输),但实现起来并不简单。我们对Neko [1]库进行了调整,使其能够与我们的基础Chromium镜像良好配合。我们还根据我们的使用案例定制了前端。
希望能听到之前在流媒体项目上工作过的朋友们的想法和反馈。
[0] [https://news.ycombinator.com/item?id=43705144](https://news.ycombinator.com/item?id=43705144)
[1] 改编自: [https://github.com/m1k1o/neko](https://github.com/m1k1o/neko)
[2] [https://github.com/onkernel/kernel-images](https://github.com/onkernel/kernel-images)
* 注意:我们已经开始着手添加视频回放功能,因此我们的仓库中也已经有一些相关的源代码。
查看原文
Hey HN,<p>We’ve been building on top of our browser-unikernel repo [0] and wanted to replace the noVNC remote GUI with something much faster. NoVNC is okay but it’s super laggy with any JS-heavy website (basically anything besides Hacker News…). We added remote GUI support using WebRTC, which supports:<p>- low latency read/write live view into the sandboxed browser (scrolling, clicking, typing feel way more responsive)
- can launch directly as a Docker container or on Unikraft unikernels
- process real-time streams with a fast boot up time (<20ms) if you’re using unikernels<p>WebRTC is powerful (supports all types of media and data transmission) but not trivial to implement. We adapted the Neko [1] library to play nicely with our base Chromium image. We also tailored the frontend to our use case.<p>Would love any thoughts/feedback from folks who’ve worked on streaming projects before.<p>[0] <a href="https://news.ycombinator.com/item?id=43705144">https://news.ycombinator.com/item?id=43705144</a>
[1] Adapted from: <a href="https://github.com/m1k1o/neko">https://github.com/m1k1o/neko</a>
[2] <a href="https://github.com/onkernel/kernel-images">https://github.com/onkernel/kernel-images</a><p>* Note: we've started working on adding video replays, so there's some source code for that already in our repo too.