понедельник, 11 февраля 2013 г.

Наследие предыдущих поколений


Неизвестные большинству нынешних студентов разработки предыдущих поколений таких же студентов специализации "Компьютерные мультисреды". Я приведу в пример несколько наиболее значимых. Смотрите под катом...


Железо
1. Автосъемка

  • Простейший случай реализован и даже работает. Это PTZ-камера (управляемая по направлению и зуму) и Кинект. В поле действия Кинекта захватывается первый вошедший человек и камера следит за ним, делая плавные движения и стараясь соблюдать композицию видеокадра, как ее нужно соблюдать (а не как это делают охранные камеры). На выходе -- запись и/или трансляция в интернет.
  • Продвинутый вариант, который нужен (в нынешнем виде она долго собирается-запускается): это должен быть ящик, который приносится, например, на лекцию и легко включается на запись (трансляцию). Состав, помимо камеры, компьютера и датчика: роутер, бесперебойник, планшет для управления.  Если камера качественная, то компьютер должен захватывать HDMI или SDI. Так же, как заноченное решение, этот ящик должен записывать презентацию (вход VGA/HDMI) и выдавать или два синхронизируемых видеофайла или уже сведенный файл (два потока в одном видео).
  • Крутой вариант -- это та заявка, которую я подавал в Сколково. Там уже много и долго, потому что имеется в виду, что многокамерный съемочный комплекс, основанный на таких камерах, вообще самостоятельно будет принимать и операторские (минимально) и режиссерские (максимально) решения. То есть, не только следить за человеком в кадре, но и думать, когда переключать камеры и какие планы и ракурсы чередовать. Для этого там, среди прочего, например, предусматривалилсь такие элементы: обучение нейросети на трехмерном симуляторе, выполненном на базе игрового движка. В движок закладываются параметры помещения и тип события, что определяет поведение актеров. И дальше движок проигрывает сцены для съемочного комплекса, который получает информацию с виртуальных камер -- так он учится. Или, например, интерфейсные решения -- чтобы режиссер (если вообще он захочет включиться) мог говорить (именно говорить) с системой так же, как он дает команды операторам. Причем, система "знает" имена и роли тех, кто в кадре -- это ни сейчас, ни в среднесрочной перспективе не может сделать ни один самый навороченный комплекс. 

2. ПТС -- переносная телестудия. 
Это практически законченный продукт в единичном экземпляре. Насколько я знаю, у ребят не доделана только панелька с выводами (тупо нет нужных разъемов в магазинах). Большая коробка с техникой, которая позволяет приехать на место, поставить ее на стол, протянуть провода от камер и, включившись в сеть, вещать в интернет, "как взрослые" -- FillHD картинка, микшер со всеми наворотами, всё такое. Надежный инструмент для типовых трансляций. Так транслировали 50-летие МИЭМ и последний конкурс МИСС МИЭМ. Техника была та же, только без ящика, потому это долго разворачивать и кругом много проводов. Кстати, трансляции стали чаще проводить через Йоту -- с переходом на LTE она стала понадежнее. 

3. Вещательная точка.
Компактное, дешевое и надежное решение для обеспечения присутствия телевизионщиков там, куда им долго ехать, а надо оперативно: берем неттоп с FireWire, берем бытовую DV-камеру, получаем вещательную точку. Принцип действия такой: в кабинете начальника, который, чуть что должен быстро предстать перед камерами, ставится такая штука, при этом компьютер можно хоть в стену замуровать, на виду только камера. Компьютер всегда включен, камера по умолчанию выключена. Если включить камеру, то она передает по FireWire картинку, активизируется трансляция и одновременно запись. Трансляция идет в сжатом виде, запись -- в полноценном DV. Если камеру выключить, то трансляция прекращается, а запись (тяжелая, 13 гб/час) начинает передаваться на указанный сервер FTP. При этом сам компьютер, даже когда камера выключена, имеет маячок и сообщает серверу о своей готовности к работе, что отражается на специальном сайте. 
Это полностью выполненный проект: заказ одного московского правительственного департамента для общения с телевидением. А вот и слайдик про эту разработку. 
Второе назначение той же конструкции: поехали на съемки, записали не на кассету, а на такую коробку, потом в любом месте включили ее в сеть и запись попала точно на сервер -- при верной же возможности эта коробка отправит запись на указанный адрес в сети. Так можно предотвратить потери записей (что у нас бывало) и опаздания (забыл скинуть, унес кассету ...).


