Какой алгоритм / подход использовать для синхронизации нескольких видеоплееров

Мотивация: Я сейчас пытаюсь синхронизировать два видео на двух сетевых расписах. Я пробовал прямую трансляцию с рабочего стола (http и udp), но каждый raspi по-прежнему открывал поток с заметной задержкой. Затем я попытался установить vlc на raspi и синхронизироваться с рабочим столом vlc, но это тоже не сработало. Я попытался использовать сценарий оболочки для запуска omxplayer в одно и то же время на обоих raspis, и это тоже не удалось. Наконец, я использовал скрипт C, чтобы запустить два omxplayer практически в одно и то же время, что также не удалось. В конечном счете, я неЯ думаю, что можно контролировать, когда omxplayer начнет воспроизводить видеофайл.

Текущий прогресс: Поэтому сейчас я модифицирую omxplayer 'Код для синхронизации двух omxplayer с использованием сокетов, но я хочу знать, какой подход использует vlc при синхронизации своих видео-клиентов, чтобы не изобретать колесо. Я могу ошибаться, но, заметив подробные выходные данные и операторы отладки, я заметил, что один проигрыватель будет терять время по сравнению с другим, так что при воспроизведении видео эта разница будет увеличиваться и через 2-3 минуты превысит 200 Миз. Я нахожу это чрезвычайно тревожным. Это будет означать, что через 2 часа разница будет60*200ms=12000ms или около12s, Я думал, что точность современных вычислений будет больше похожа на точность атомных часов, теряющих, может быть, 1 с после 1000 часов отснятого материала, поэтому я подумал, что будет достаточно просто синхронизировать каналы один раз.

Вопрос: Если разные игроки должны постоянно синхронизироваться, как это делает что-то вроде vlc?

Он ждет, пока не произойдет заметная задержка и перемотка вперед / назад?Быстро ли перематывать вперед / назад, когда есть какая-либо разница?Влияет ли само исправление этой разницы (т.е. сигналов разъема) на дальнейшие задержки?Поскольку переход к отдаленному времени в видео занимает больше времени, чем непрерывное воспроизведение, как он предсказывает, сколько секунд можно перематывать вперед / назад?Я слышал много людей, говорящих отиков (не насекомые), а про то, как мастер vlc рассылаеттиков, Тем не менее, что я неЯ не понимаю, как эти тики интерпретируются: вы временно останавливаете всех остальных игроков до следующего тика или модулируетескорость видео как-то (если это вообще возможно на лету)?

НОТА: Я не передаю потоковые видеофайлы, так как они все доступны удаленно через NFS на каждом из raspis.

Ответы на вопрос(1)

Ваш ответ на вопрос