我有以下任务:在导演的电脑上组织几位玩家的转播,将图像切换到,简单地说,就是当前有更有趣的游戏。
显而易见的解决方案是建立一个 RTMP 服务器并向其广播。我们试过了。图像质量明显与广播的比特率相关,但流不同步,也没有办法同步它们。据我所知,它只是没有内置在 RTMP 协议中。
我们还尝试通过UDP、SRT 和 RTSP协议进行流式传输。我们得到了最小的延迟,但图像非常模糊,并且丢失了数据包中的伪影。感觉所有这些格式都在试图实现恒定的 FPS 并牺牲质量。
我们需要什么:
- 高质量的图像。
- 可以丢弃破碎的帧(可以没有恒定的 FPS)。
- 延迟并不重要。
- 流应在一两秒内同步。
假设在 UDP 上广播应该是一种解决方案,但需要某种中间缓冲区来提供必要的广播条件。但我不知道该怎么做。我假设我们需要一个中间 ffmpeg 实例,它将读取传入的流,缓冲它并将结果发布到某个本地端口,导演的 OBS 已经从该端口拍摄了图片。
有什么解决方案可以实现我们的目标吗?