четверг, 30 января 2014 г.

Проекты на весенний семестр

В блоге ваших коллег со второго курса есть список проектов, которые были предложены им в ноябре. Часть из них ведётся, другая часть не сдвинулась. Некоторые были продублированы на 4 курсе. Обзор ситуации на текущий момент вы можете прочитать здесь.

Предлагаю вам обзор всех проектов, безотносительно их выполнения студентами 2 курса. Нумерация соответствует принятой у них. В этом списке -- старые проекты, которые были предложены студентам и некоторые из них находятся в работе (об этом указано в описании).

Читаем под катом...


1.1. VoIP телефония.


Сразу конкретный кейс: есть домашний номер московской городской сети, есть интернет и есть необходимость пользоваться этим номером в совершенно другом месте, где тоже есть интернет. Более того, хотелось бы иметь доступ на вход и выход так же и с клиентов на мобильном телефоне и компьютере.

Оборудование: 


  • LinkSys 3102 -- оцифровка телефонной линии
  • LinkSys SPA 9000 -- сервер VoIP
  • LinkSys не помню модель -- VoIP трубки
В качестве сервера может так же выступать Asterisk. 

Задача: 

  • Оцифратор устанавливается на домашнем номере, подключается к интернет. Сервер ставится на прямом IP (это я обеспечу). Телефонные IP-трубки и программные клиенты настраиваются на этот сервер.
  • При поступлении звонка срабатывает: а) прямая переадресация на указанную(ые) трубку(и). б) голосовое меню с донабором номера. в) условная переадресация (при не-ответе вызов другой трубки).
  • Звонок с трубки производится через городскую линию, если она не занята.
     
  • Рассмотреть варианты голосовой почты, автоответчика, очереди звонков.
  • Подключить аккаунт Sipnet (предоставляется) для исходящих звонков, настроить план звонков для выбора оптимальной тарификации (городские московские и питерские по Сипнет бесплатно, остальные -- надо сравнивать тарифы).
  • До представления проекта оборудование и программы должны быть установлены на местах использования, демонстрация проводится на защите. 
  • Срок: до 10 апреля 2014. Обратите на это внимание!
Альтернативный вариант решения -- использование Asterisk (более универсальный способ. Сервер с установленным астериском предоставляется, но тесты ведете на своём).

1.3.* Элементы офисной ИТ инфраструктуры

Этот проект подразумевал изначально комплексное создание из имеющегося доступного оборудования модели офисной сети с неочевидными простому пользователю элементами, но у нас не очень подходящие для этого условия и полное отсутствие поддержки вуза в обеспечении любых проектов такого рода. Поэтому из всего множества задач будем исходить из того, что я притащил на кафедру и что может оказаться актуальным: 

Резервное копирование и архивирование:

В студии есть целых три ленточных накопителя LTO-2 и LTO-3. Они подключены к двум компьютерам. Требуется сделать обзор (не первые 10 ссылок в гугле, а настоящий) существующих программ, работающих с этими стриммерами и поставить подходящие.

Требования к системе резервного копирования и архивирования:
  • Обязательное: Наличие в базе информации о записях на всех кассетах. 
  • Возможность получения этой информации внешними программами и базами.
  • Возможность отправки задания на копирование/восстановление извне (другой программой/с сайта).
В качестве программ рассмотрите библиотеки, если таковые есть: возможно, для поставленной задачи проще написать простую обвеску, а управлять копированием и базой кассет извне.

В настоящее время записи делаются программой Symantec BackupExec, формат, соответственно -- её. Альтернативный вариант, который пробовали (от Acronis) имел другой формат и даже драйвер привода, вдобавок не хранил информацию о записях на других кассетах. 
Формат записи мы можем поменять, если это будет обоснованно.

При анализе ПО учтите: 
  • Оно должно работать с LTO2 — LTO5 (лучше и 6, но такого в перспективе не видно);
  • Приводы имеют интерфейс SCSI (бывают USB версии, это не наш случай);
  • Операционная система не принципиальна, но с Windows было бы удобнее.
Итогом работы является демонстрация копирования и восстановления данных по внешней команде (например, с локального веб-сайта) и базы записей по кассетам с поиском нужных файлов/папок + отчёт.

1.6. Архивное хранилище на жёстких дисках