4. Архивное хранилище.
Про это я рассказывал на лекции: взамен хранения винчестеров с данными видеоархива в тумбочке, можно воткнуть их в компьютерный корпус и управлять подключением, давая на нужный питание. А чтобы им было проще в таком количестве подключиться к материнке, их подключают не по SATA, который точка-точка и не делится, а по USB, который легко разветвить. Дальше просто: в корпус компьютера помещается 9 плат по 6 винчестеров. Итого 54. И там же питальник и небольшой компьютер. Дальше по сути -- очень много разветвителей и преобразователей USB-SATA. :) Отличие от аналогичных по плотности (45 винтов) китайских поделок в том, что здесь винты включаются только тогда, когда они нужны. Вся конструкция рассматривается в виде серверного шкафа 42RU, где установлено 9-10 таких ящиков по 4RU, свич и бесперебойник. Легко посчитать, что 10 ящиков по 54 винчестера по даже 2 Тб каждый -- это уже больше петабайта. Немыслимая при нынешних технологиях хранения плотность, но главное здесь дальше. Фишка и безусловное преимущество в том, что по всем внешним проявлениям, кроме размера и веса, этот монстр должен быть не страшнее электрочайника: по тепловыделению, шуму и энергопотреблению. Значит, ему не нужна серверная, а это в корне меняет его перспективы на применение в малых и средних компаниях. Такую штуку можно хоть в общей комнате поставить или в кладовке. Видеостудии или крупные системы видеонаблюдения, архивы -- все это сейчас использует RAID, а это огромные электрозатраты, охлаждение, шум, ... в общем, не по назначению. Вот базы данных или хостинг на таком сервере нельзя хранить. 
Естественно, я описал простой случай, как для Совы, но вообще там потребуется довольно увесистая программная прослойка и кеширующий сервер для сносной работы в качестве хранилища "общего назначения".

Вот такие железные проекты.
Программные проекты: 

1. Viditory.net -- заморожен из-за технологической устарелости, т.к. основан на Flash. Ближайший аналог -- Google  Hangouts. Но Видитори даже в реализованных функциях много мощнее, а сколько там всего "имелось в виду".... Вещь бесподобно полезная, но требуется переписать с нуля и на другой основе. Огромный проект, легко разделяемый на маленькие, но требует вовлеченности и длительного внимания.

