понедельник, 18 июня 2012 г.

Вывод аналогового видео с внешних источников (камеры) на экран

Вывод внешнего аналогового видеосигнала на экран возможен в случае, если установлена карата видеозахвата (TV-тюнер). Обычно все наши компьютеры поставляются с уже установленной картой видеозахвата. Если такой карты нет, можно приобрести ее самостоятельно. Обычно мы пользуемся картами фирм AverMedia, Beholder, FlyVideo, но должна подойти также любая WDM-совместимая карта или TV-тюнер. Тюнеры выпускаются для шин PCI или PCI-E - перед покупкой убедитесь, что у вас присутствует свободный разъем на материнской карте для выбранной карты. Убедитесь, что все драйвера для данной карты установлены. Также рекомендуется установить последнюю версию ПО AdvertisePro 3.1 или выше. Данная версия поддерживает все WDM-совместимые тюнеры. При установке выберите выборочную установку и укажите дополнительный элемент Аналоговое видео/WDM-совместимая плата.
После установки и запуска программы потребуется один раз задать размеры видеозахвата и размер для вывода, а также, возможно,  настроить параметры деинтерлейсинга (устранение чересстрочности) при размере кадра более 288 линий (половина кадра для сигнала PAL).
Откройте закладку Видео-источник (если ее нет, то при установке программы не был указан пункт Аналоговое видео).
Откройте меню Сервис/Настройка..., выберите пункт Аналоговое видео, справа нужно указать устройство из выпадающего списка WDM устройство (либо отключить его):
Пункт Масштабирование лучше указать Быстрое.
Закройте окно настроек.
Далее на закладке Видео-источник правой кнопкой мыши щелкните на большом черном прямоугольнике предпросмотра справа и выберите из списка пункт меню "Посмотреть возможности устройства". Если пункта нет, то устройство неправильно установлено либо не поддерживается. Раскройте список с типами поддерживаемых форматов:
В данном случае мы видим, что устройство поддерживает размеры вывода от 160х120 до 768х576. Некоторые карты выводят только в одном фиксированном размере, например 768х576, в последнем случае нам придется уменьшать изображение, чтобы вписать его в экран (если экран меньше  768х576). Далее будут рассмотрены оба случая, когда экран можно вписать в заданный диапазон и когда необходимо сжать изображение, чтобы вписать его в экран.
Закройте свойства с возможностями.


Зададим профиль оцифровки.

Красным обведен выпадающий список, нажав который нужно выбрать пункт Редактировать...
Откроется окно для создания профиля оцифровки:
Профиль По умолчанию настроен на размер 320х240, можно изменить его выбрав и нажав на кнопку Изменить... или добавить новый используя кнопку Добавить...
Далее откроется диалог с указанием параметров оцифровки:
В названии профиля укажите удобное для вас описание, например размер вашего экрана в пикселях, этот профиль потом будет легче выбрать, если вы создадите их несколько.

Вариант 1 (размер экрана входит в диапазон, поддерживаемый картой).


В группе "Размеры оцифровки"

необходимо указать размер получаемого кадра после оцифровки внешнего сигнала. Здесь надо учесть, что соотношение сторон должно быть 4:3, иначе кадр будет "плющить". Например, если экран у вас 480х240, то подходящий ему размер 480х360, или экран 320х288, то 384х288. Главное, что ваш экран полностью входит в указанный размер и соотношение сторон 4:3.

Координаты видимой части.

В поле Ширина и Высота укажите размер вашего экрана. X, Y - сдвиг, если пропорции экрана не соответствуют соотношению 4:3, их можно пока оставить равными 0.

Координаты вывода на экран.

X, Y = 0
Ширина и Высота - размеры экрана.

Вариант 2 (размер экрана меньше чем допустимый диапазон)


Размеры оцифровки.

Укажите размер, поддерживаемый картой.

Координаты видимой части.

X,Y укажите 0.
Ширину и Высоту укажите как в размере оцифровки или близко к ним, но старайтесь соблюсти соотношение сторон реального экрана. Например в размере оцифровки указано 768х576, а экран у вас 320х160 (т.е. соотношение сторон 2:1), тогда нужный размер 768х384, или экран 320х288 -> укажите 640х576. Если невозможно указать точно, укажите приблизительный размер, чтобы не сильно "плющить" изображение, когда не соблюдены соотношения высоты и ширины исходного изображения и размера экрана.

Координаты вывода на экран.