Идея:
Сделать файловый сервер с очень плотным размещением жестких дисков. Реализация возможна за счет ограничения на количество одновременно работающих дисков. Расчет на 48-54 дисков в одном корпусе, подключенных к одному компьютеру и с одним блоком питания. 
Требуется сделать с минимальным количеством нестандартных деталей (собственной электроники). 

Оборудование: 
  • Любой компьютер
  • USB разветвители
  • USB-2-SATA адаптеры
Ожидаемый результат:
  • Тестовая сборка из 6 жестких дисков, подключенных к 3 адаптерам (каждый имеет 2 подключения SATA), в которой обеспечивается запуск не более, чем двух жестких дисков одновременно (запитывается один адаптер). 
  • Минимально -- для внешнего наблюдателя дисковое пространство доступно в виде единого диска в качестве сетевой шары CIFS/SMB
  • Оптимально -- создать кеш-зону на жестком диске, установленном на бортовом SATA, откуда далее данные передаются на диски хранилища. Здесь же часто запрашиваемые данные должны кешироваться. 
  • Структура каталогов и данные о файлах должны быть доступны без опроса жестких дисков.
Вполне возможно, что не получится управлять питанием при старте компьютера и  винчестеров, подключенных по USB. В таком случае может потребоваться управление питанием по команде с компьютера. И точно потребуется загонять в SLEEP неактивные жесткие диски (или настроить минимальный срок до автоматического засыпания).

К защите предполагается демонстрация работы и анализ методов решения нерешённых задач. 
Итогом проекта в целом должен являться корпус USB-подключаемого устройства с блоком питания (мини-версия) и/или серверный вариант на максимально возможное количество жестких дисков. 

2.1. Учебник по компьютерной графике и 2.2 видеокурс по компьютерной графике

Эти проекты являются рабочими для меня, там работают товарищи со второго курса, работа идет медленно и неуверенно, но к сентябрю так или иначе их нужно довести до релиза. Поэтому здесь создавать учебную возню у меня нет никакой возможности -- вы не сделаете, а мне потом год пропускать. Так что эту тему могу предложить в качестве хобби, не относящегося к учебным задачам, а там посмотрим. 

3.1. Мелкая автоматизация офисных задач

На самом деле -- это работа с Google на чуть более глубоком уровне, чем формулы в Spreadsheets. И основная задача -- создание системы кросс-рецензирования (peer review). 
На потоковых занятиях приходится применять практически те же инструменты, что используются в МООК (открытых онлайн курсах). Нужно организовать рабочий процесс так, чтобы свести к минимуму рутинную работу: распределение работ при пиринге, выявление отклонений в рецензиях, проверку и публикацию результатов тестирования. 
Все операции проводятся на базе Google Forms, Google Spreadsheets. 
Дописать необходимое вы можете скриптами в Spreadsheets или внешним веб-приложением. 
Конкретные задачи -- заинтересовавшимся. 
Итогом должны стать работающие примеры и инструкция по ведению курса с импользованием разработанных инструментов.


3.2. Облачный видеоархив

Над этим проектом относительно продуктивно трудятся товарищи Корбут и Драгунов с 4 курса. Надеюсь, у них получится. Однако, там вполне могут быть распределяемые задачи, поэтому заинтересовавшимся имеет смысл обозначиться и будем уточнять.

Суть проекта -- использовать сервисы с неограниченным объёмам места для бекапа для хранения видеоархива (исходников) и видеохостинг (мы взяли YouTube) для хранения потоковых превьюшек. Своя веб-прослойка представляет в нужном виде содержимое архива, беря потоки с YouTube и указывая, где взять оригиналы на бекап-сервисе. Таким образом, за минимальные деньги получаем неограниченный по размеру видеоархив с веб-просмотром и возможностью из любого места получить доступ не только к потоковым версиям и метаданным, но и к оригиналам для монтажа.

3.4. Сворачивание Auditory.ru

Тут задача с виду простая: переносим ресурсы Auditory.ru на другой хостинг. При этом: 
  • Часть замораживается,
  • Другая часть сохраняется "как есть"
  • Последняя часть обновляется в части аутентификации, чтобы принимать логины Google. 
Хостинг придется подобрать другой, я поначалу взял GoDaddy, но там есть одно хитрое ограничение, которое не видно было до покупки. В любом случае, ключевые задачи: 
  • Перенести каждый из ресурсов, поселив их все на одном хостинге.
  • Для тех ресурсов, которым требуется обновление аутентификации, разобраться с этим вопросом. Пути могут быть разные, в том числе и костыльные.
  • По возможности -- обновить версии ПО до актуальных.
  • Возможно, потребуется небольшая доработка по оформлению/контенту, чтобы учесть изменившийся состав и функционал Аудитории. 

