我目前正在使用Socket.io来排序" stream"从Java游戏应用程序到ReactJS网站的视频。它很慢,有点笨拙,但它确实有效。
程序通过使用Java截取游戏截图,将其压缩为JPEG,然后通过Socket.io将压缩的Base64字符串发送到服务器来工作。然后,服务器将此Base64字符串发送到Web客户端(ReactJS),然后使用CSS将Base64字符串呈现为图像。
此方法有效。我可以控制帧速率(在某种程度上......如果我使用60 FPS或更高的速度,它会通过屋顶运行我的CPU),我绝对可以控制JPEG的压缩(图像的质量)。
虽然确实有其局限性,但我仍然相信有更好的方法可以解决这个问题。我已经在google上查找了将视频从一个应用程序流式传输到另一个应用程序的方法,但我还没有找到一个。
在ReactJS中,在Java客户端中将游戏流式传输到网站的最佳方法是什么?
答案 0 :(得分:0)
这不是一种方法!
流式编解码器比JPEG屏幕截图更有效。例如,任何电影压缩算法都会根据可用带宽调整自身,并且不会保留所有帧。在你的情况下,你正在渲染游戏的所有帧,这会破坏你的机器性能(JPEG渲染比渲染正确的视频更耗电)。
另一件事 - 您应该通过发送数据流而不是使用base-64来直接传输内容,从而提供持续的视频素材流。
所以,最终解决方案看起来有点像:
这些链接可能有助于开始:
此主题中的内容:Stream video in Java