首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UDP上同步局域网中的视频回放(无主程序,相同的HW & SW)

在UDP上同步局域网中的视频回放(无主程序,相同的HW & SW)
EN

Software Engineering用户
提问于 2020-02-03 20:27:08
回答 1查看 160关注 0票数 3

我有设备没有主设备,每个设备都是平等的(虽然有一个服务器,但是它只用于第一次下载视频文件,并且可以在一个完全不同的网络中,并且不进行任何视频播放)。

这些设备都是完全相同的(整个硬件是相同的,操作系统(linux)也是一样的),我正在使用一个基于GStreamer库(在Qt中)的定制视频播放器。

我想在同一个局域网(通过UDP数据包)中同步所有这些设备之间的视频回放。我在努力为我的处境找到最好的解决方案。我尝试这样做,以便设备通过UDP广播定期发送"i‘m device“数据包,并且在开始视频回放之前,它们发送一个"i’m ready”数据包,其预定义的数字会被其他设备周期性地减少(因此,如果一个设备失去了电源,那么这个数字将下降到0,如果它返回,就会有一个重新同步)。如果所有设备都准备好了,那么它们就都开始播放了。有一些小的差异,但这是可以接受的。

以下是我关于同步的要点:

  1. 我不能使用NTP同步时钟,因为设备通常在一个无法访问任何NTP服务器的切断网络中工作。即使他们这样做了,我认为NTP也不是一个很好的方法(不是完全同步的)。这也阻止了我使用任何类型的时间戳,因为它们可以在每个设备上完全不同(它们有一个RTC模块,但万一电池变低,就会有差异)。
  2. 我可以根据需要暂停/查找视频,但我宁愿在播放过程中不要寻找视频,因为这样会产生奇怪的效果。
  3. 如果任何设备落后(或重新启动),视频需要重新同步。
  4. 我不能做视频流(我已经尝试过了,它会产生许多其他问题,比如工件,而且不会真正产生完美的同步)
  5. 视频之间没有(至少不应该有)任何明显的差距,它们是一个接一个地在一个无缝的循环中播放。
  6. 没有音频涉及,所以它不需要同步。

你对实现这个目标有什么想法?

EN

回答 1

Software Engineering用户

发布于 2020-02-03 21:05:47

对时钟偏斜的检测进行了一些研究。看看网络时延上的实时时钟偏差估计检测假消息

而且,我没有一个很好的来源,计算机运行时有非常精确的时钟。这是电池供电的RTC运行时,他们是关闭倾向于倾斜。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/404643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档