4.0 Исследование

4.1. Видеомикшер потоков на сервере (базовая тема)

Частная задача более обшего проекта: есть несколько источников видеопотока RTMP, есть клиенты-зрители. Нужно  обеспечить коммутацию (минимально) или композицию (оптимально) этих сигналов с удаленного (от сервера) рабочего места. 
  • Коммутация -- это просто переключение потоков. Не забываем про буфферизацию.
  • Композиция -- это несколько потоков, составом и расположением которых можно управлять. Например, при трансляции защит курсовых из аудитории может приходить три потока: крупный план, презентация и зал, но в один момент времени показываются 1-2 потока по выбору режиссера. Учитываем, что неиспользуемый поток передавать зрителю не следует, а при включении поток требует небольшой буфферизации.
  • Запись. После трансляции по тому же URL должна быть доступна запись. И здесь остро встанет вопрос синхронизации потоков, т.к. они хранятся отдельно -- нужен способ адресации к конкретному месту в записи. Ранее во Flash / VP6 это была проблема. 

4.2. Видеографическое оформление трансляции/записи и интерактив (дополнение)

  • Для транслируемого потока RTMP: титрование, в т.ч. наложением видео и графики с альфа-каналом.
  • Интерактивные элементы в видео-объектах. Обратная связь.
  • Вставка трансляции/записи одним объектом на сайт. 

4.3. Представление на мобильных устройствах

Мобильные устройства могут не поддерживать работу с несколькими видеопотоками одновременно, к тому же, трафик при объектной передаче будет значительный. Требуется собирать композитную сцену (в один видеопоток) для просмотра с мобильных устройств и при слабом канале связи. 

Итогом работы является демонстрация рабочего макета и отчёт. В дальнейшем, к диплому, это выводится в законченный продукт наподобие Viditory. 


Рабочие проекты

Назову один, на больше меня всё равно не хватит: Автокамера. Он разделяется на множество дополнений, некоторые из которых я опишу в "новых проектах"

Новые проекты

5.1. Локализация без 3d-сенсора (для Автокамеры)

Сейчас в Автокамере используются Кинект для локализации выступающего и PTZ-камера для съемки крупного плана по указанным координатам. Предлагается реализовать систему с веб-камерами в качестве камер общего вида  вместо Кинекта и переложить тонкое определение композиции кадра на распознавание изображения, поступающего с PTZ-камеры. 

Характеристики потоков: 
Действующая камера: 720х576. Установленная в камере модель имеет встроенную оцифровку, имеется так же аналогичная камера с аналоговым выходом. 

На будущее предполагается использование камеры с выходом 720p (в цифре, считайте -- вебка).
В качестве камеры общего вида используем 1-2 вебки. Две -- для обзора.
Одна из причин отказа от Кинекта в будущем -- маленькая дальнобойность сенсора (4 м).

5.2. Альтернативное управление Автокамерой

Управление жестами, управление при помощи акселерометра FPV-очков и так далее. Это варианты ручного управления автоматической системой. 

5.3. Мини-Автокамера

Есть миниатюрная Ethernet PTZ-камера (даже без Z), есть миниатюрный двухъядерный компьютер на Android4 с вебкой 640х480, рассматриваем варианты, как сделать миниатюрную автокамеру, следящую за выступающим. В этой ситуации обработка видео (если такая потребуется) может осуществляться на внешнем компьютере. Здесь нужно сосредоточиться на наведении камеры и захвате синхронного звука. 

2 комментария:

  1. Денис Александрович, а у 3го курса темы для курсовых эти же?
    И можно ли будет предлагать на утверждение свои темы?

    ОтветитьУдалить
    Ответы
    1. Темы те же. При ближайшем рассмотрении и при первом в них погружении вы обнаружите, что они дробятся на подтемы или разные варианты реализации.
      Свои темы -- предлагать можно, даже делать, но я бы предпочёл не иметь к этому отношения. По простой причине: мне и этих более чем не поднять, хотя они и нужные (совсем учебных-бестолковых, как были на КГ, здесь нет), а ваши-то мне зачем сдались? Мне есть чем заняться. Ой как есть.

      Удалить