Итак, давайте начнем наше захватывающее путешествие в мир синхронизации. Сперва давайте познакомимся с тем, что нас ожидает и с чем нам придется иметь дело.
Любую систему синхронизации можно описать простой схемой:
MASTER – SYNC – SLAVE
MASTER – это главное управляющее устройство.
SLAVE – это подчиненные исполняющие устройства.
В принципе, этой топологией можно описать любую систему: световая консоль —> световые приборы, звуковой пульт —> система звуковоспроизведения, видеосервер —> видеопроекторы и т. д. Такое базовое определение необходимо для того, чтобы понимать, что чем управляет и как.
Если дать общее определение, то синхронизация – это канал связи между главными и подчиненными системами, который определяется протоколами и типами синхронизации. При взгляде на современную шоу-индустрию мы обнаружим, что количество типов оборудования, производителей, новинок и каждый год, огромное количество. Как же все это соединить в одну систему, спросите вы? Ведь у каждого производителя свои протоколы, оборудование, стандарты. Но все не так страшно. Когда-то производители делали свои системы закрытыми, чтобы они могли работать только с выпущенным ими оборудованием. Сейчас ситуация изменилась в лучшую сторону. Так как технологии не стоят на месте и постоянно разрабатываются новые протоколы и способы передачи данных, производители давно подметили, что намного целесообразнее делать поддержку универсальных протоколов в своих технических и программных решениях. И протоколы синхронизации не стали исключением. Исходя из этого, не имеет значения, насколько разные системы вы используете. Если они умеют работать с протоколами синхронизации, значит, все эти системы могут работать вместе.
Мы обязательно затронем каждую составляющую общей системы MASTER SYNC SLAVE, но сейчас поговорим о классификации протоколов и интерфейсов синхронизации. Поняв это, вы с легкостью сможете определять, какой протокол и какой интерфейс передачи данных необходим для каждой из поставленных задач.
Итак, как понятно из названия, временной тип протоколов синхронизации обусловлен временем. Это означает, что основная задача такого протокола – кодировать передаваемое время. Все протоколы этой группы могут кодировать данные реального времени, кадры, секунды, минуты, часы и даже дату, в отличие от Time Clock, который находится в другой группе, так как этот протокол кодирует не время, а аудиобит.
Все вы, скорее всего, сталкивались с таким понятием, как BPM (Beats Per Minute). Этот показатель определяет скорость исполнения композиции. По сути, это метроном, который задает такт воспроизведения. Именно он и передается по протоколу Time Clock. Основная задача этого протокола – синхронизировать такт мастер-устройства и подчиненного устройства без какой-либо привязки ко времени.
Некоторые протоколы синхронизации могут передавать не только время таймкода, но и сообщения команд, поэтому они заняли место как в первой, так и во второй группе (например, протокол TCnet).
Хочу еще немного затронуть особенность VITC. Это временной протокол, который пишется на ленту в пространстве между кадрами. Основная сфера его применения – телевидение. В шоу-индустрии не так много систем, которые могут использовать этот протокол, и поэтому он практически не применяется для синхронизации. То же самое и с Time Clock. Из-за того, что он не передает реальное время, широкого применения в шоу-синхронизации этот протокол также не нашел.
Командные типы протоколов передают команды. Все очень просто и понятно. Единственное отличие между ними – это гибкость и вариации команд, которые может передать тот или иной протокол. К примеру, MIDI note может передать только команду, в которой содержится информация о том, какую ноту воспроизвести и c какой громкостью. Также типы протоколов MIDI CC (Control Change) и MIDI PC (Program Change) очень схожи по простоте с MIDI note. Отличие только в том, что сообщения этих типов меняют настройки звукового синтезатора.
В то время, как MSC (MIDI Show Control) может передать конкретную команду конкретному устройству (которых в сети может быть несколько), MMC (MIDI Machine Control) может передавать команды на воспроизведение, остановку, выбор трека и время старта для профессиональных плееров и генераторов. А вот OSC (Open Sound Control) вообще никак не ограничивается синтаксисом передаваемых команд. Но об этом чуть позже.
Генеративный тип протоколов появился совсем недавно. Как вы могли заметить, в него входят все типы протоколов, которые базируются на командной идеологии. В чем же отличие? Чтобы понять это, давайте снова вернемся к временным протоколам. Все эти протоколы базируются на постоянной онлайн-синхронизации. Это означает, что сообщения о времени поступают от мастер-устройства на исполняющие устройства постоянно с определенной частотой, и синхронизация работает до тех пор, пока идет генерация сообщений. В случае командных типов протоколов синхронизация происходит только в момент отправки сообщения по конкретному событию, которое никак не привязано ко времени, то есть постоянная синхронизация отсутствует.
А вот генеративная синхронизация базируется на идее постоянной синхронизации как временной тип, но реализуется через командные протоколы, то есть сообщения о командах от мастер-устройства к исполняющим устройствам передаются постоянно с определенной частотой. Для чего это может быть нужно? Самый банальный пример – передача звукового уровня по цифровому протоколу и синхронизация определенных событий по громкости. Или передача координат для синхронизации положения луча на сцене.
Мы также можем заметить в генеративной группе такие типы, как ArtNet, sACN и TCP/UDP. ArtNet и sACN – это протоколы, которые используются в световой индустрии, но в силу своей высокой скорости и простоты они нашли широкое применение и в других направлениях шоу-индустрии. Их часто используют в проектах, где необходимо передать генеративные данные.
TCP (Transmission Control Protocol и UDP (User Datagram Protocol)—это низкоуровневые транспортные сетевые протоколы, на которых базируется большая часть всех протоколов, передающихся через Ethernet. Например, ArtNet базируется на протоколе UDP. Позже мы разберем особенности этих протоколов и то, как они помогают нам, когда мы работаем с сетью.
Вообще, TCP/UDP-протоколы нельзя ставить в один список с высокоуровневыми протоколами синхронизации, но тем не менее я включил эти базовые протоколы в генеративный тип, так как существует еще множество протоколов синхронизации, которые могут использоваться в различных направлениях шоу-индустрии, а также может возникнуть необходимость создать новый протокол для реализации необходимых задач.
Один из ярких примеров – система управления ETC Eos, которая позволяет принимать и отправлять UDP-строку. Как это может быть реализовано в системах синхронизации, мы разберем чуть позже, когда будем говорить о технологиях передачи данных стандарта Ethernet, а также когда мы ближе познакомимся со всем функционалом системы управления ETC Eos.
От того, какой тип протокола мы используем, зависит тип синхронизации с конечными клиентами. Чтобы понять принцип работы каждого типа протокола, давайте разберем три простейших примера.
Солнечный день в лесу. Вини Пух занят своими делами. Вини отлично знает, что ровно в час дня наступает время обеда. Утро пролетело быстро и вот на часах ровно час дня и Вини спешит полакомиться медом, ведь такое совсем ни как нельзя пропустить! Это пример временной синхронизации.
Пятачок решил помочь Кролику. Нужно было вскопать целый огород с морковкой. Кролик сказал Пятачку, что закончить свою работу он может, только тогда, когда он придет и даст команду: «Работа закончена». Бедный Пятачок не знает, когда он закончит, морковки столько что ему и за день не управиться, ему приходиться работать и работать, пока Кролик наконец не вернется. Это пример командной синхронизации. Кстати, с Пятачком все в порядке, Кролик все же пришел и дал команду: «Работа закончена!».
Пяточек шел с Вини в гости к Кролику. Вини знал где живет Кролик, а Пятачок нет, поэтому все дорогу мучал Винни вопросами:
Мы пришли?
Нет.
А сейчас?
Нет!
А сейчас?
И сейчас нет!
А сейчас?
Тоже нет!
…
К счастью, дорога к Кролику заняла не много времени и друзья благополучно дошли. В итоге на свой вопрос Пятачок получил утвердительный ответ. Это пример генеративной синхронизации.
Каждый протокол синхронизации для передачи данных использует конкретный физический интерфейс. Более подробно особенности каждого интерфейса мы затронем в главе «Оборудование и коммутация», а сейчас давайте познакомимся с общей классификацией.
Интерфейс LTC (Longitudinal Time Code) – это, по сути, простой балансный аудиокабель, который может передать только линейный таймкод SMPTE. LTC представляет собой закодированный цифровой сигнал, передаваемый по аудиоканалу.
MIDI-интерфейс немного шире по функционалу: это цифровой серийный интерфейс передачи данных. Так как он цифровой, то можно создать для передачи по нему любые протоколы. Что и делали производители много лет назад. В таблице указаны только те протоколы, которые прижились и нашли широкое применение в шоу-индустрии. Исходя из названия большинства протоколов, можно понять, на каком интерфейсе они базируются – MTC (MIDI Time Code), MIDI note, MIDI Show Control.
Ethernet – довольно универсальный интерфейс, который применяется практически везде, особенно в профессиональных сферах. Этот интерфейс используют все протоколы, которые базируются на TCP/UDP. И тут же вы можете заметить новый протокол – RTP-MIDI. По сути, это все тот же MIDI, только передается он уже по Ethernet.
BLE-MIDI очень схож с RTP-MIDI. Его ключевое отличие в том, что этот протокол использует беспроводной интерфейс передачи данных Bluetooth.
SDI – это универсальный коаксиальный интерфейс передачи цифрового видеосигнала, который также передает и VITC-таймкод. Существует некоторое количество оборудования, которое может читать по SDI-интерфейсу таймкод, но в шоу-индустрии для синхронизации он практически не используется, поэтому подробно разбирать его мы не будем.
Подводя итог, можно коротко сказать, что основное различие между протоколом и интерфейсом в том, что протокол— это то, что мы передаем, а интерфейс – через что мы передаем. Протокол – это правила, по которым описываются сообщения, а интерфейс – это физический канал связи, по которому эти сообщения передаются.
Исходя из этого, совсем не грамотно называть физический XLR- порт синхронизации SMPTE-портом, так как это название стандарта кодирования времени, а физический интерфейс передачи таймкода SMPTE называется LTC. Ведь тот же самый SMPTE, передаваемый по интерфейсу MIDI, называется уже MIDI Time Code (MTC).
И еще одна особенность: SMPTE в оригинальном формате кодирования передается только через LTC. А через все остальные интерфейсы передается его адаптированная под конкретный интерфейс передачи данных форма. Эту особенность мы сможем рассмотреть при сравнении линейного и MIDI-таймкода в следующей главе.
Теперь, когда информация структурирована, давайте разберем особенности каждого протокола и интерфейса: как их генерировать, как их принимать, как избежать ошибок и, самое главное, как гарантированно запустить синхронизацию.
Таймкод в шоу-индустрию пришел с телевидения. И называется он SMPTE. Аббревиатура расшифровывается как Society of Motion Picture and Television Engineers. Это ассоциация, которая приняла единый стандарт кодирования времени, разработанный в 1967 году. Чуть позже к ним присоединился EBU (European Broadcasting Union). Сейчас существует множество других стандартов записи таймкода, которые намного удобнее и функциональнее, но старый добрый SMPTE до сих пор жив и широко используется в шоу-индустрии.
Первая технология записи движущегося изображения появилась в кино. Изображение писалось на кинопленку кадр за кадром. Это был довольно большой прорыв. Позже, в 1920 году, на свет появилось телевидение, которое очень активно развивалось. Но мало кто знает, что долгое время все телевизионные программы передавались в прямом эфире! Тогда не существовало технологий записи и воспроизведения изображения для ТВ-трансляций. Первые ТВ-камеры были сделаны на основе иконоскопа. Это как кинескоп, который используется для формирования изображения, только наоборот: он преобразует видимый свет в электрический сигнал, который напрямую транслировался в эфир. Способов для записи такого сигнала тогда не существовало. Конечно, позже появились специальные технологии записи и трансляции телепередач и фильмов, но принцип оставался тот же самый: кинопроектор проецировал изображение напрямую в телекамеру. Правда, при таком способе качество изображения падало в разы.
AMPEX quadruplex VR-1000A, первый коммерчески выпущенный в конце 1950-х годов видеомагнитофон, использующий поперечно-строчную ленту с открытой катушкой шириной 2 дюйма
В 1956 году на свет появился первый видеомагнитофон (Video Tape Recorder), который мог записывать изображение и звук в аналоговом формате на ленту и воспроизводить эту информацию. Позже появилась необходимость также записывать информацию о времени, которая была бы синхронна с видеоизображением. Так как на видеоленте было несколько дорожек, предназначенных для записи аудио, одна из этих дорожек использовалась для записи таймкода, где в аналоговом формате был записан SMPTE-код. Такой способ записи SMPTE называется Longitudinal Time Code (LTC), или линейный таймкод. Такое название было дано потому, что информация в этом формате записывается бит за битом последовательно, так как по-другому на ленту информацию не записать. Спустя многие годы эта технология записи таймкода начала использоваться в шоу-индустрии.
SMPTE – это время, которое начинается с нуля. Так же, как и в обычной жизни, в SMPTE есть часы, минуты и секунды. Максимальное значение SMPTE – 24 часа, как и в сутках. Но есть и отличие от привычного для нас измерения времени – это кадры. Терминология пришла из кино. Так как одна секунда видео содержит в себе определенное количество кадров, то и временной код определяется видеокадрами. Но количество кадров может быть различным в зависимости от формата видео. Это применимо также для SMPTE, поэтому он может быть разным.
О проекте
О подписке