Два идентичных Форвард ТП. Второй отстает постоянно.

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: ElenVR, Людмила, PR

Ответить
mikhail79
Сообщения: 447
Зарегистрирован: 03 май 2006 09:04

Сообщение mikhail79 »

Пока использую NTP от датчика времени Профитт PТТ-4096 там установлен NTP сервер Stratum 1. А клиент от софтлаба к нему не цепляется. Sltime который.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Не цепляется и не сможет подцепиться в силу особенностей реализации NTP у MS.
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Мы пытаемся решить вопрос синхронизации времени между двумя компьютерами уже очень давно. К сожалению до сих пор не удалось получить на 100% надежного способа синхронизации. Мы уже давно отказались от попыток рекомендовать пользователям синхронизовать системное время. Это не значит, что этого сделать нельзя - в нашем форуме есть пользователи, у которых работает не системная синхронизя времени с очень высокой точностью. Однако для простых пользователей это оказвается слишком сложной проблемой. Дело в том, что для системы Windows принципиально важно, чтобы время между компьютерами в сети не отличалось более, чем на 5-10 секунд, поэтому при очень многих действиях (например, при установке очередного апдейта) система "на всякий случай" включает стандартную системную синхронизацию времени. В результате в совершенно неожиданные для пользователя моменты времени работающая ранее точная синхронизация времени (например, по NTP), переключается на "неточную" системную синхронизацию.
Поэтому мы сделали специальный сервер времени SLTimeServer, который сейчас умеет синхронизоваться через NTP или LTC (звуковой таймкод). Однако на практике оказалось, что система Windows во многих ситуациях первой захватывает порт для поддержки NTP. В результате у большинства пользователей нашему серверу не удается работать с NTP и синхронизация не работает. То есть проблема не в том, что мы не поддерживаем NTP, а в том, что система первой начинает работу с NTP и не дает нам возможности использовать NTP.
В результате, те кто может отключить системную синхронизацию времени, могут сами настроить какого-либо NTP-клиента для синхронизации системного времени и им не нужно использовать наш SLTimeServer. Ну а если этого сделать не удается, то и воспользоваться NTP также не удается.
В результате сейчас мы рекомендуем использовать LTC для синхронизации времени в программе OnAir и в титровальном элементе "Часы".
mikhail79
Сообщения: 447
Зарегистрирован: 03 май 2006 09:04

Сообщение mikhail79 »

Проблема у меня так и не решилась, время теперь синхронизируется абсолютно, при помощи утилиты сторонней. Но дело не в том.

Видимо проблема в версии windows. Точнее работы windows с сетью. До поры до времени стояла пара серверов, один на server2000, второй на XP. Решил постепенно перейти на 7. Второй сервер переустановил, железка работает все ok. Но тут же начались проблемы с задержкой команд, посылаемых от 1 сервера ко 2.

Методом тестов сети, выяснилось, что при пинге менее 1 мс проблем нет, а если он более 4мс то уже начинается разбег.
С XP такой проблемы не было. Сегодня верну на место винду старую, гляну что изменится.
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

А можно пояснить, в чем именно проблема, а то у меня не стыкуются два утверждения:
время теперь синхронизируется абсолютно
и
уже начинается разбег
Это часы в компьютере разбегаются или что-то другое (например, исполнение команды ручного старта)?
mikhail79
Сообщения: 447
Зарегистрирован: 03 май 2006 09:04

Сообщение mikhail79 »

В начале ветки я жаловался на ту же проблему несинхронного вопроизведения, разбега двух серверов. Все ссылались на синхронизацию времени. Но теперь стало ясно, что время здесь ни при чем. Часы не разбегаются, они зацеплены к одному источнику. Разбег идет в процессе воспроизведения материала по плей-листу. Допустим старт 1 раз, и непрерывный плей на 2 суток выходных. В итоге наблюдается разбежка на несколько секунд.

Переустановил windows с 7 на XP - пинг между ведомым и ведущим сервером уменьшился существенно, пока разбега нет.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Но теперь стало ясно, что время здесь ни при чем.
На чем основана 100% уверенность в этом?
Часы не разбегаются, они зацеплены к одному источнику.
"Зацеплены к одному источнику" и "не разбегаются" - не тождественные утверждения. Чтобы быть уверенным, что часы не разбегаются, нужно чем-то измерять время на обоих компьютерах, параллельно записывать это время в какой-то лог-файл (например), смотреть в нем времена с каждого из компьютеров, а потом делать какие-либо выводы.

Как вы проверили, что время не разбегается? На глаз? Или смотрели SLLog на обоих компьютерах и сравнивали время старта выхода каждого файла в расписании? Или как-то еще?
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Скажите, а платы у Вас стоят в генлоке к одному источнику видеосигнала? или стоят "мастером"?
mikhail79
Сообщения: 447
Зарегистрирован: 03 май 2006 09:04

Сообщение mikhail79 »

Ясно стало, потому что проблема решилась заменой ОС.

Оба сервера синхронизируются от тайм-сервера профитт каждые 60с. Логи гляну несомненно. Пока наличие разбега глазом смотрел.

Генлок от профитовского синхрогенератора был, теперь временно отсутствует, по причине перестройки аппаратной. С ним также был разбег. Но он помогал справляться с синхронностью переключения матрицы.
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Генлок плат также важен, как и синхронность системных часов! Если платы не синхронны, то даже при абсолютной синхронизации системных часов будет наблюдаться разбег в последовательном воспроизведении роликов.

Давайте я объясню, как работает программа OnAir с точки зрения синхронизации времени.
Программа отслеживает два времени - время в плате и системное время. Видеофайлы воспроизводятся по часам платы, то есть если в ролике 10000 кадров, то он закончит воспроизведение через 10000/25=400 секунд по часам платы. Поскольку часы платы и системные часы не синхронны друг с другом, то за это время системные часы могут уйти не на 400 секунд, а на 400,1 секунды. Соответственно при старте очередного ролика программа принимает решение, какие часы считать "главными". Если главными считать системные часы, то надо начать играть следующий ролик на 0,1 секунду раньше, то есть на 0,1*25=2,5 кадра раньше. Округляем до целого числа кадров - на 2 кадра раньше. Но в этом случае два последних кадра предыдущего ролика не проиграются платой! Это уже называется "брак в эфире"! Поэтому при каждом старте очередного ролика программа OnAir сравнимает разницу в ходе системных часов и часов платы и "подправляет" время старта очередного ролика по системным часам, если эта разница невелика (до 2-3 кадров). Если же разница превышает порог в 2-3 кадра, то старт выполняется по системным часам и в логе отражается, что реальное время воспроизведения не равно длительности ролика.
Таким образом два компьютера с разными платами могут одинаково вычислять и корректировать время старта только в том случае, когда у них одинаково идут часы на платах и системные часы. Одинаково - это значит, что разница в ходе всегда меньше одного кадра! Чтобы при округлении времени до кадра всегда получался одинаковый номер кадра. Для часов в платах это можно обеспечить только генлоком к одному и тому же видеоисточнику.

В идеальном случае надо от одного синхрогенератора подавать видеосигнал на входы плат (для генлока), а сигнал LTC подавать на звуковой вход компьютера (или платы FD300), чтобы OnAir (или SLTimeServer) велся от этого LTC. Тогда и часы платы, и часы в OnAir-е будут абсолютно синхронны.
Ответить