X, Y = 0
Ширина и Высота - размеры экрана. Если нужно вывести изображение только на часть экрана, укажите ее координаты и размер.

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

  1. Включить/Выключить вывод на экран
  2. Выбор входного-видеоисточника. Выберите в поле Input - Composite/тюнер/S-Video и т.д
  3. Настройка свойств и форматов (PAL/NTSC/Secam и различные свойства: яркость, цветность...)
  4. Настройка деинтерлейса. Доступно, если высота оцифровки больше 288. Поиграйтесь различными методами удаления чересстрочности и выберите оптимальные.
  5. Отображать окно предпросмотра (можно отключить, чтобы уменьшить нагрузку на процессор).
  6. Сделать снимок кадра и сохранить в файл (см. Сервис/Настройка.../Аналоговое видео/каталог)
Теперь можно подать сигнал на карту или выбрать в качестве источника тюнер (кнопка 2). Телевидение обычно отдает композитный сигнал, для подключения которого может понадобиться переходник BNC-тюльпан. Также очень рекомендую использовать гальваническую развязку в месте подключения кабеля к карте видеозахвата, возможно может понадобиться видеоусилитель, все это, обычно, можно взять у телевизионщиков, которые будут давать вам картинку.

четверг, 3 мая 2012 г.

Вывод логотипов с прозрачным фоном.

Если добавить логотип с прозрачным фоном на вкладке Логотипы, то вместо прозрачного фона будет выведен черный цвет.
Чтобы вывести логотип с прозрачным фоном используйте следующую технику:
Создайте файл GDI-формы (пример), с размером вашего логотипа, именем файла и прозрачностью 100%.

<?xml version="1.0" encoding="UTF-8"?>
<gdiform width="60" height="30" background-color="black" warnings="0" transparency="100">
<image x="0" y="0" src="transparent.gif" stretchmode="preserveaspectrationoletterbox" />
</gdiform>


Фон логотипа должен быть прозрачный (*.gif, *.png)

Далее переходим на закладку логотипы и добавляем файл с созданной формой.

Football 3.1

Обновлено: Версия 3.1.1
Готова сборка Football.3.1 (Football.3.1.x64.msi)
При установке данной версии форма вывода футбола, часы, матричное табло автоматически подстраиваются под размер экрана (разумный размер, но если что-то не так, нужно подправить вручную). Напомню, что шрифты названий и турнира можно выбрать в настройках. Данная версия работает на Windows XP/Windows 7 (32 бита). Для x64 есть своя сборка, но рекомендуется ставить именно на 32-битные системы.
Во время установки будет предложено установить неподписанные драйвера - согласитесь. Если не установлен виртуальный принтер nisbdc - установите его сами, выберите производителя Nata-Info, принтер nisbdc, порт любой (можно file). Этот принтер нужен для правильного масштабирования информационных сообщений с фото. 
Также убедитесь, что шаблоны для информационных сообщений указаны правильно (они могут сохранится с предыдущей установки). Новые шаблоны универсальные и показывают изображение с фото или бегущей строкой в зависимости от того, есть ли фото у игроков (не забудьте зарегистрировать команды).
Если используется карта видеозахвата - не забудьте указать ее при установке.

четверг, 15 марта 2012 г.

AdvertisePro 3.1

Обновление: Версия 3.1.1
Готова предварительная версия AdvertisePro 3.1AdvertisePro3.1.x64 для WindowsXP/Windows7 (желательно использовать 32-битную версию ОС ).

Изменения в этой версии:
  • Добавлена поддержка Windows 7
  • AdvertiseMedia не требуется. Видеокодеки даны на откуп пользователю. Теперь Вы сами должны их устанавливать исходя из собственных потребностей.
  • В пакет установщика добавлены компоненты: Бегущая строка, Матричное табло, Быстрый вывод видео (вывод видео по горячим клавишам)
  • Видеозахват включает поддержку деинтерлейсинга при размере кадра более 288 линий.
  • Расширена поддержка плат видеозахвата.
  • Размер формы для вывода часов теперь всегда совпадает с размером экрана.
