我正在尝试构建一个解决方案,将 Windows 应用程序(使用 Unity 2017 构建)的视觉内容流式传输到浏览器客户端。这些应用程序提供高质量内容,需要以 1:1 的方式以高质量和尽可能低的延迟进行流式传输。本质上,这是一个与游戏流式传输非常相似的用例,因为除了流式传输之外,还建立了客户端和流式传输应用程序之间的双向通信通道,以便用户可以与服务器上运行的应用程序进行交互。
视频直接从 Unity 中捕获,并作为原始视频传输到之前生成的 FFMPEG 进程。FFMPEG 现在将 Unity 中的数据转换为合适的流。此外,我想使用 NVIDIA Video Codec SDK 来加快该过程。
H.264/H.265 是否适合该用例?如果是,可以使用哪个服务器传输视频流,客户端可以使用什么(例如 BroadwayJS)https://github.com/mbebenita/Broadway)?如果不是,您有什么建议?
注意:我已经尝试使用以下方法实现解决方案杰斯视频影像专家(因此使用 mpeg-1/mpeg-ts、ffmpeg 和自定义服务器),但这种实现存在一些问题,例如高带宽使用率和高 CPU 使用率。我希望通过将 H.264/H.265 与 NVIDIA Video Codec SDK 结合使用,至少可以降低硬件和带宽使用率。
在客户端,不能使用Flash或Silverlight。