我有设备没有主设备,每个设备都是平等的(虽然有一个服务器,但是它只用于第一次下载视频文件,并且可以在一个完全不同的网络中,并且不进行任何视频播放)。
这些设备都是完全相同的(整个硬件是相同的,操作系统(linux)也是一样的),我正在使用一个基于GStreamer库(在Qt中)的定制视频播放器。
我想在同一个局域网(通过UDP数据包)中同步所有这些设备之间的视频回放。我在努力为我的处境找到最好的解决方案。我尝试这样做,以便设备通过UDP广播定期发送"i‘m device“数据包,并且在开始视频回放之前,它们发送一个"i’m ready”数据包,其预定义的数字会被其他设备周期性地减少(因此,如果一个设备失去了电源,那么这个数字将下降到0,如果它返回,就会有一个重新同步)。如果所有设备都准备好了,那么它们就都开始播放了。有一些小的差异,但这是可以接受的。
以下是我关于同步的要点:
你对实现这个目标有什么想法?
发布于 2020-02-03 21:05:47
对时钟偏斜的检测进行了一些研究。看看网络时延上的实时时钟偏差估计和检测假消息。
而且,我没有一个很好的来源,计算机运行时有非常精确的时钟。这是电池供电的RTC运行时,他们是关闭倾向于倾斜。
https://softwareengineering.stackexchange.com/questions/404643
复制相似问题