Порядок установки:
  1. Загрузите пакет с установщиком с нашего ftp-сайта ftp://ftp.nata-info.ru/software/AdvertisePro/AdvertisePro3.1.msi или ftp://ftp.nata-info.ru/software/AdvertisePro/AdvertisePro3.1.x64.msi
  2. Запустите установщик (у Вас должны быть достаточные права для выполнения этой операции на Windows 7).
  3. Согласитесь с условиями лицензии.
  4. Укажите размер экрана в модулях и типоразмер модуля.
  5. Укажите тип установки Обычная или Выборочная (не нажимайте Полная, некоторые компоненты являются взаимоисключающими). Если у Вас установлена карта видеозахвата нажмите Выборочная и выберите компонент "Аналоговое видео/WDM-совместимая плата". Также если Вам нужен запуск видеороликов при помощи нажатия указанных клавиатурных сочетаний выберите компонент "Быстрый вывод видео".
  6. (Пропустите этот пункт для версии 3.1.1) При установке будет предложено установить не подписанный драйвер, согласитесь на установку. Это драйвер виртуального принтера nisbdc, который нужен для правильного отображения размера символов в программе Титровальщик. После установки Вам нужно будет вручную добавить принтер, выберите из списка фирм Nata-Info, принтер nisbdc. Если Вы не собираетесь использовать титровальщик можно опустить это замечание.
  7. После установки настройте службу nibus (смотрите предыдущие статьи) и установите нужные видеокодеки.
Данный пакет не был достаточно тщательно протестирован и мы будем благодарны Вам за любые замечания к работе программы и установщика. В случае невозможности установки программы вы можете попробовать установить программу с включенным  журналом установки для обнаружения ошибки при установке пакета. Для этого запустите установку из командной строки следующей командой:
msiexec /log AP.log /i AdvertisePro3.1.msi
Файл журнала с ошибками AP.log можно выслать на support@nata-info.ru

четверг, 15 декабря 2011 г.

Установка AdvertisePro

Рекомендации по выбору компьютера.

Любой современный компьютер с процессором Intel и видеокартой от NVIDIA  (нужен один DVI выход для табло и второй выход для монитора) с 1GB ОЗУ годится для работы в качестве станции вывода видео. Если для конвертации RS232-RS485 используется Siolynx первого поколения (с подключением к COM-порту) или прямое подключение к оптическому передатчику DVI-мастер, то нужен также COM-порт на материнской плате или преобразователь USB<->COM или PCIe<->COM. Если экран не очень большой, то с задачей справлялся даже процессор ATOM D525 с NVIDIA ION 2.
Жесткий диск и DVD-привод на собственное усмотрение. Также, если необходим вывод внешнего источника аналогового видео, нужна плата видеозахвата.

Операционная система.

ПО AdvertisePro работает под Windows XP  желательно с установленным SP3. (Готова новая версия ПО Advertisepro 3.1, которая поддерживает Windows 7 и она не требует AdveriseMedia! Кодеки, если они нужны, ставите сами).
В принципе можно попробовать установить его на Windows 7 с отключенным UAC, но возможны различные "глюки" в интерфейсе и работе программы. Чтобы отключить UAC выберите ПУСК в левом нижнем углу и в строке "Найти программы и файлы" наберите uac в списке найденных выберите  "Изменение параметров контроля учетных записей" и передвиньте ползунок вниз, перезагрузитесь.

Установка ПО.

Все ниже перечисленное по можно найти на компакт диске из нашей поставки.
  • Если на компьютере еще не установлен .NET Framework 2.0 установите его. Можно загрузить у нас или воспользоваться диском \REDIST\NET_FRAMEWORK2.0\X86\REDISTRIBUTABLE_PACKAGE\dotnetfx.exe
  • Установите MSXML.4 SP2 взять можно у нас или на диске \REDIST\msxml.4\msxml.msi  
  • Установите dxtxtra.exe (\REDIST\dxtxtra.exe)
  • Установите набор кодеков AdevrtiseMedia. Если есть диск то просто запустите \AdvertiseMedia\Setup.exe, если загрузили AdvertiseMediaPack.zip, то распакуйте и запустите \AdvertiseMedia\Setup.exe. Может понадобится перезагрузка и повторный запуск установщика.
  • Для Siolynx2 понадобятся драйвера, загрузить, распаковать указать Диспетчеру Устройств. Должен появиться COM-порт.
  • Настроить службу nibus.
  • Открыть свойства экрана

    Выбрать второй экран, поставить галочку Расширить рабочий стол на этот монитор. Качество цветопередачи: Самое высокое (32 бита). Цвет рабочего стола лучше сделать черным, отключить заставку и режим выключения монитора после простоя.
  • Загрузить последнюю версию AdvertisePro и установить. Если плата видеозахвата не используется, лучше отключить ее в диалоге установки. Если не поддерживается установленная плата видеозахвата см. Поддержка плат видеозахвата с форматом YUV
  • Настроить управление яркостью
  • Если компьютер должен работать круглосуточно, рекомендую установить AdvertisePro Guard