2. SOVA.auditory.ru -- видеоархив. Хотя его и написал второкурсник (Дима Андреев, ныне разработчик в Яндексе), архив по простоте и элегантности сравним разве что с Шарой (третекурсник написал, Дима Шурупов, ныне владелец бизнеса и вообще). Вот именно для нее вышеописанное  хранилище было бы идеальным дополнением. Но сейчас время облаков и мы ищем способ, как перетащить место хранения на один из облачных сервисов, я тестирую Bitcasa, но так просто поменять адрес хранилища не выйдет -- в программе надо переписать модуль с логикой обработки. Если кратко, то там есть папка для новых поступлений и папка для хранения этих файлов. Новый файл переименовывается согласно порядковому номеру в архиве, кладется в основное хранилище и потом с него считается SHA1 контрольная сумма и кодируются превьюшки (три потока H.264 и 2 JPEG (большая картинка и раскадровка). Если оставить как есть, то все эти операции будут производиться с удаленным хранилищем, это будет длиться месяцами. Надо немного поменять логику и класть во временную папку, лочить там до окончания всех операций и начинать копировать, одновременно считая все превьюшки и суммы. Контрольная сумма нужна для идентификации дублирующихся файлов. 
Другая проблема Совы -- она создана во времена DV-видео. Этот формат уходит в прошлое вместе с камерами. Там нужно заменить обработчик и добавить мультиформатность. Без этого она смысла не имеет в будущем. Ну и веб-интерфейс там конечно страдает. Все равно без нее туго, мы только во вторник начнем снова наполнять ее видео после гибели сервера.

3. MIEM.TV -- внутреннее телевидение МИЭМ. Это система управления телевизионными панелями. Она в нынешней реализации жестко привязана к Сове, потому на телеках сейчас или пусто или фотки. Там есть расписания и можно их применять к отдельным телекам или группам телеков, есть фоновые картинки из нашей галереи -- они показываются, когда нет видео. Интересная штука, простая и клевая. Но: надо отвязаться от Совы и добавить всякие YouTube, надо написать клиенты для телевизоров, потому что флеш и браузер -- это нестабильно и устарело. Нужны клиенты по никсы и винду, причем, с учетом оборудования (с флешем нарвались, что под никсами не работает видеоускоритель и видео показывается по кадрам). Там стоят неттопы на Atom (ION/ION2). А еще так и напрашивается инфографика и навигация -- отдельное направление, которое мы имели в виду, но даже не пытались начинать делать в МИЭМ.ТВ.

4. Программные видеомикшеры. Один в 2009 сделал Андрей Булатов, тогда он был на 4 курсе. Сгонял с нами на трансляцию и понял, что так жить нельзя и через пару недель показал видеомикшер на базе простого ноутбука и набора никсовых программ во главе с DVSwitch. При этом в чистом DV обрабатывались видеокамеры, шла запись выходного сигнала, если камеру надо было поставить далеко, то ее можно было подключить к другому компьютеру и соединиться по обычной локалке, а выход можно было так же передать на удаленный компьютер для вывода на телек или проектор. Отличная штука, но не без недостатков (DV-камеры не страдают стабильностью подключения, вообще вся эта конструкция иногда шалила, а доводить до ума его духу не хватило).
Другой пример микшера : одна большая спортивная организация заказала сделать удаленный микшер для камер в спортивном комплексе. И они ведут трансляции -- в Самаре стоят камеры, в сети микшер. Режиссер может быть где угодно, зрители - вообще где угодно :) 
И так далее.


Есть еще одна разработка, я ее упоминал на лекции -- eBox. Маленький компьютер, цепляется на камеру DV, пишет видео на флешку, его же без сжатия передает по Wifi 802.11n, заодно обеспечивает двухстороннюю голосовую служебную связь и талли-индикацию (лампочка на камере, которая в эфире). Может работать как по радио, так и по проводной сети. Тест в лабораторных условиях прошел, но на деле модуль вайфай оказался плохо совместим по дровам с линухом, который обслуживает эту систему и как-то все загнулось, автоматизировать его старт тоже поленились, ну так и сошло на нет. Сейчас эта штука устарела, т.к. съемки ведутся на камеры HDMI/SDI и этот сигнал уже передать по радио сложно (13 гбит/с против 35 мбит/с). 

Вот вкратце, что у нас в заделе. Не считая прочих более мелких разработок, типа того же видеоуправлятора, который мучал ваш сокурсник Христенко. Тоже, кстати, полезная и понятная в учебных реалиях вещь -- на ней проще включиться в дело, чем на суперпроектах. Обратите внимание, все эти разработки сделаны студентами 2-4 курсов. Даже не 5го. Разумеется, все они прошли в дипломы, на некоторые есть патенты, издано множество статей и так далее.


1 комментарий:

  1. Что там с подключением Wi-Fi-свистков к ебоксу на подобии dlink dwa 127 ?
    http://www.dlink.ru/by/products/150/1486.html

    Дрова:
    http://www.sakryukin.ru/?module=articles&c=articles&b=6&a=7

    ОтветитьУдалить