четверг, 1 декабря 2011 г.

Мониторинг спортивных состязаний.

Иногда возникает необходимость получать информацию о текущем спортивном состязании, чтобы, например, можно было наложить ее на телевизионную картинку. Все данные об игре передаются по 485 интерфейсу используя протокол NiBUS. Подробные сведения по устройству протокола можно прочитать в документе NiBUS.pdf. Если Вы для прослушивания протокола NiBUS будете использовать компьютер под управлением Windows, а в качестве конвертера RS485-RS232 трансивер Siolynx/Siolynx2 (siolynx2.tech_ref.pdf), Вам необходимо будет установить на него службу NiBUS. На данный момент последняя версия nibus-v3.0.780.10.msi. После установки службы может потребоваться ее настройка (Настройка службы NIBUS). Этот дистрибутив также содержит примеры на C++:
  • NibusLog (VC2003), который снифит данные поступающие по nibus
  • NibusListener (VC2008), заготовка для написания обработчиков спортивных событий
Последний пример-заготовка позволяет быстро написать свой обработчик спортивных событий (время, счет и т.д). При необходимости можно добавить обработчики используя документ с расшифровкой основных информационных сообщений для спорта SportInfo.pdf. Обратите внимание 
  • CAppModuleEx::Init() - здесь строится стек протокола nibus (NibusListener.cpp)
  • CAppModuleEx::DoCapture(TRUE) - включить прослушку.
  • CNibusListenerView - получает и разбирает датаграммы
  • CNibusListenerView::OnTimerChanged - изменились данные таймера
  • CNibusListenerView::OnScoreChanged - изменился счет
  • CNibusListenerView::OnPeriodChanged - изменился период
Вместо Pin 1 для питания можно использовать Pin 2. 12V используется для питания пульта и может отсутствовать. Pin 4 и Pin 5 должны быть на одной паре, например - синяя и бело-синяя жилы, также как и Pin 3 и Pin 1/2.
Если возникли вопросы, то отпишитесь в комментариях  к данному сообщению.

Дополнение:

Гораздо удобнее с протоколом NiBUS можно работать с помощью .NET 4.0, поэтому, если для подключения к шине NiBUS Вы используете компьютер с Windows и установленным .NET Framework 4.0, то возможно стоит посмотреть как это реализовано на C#. В этом случае Вам не требуется установка службы NiBUS. Клиент для коммуникации по протоколу NiBUS должен использовать библиотеку libnibus.dll написанную на C#, также понадобятся библиотеки Async-CTP-v3 (AsyncCtpLibrary.dll, System.Threading.Tasks.Dataflow.dll) и NLog.dll для ведения журнала. Все это можно загрузить с с нашего ftp-сайта. Там же есть простейший пример для хоккея в архиве IceHockeyViewer.zip. Чтобы скомпилировать пример понадобится VS2010 и установленный Visual Studio Async CTP (Version 3). libnibus.xml - содержит подсказки для студии, а в libnibusdoc.chm - справка к библиотеке. Пример использует 14 COM-порт для взаимодействия с NiBUS, Вы должны не забыть указать свой. Также учтите, что при установленной VS 11 Beta пример не компилируется.

Важное дополнение:

Все примеры выше используют в качестве конвертера RS485<->RS232 Siolynx2 нашего производства. Наш конвертер, в отличие от обычных конвертеров, является более "интеллектуальным" устройством. Помимо приема/передачи данных он отвечает за разрешение коллизий в протоколе NiBUS. На выход пользователю он выдает Сетевой уровень (Глава 3 nibus.pdf). Если Вы используете обычный конвертер RS485<->RS232 Вам нужно обратить внимание на Канальный уровень (Глава 2). Он отличается от сетевого наличием специальных двухбайтовых маркеров, причем используется режим когда данные содержат 9 бит! Старший бит установлен именно у маркеров. Не все конвертеры могут поддерживать 9 бит данных. Обычно он обрезается до 8 бит. Некоторые конвертеры обрезают этот старший бит (данные можно обработать), другие могут обрезать младший (в этом случае информация неполная).