AutoDetect - вопросы по распознаванию видеоотбивок.

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

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

Ответить
Евгений Веревкин
Сообщения: 150
Зарегистрирован: 22 янв 2008 08:51
Откуда: Новокузнецк

AutoDetect - вопросы по распознаванию видеоотбивок.

Сообщение Евгений Веревкин »

1. При редактировании сэмпла невозможно переопределить значение параметра "Treshold" - после потери окошком фокуса ввода значение возвращается на установленное автоматически после добавления фрагмента. То же самое набюдается с параметрами "Offset" и "Duration", но не всегда.

2. Возможна ли неравномерная обрезка краев кадра - т.е. вместо общего параметра "Crop" сделать для каждой стороны кадра свой.

3. Нет ли возможности, аналогичной программе SLJingleTuning - т.е. хочется наблюдать где-то процент совпадения видеоряда с обнаруживаемой видеоотбивкой.

Версия ПО - 5.0.11, какие-либо патчи к AutoDetect не применялись.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

1. При редактировании сэмпла невозможно переопределить значение параметра "Treshold" - после потери окошком фокуса ввода значение возвращается на установленное автоматически после добавления фрагмента. То же самое набюдается с параметрами "Offset" и "Duration", но не всегда.
В новой версии это подправлено. Еще хотелось обратить внимание на то, что некоторые параметры связаны друг с другом. Изменение одного влечет за собой пересчет и автоматическое изменение другого.
2. Возможна ли неравномерная обрезка краев кадра - т.е. вместо общего параметра "Crop" сделать для каждой стороны кадра свой.
В принципе это можно. Но реально не нужно. Crop нужен для того, чтобы обрезать шумы по краям изображения (типа шумов VHS). Подгонять с точностью до пиксела вовсе не нужно. Нужно делать грубую обрезку по краю. Почему не столь важна суперточная подрезка - объясню как работает алгоритм. После применения параметра Crop изображение масштабируется. В результате оно превращается в квадрат 256х256. Этим достигаются 2 вещи - уничтожаются помехи и сглаживаются мелкие детали. И уже сравнение идет по этомк масштабированому изображению.
Так что подгонка crop с точностью до пикселов вовсе не нужна.
3. Нет ли возможности, аналогичной программе SLJingleTuning - т.е. хочется наблюдать где-то процент совпадения видеоряда с обнаруживаемой видеоотбивкой.
Такой программы нет - на все просто не хватает рук и времени. Но есть возможность добавить ведение лог-файла. В нем будет фиксироваться работа плагина VCLip и его срабатывание.
Версия ПО - 5.0.11, какие-либо патчи к AutoDetect не применялись.
Здесь можно забрать новые версии конфигуратора и плагина:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... /VClip.zip

Файлы из папки FDVClipConfig_1_0_0_34 нужно скопировать в AutoDetect\VClip

Файлs из папки SLGPIPluginVClip_1_0_0_8 нужно скопировать в C:\Program Files\Common Files\SoftLab-Nsk

Для надежности старую версию можно сначала разрегистрировать:

regsvr32 /u "C:\Program Files\Common Files\SoftLab-Nsk\SLGPIPluginVClip.dll"

А после копирования новой версии плагина порегистрировать ее

regsvr32 "C:\Program Files\Common Files\SoftLab-Nsk\SLGPIPluginVClip.dll

Важно!!! Должны быть закрыты все наши приложения. И нужно убедиться, что в процессах Windows исчезло приложение slgpiservers.exe.

!!!Внесено весьма существенное изменение в работу VClip - теперь в программе OnAir не нужно отключать все видеовходы. Теперь плагин ловит метку с текущего выбранной линии.
Евгений Веревкин
Сообщения: 150
Зарегистрирован: 22 янв 2008 08:51
Откуда: Новокузнецк

Сообщение Евгений Веревкин »

!!!Внесено весьма существенное изменение в работу VClip - теперь в программе OnAir не нужно отключать все видеовходы. Теперь плагин ловит метку с текущего выбранной линии.
А можно поподробнее этот вопрос осветить? А то в мануале я такого не помню :-(

И по ведению логов - да, хочется иметь такую возможность.

P.S. Обновленную версию скачал. Проблема с "Treshold" осталась, но наблюдается, если добавлять несколько сэмплов. То есть у первого сэмпла все нормально, если добавить следующий сэмпл - в нем вышеописанная ситуация.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

!!Внесено весьма существенное изменение в работу VClip - теперь в программе OnAir не нужно отключать все видеовходы. Теперь плагин ловит метку с текущего выбранной линии.
А можно поподробнее этот вопрос осветить? А то в мануале я такого не помню
Раньше (до этой версии) VClip для своей работы требовал эксклюзивного управления входами. Т.е. в Onair нельзя было назначить видеовходы на кнопки F3-...
Теперь можно.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Проблема с "Treshold" осталась, но наблюдается, если...
Мы посмотрели, но это определяется файлом, которым вы используете. Для некоторых файлов так и должно быть.
Евгений Веревкин
Сообщения: 150
Зарегистрирован: 22 янв 2008 08:51
Откуда: Новокузнецк

Сообщение Евгений Веревкин »

Даниленко Сергей писал(а): Мы посмотрели, но это определяется файлом, которым вы используете. Для некоторых файлов так и должно быть.
Проверил, действительно не для всех файлов. А можно подробнее, чем это определяется?
Евгений Веревкин
Сообщения: 150
Зарегистрирован: 22 янв 2008 08:51
Откуда: Новокузнецк

Сообщение Евгений Веревкин »

Вылезло еще несколько проблем - а точнее, несоответствия поведения OnAir инструкции ru_sl_autodetect в версии от 4 июня 2009 года.

При добавлении GPI-команды на вкладке GPI окна настройки конфигурации программы OnAir команды добавляются с дефолтным действием "Нет действия". (в мануале - с действием Autodetect). Само действие Autodetect в раскрывающемся списке выбора действий отсутствует. GPI-команды появляются на вкладке "Custom commands" основного окна OnAir в случае, если действием команды выбрать "Команда ожидания" (согласно мануалу на вкладке "Custom commands" команды появляются только при назначении им действия Autodetect). При этом при добавлении команды в расписание, и запуске расписания, выполнение расписания прерывается после добавленной команды.

P.S. Версия OnAir - 1.20.30, регистрация опции AutoDetect временная
Евгений Веревкин
Сообщения: 150
Зарегистрирован: 22 янв 2008 08:51
Откуда: Новокузнецк

Сообщение Евгений Веревкин »

Попробовал сделать то же самое для звуковых отбивок. Подтвердилось предположение, что "Команда ожидания" - это и есть пресловутый "Autodetect", только указывать её надо ручками. На звуковых отбивках распознавание работает.
Следовательно, напрашивается вывод, что распознавание не срабатывает на видеоотбивках.

В связи с этим вопрос - в каком формате и с использованием каких кодеков - или без таковых - производить захват видео для тестовых образцов.
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

а точнее, несоответствия поведения OnAir инструкции ru_sl_autodetect в версии от 4 июня 2009 года.
К сожалению, иногда наша документация опережает развитие ПО. Вернее документация пишется на текущей версии ПО, а оно достаточно серьезно отличается от той версии, которая сейчас есть у наших пользователей (в частности речь идет о программе OnAir).
Поэтому команда AutoDetect в вашей версии OnAir отсутствует - вместо нее есть команда "ожидания действия".
При добавлении GPI-команды на вкладке GPI окна настройки конфигурации программы OnAir команды добавляются с дефолтным действием "Нет действия". (в мануале - с действием Autodetect).
Не совсем так. Если вы делаете GPI в конфигураторе (DTMFConfig, JingleConfig, VClipConfig), то они в программе OnAir появятся с действием "AutoDetect" (вернее с текущим его аналогом - "ожиданием").
В связи с этим вопрос - в каком формате и с использованием каких кодеков - или без таковых - производить захват видео для тестовых образцов.
На самом деле не важно какой кодек используется. Важно какой порядок полей у него. А если быть точным, то важно чтобы вы правильно указали порядок полей вашего файла вот здесь:
Изображение
Имеется ввиду поле "Порядок следования полей". Установленный здесь порядок должен соответствовать тому, что идет в файле.
Здесь есть трудность того рода, что в авишке нет информации о порядке полей (в отличие, например, от мпег2 файлов). Поэтому мы бы порекомендовали ориентироваться на сам кодек, который используется при записи. Хотя и тут есть свои проблемы - как правило порядок полей в формате сжатия не прописан. Исключение - формат DV. У него по стандарту должно быть поле нижним. Но при этом есть производители типа матрокса, которые иногда пишут DV с первым верхним полем.
Имеет смысл использовать программу FDCapture. Во-первых, на закладке field order в настройках у нее есть описание того, какие кодеки по умолчанию какой порядок полей используют. Во-вторых, там же есть возможность поменять порядок полей при записи.

Еще один момент, который можно порекомендовать пользователям VClip. Речь идет о том как сделать отбивку. Удобно сделать так:
1)сграбить рекламную заставку
2)выделить фрагмент, который подходит для распознавания.
3)сделать из этого фрагмента ролик
4)в начало поставить пару черных кадров
5)сделать из этого образец для распознавания.
Такой способ подходит если у вас заставка "вялая", т.е. в ней нет явно выраженного движения, нет смены сцен. А обычно именно так заставки и делают - взять, например, заставку с ОРТ (маленький прямоугольник с изображением на черном поле). С помощью такого приема заставка с ОРТ вполне успешно определяется у наших пользователей через VClip.
При этом первая пара черных кадров будет отсечена VClip'ом даже в автоматической настройке (через офсет).
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

Доброе время суток.
Здорово, что появилась возможность не привязываться в он-айре к одному входу и использовать переключение внутри расписания совместно с автодетектом видеоотбивок. Скачаю, буду пробовать.
Ещё вот волнует такой вопрос: максимум сколько отбивок можно использовать для распознавания? Дело в том, что мы собираемся автоматизировать врезку рекламы на канале ТВ3, а там просто куча рекламных отбивок. Или может для этого лучше сделать опознавание по звуковым джинглам?(когда много разных отбивок).
Люди, может кто занимается вещанием ТВ3, подскажите как вы вставляете рекламу. Есть ли какие-нибудь особенности?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Ещё вот волнует такой вопрос: максимум сколько отбивок можно использовать для распознавания?
В принципе мы не ограничиваем число отбивок, которое можно анализировать одновременно.
Но есть техническое ограничение. Анализ каждой отбивки занимает некоторый ресурс процессора. Поэтому количество анализируемых отбивок будет все же определяться производительностью процессора. При этом нужно иметь ввиду, что процессор "кушают" и другие приложения.
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

День добрый. А расскажите пожалуйста где искать логи по опознаванию видеоотбивок. Какой процесс занимается опознаванием и должен "есть" ресурсы процессора в зависимости от количества заставок-образцов?
Я обновился, но что-то у меня вообще ничего не работает-закинул девять заставок, загрузка процессора(двухядерник 8400) идет при команде ожидания на уровне 22%-39%. Причем я повесил в настройках опознавание на одно ядро, а в загрузке процессора разницы между ядрами почему-то практически не вижу. В настройках платы и входа надо ставить актив?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

А расскажите пожалуйста где искать логи по опознаванию видеоотбивок.
1)Можно заставить плагин VClip писать свой собственный лог-файл о работе.
Для этого приведенный ниже кусок текста нужно скопировать в текстовый файл, сохранить, поменять ему расширение на *.reg. Полученный регфайл применить. После применения регфайла необходимо закрыть все приложения, которые работают с нашим GPI-сервером (OnAir, ImageUpdater, ...). И обязательно нужно убедиться что процесс slgpiservers.exe исчез из списка процессо. После этого можно продолжать работу.

Вот текст реестра:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\SoftLab-NSK\SLGPIPlugins\VClip]
"LogFile"="C:\\adlog.txt"
"WriteDebugOutput"="1"


Лог пишется в тот файл, который вы укажите в параметре LogFile.

2)Если распознавание произошло, то информация об этом факте заносится в лог-файл программы OnAir (*.SLLog)
Какой процесс занимается опознаванием и должен "есть" ресурсы процессора в зависимости от количества заставок-образцов?
Процесс называется slgpiservers.exe. Сам плагин VClip - это dll-ка, которая вызывается из slgpiservers.exe.
В настройках платы и входа надо ставить актив?
Можно подробнее - о чем идет речь?
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

1)Спасибо, попробую импортировать этот рег, посмотреть, что будет в логах.
2) Да, действительно, посмотрел в логах Slllog-там есть строчки типа 963 2009-12-11 13:28:33.03 SLGPIServers SLGPIPluginVClip Log Detect VClip: VClip_IN at 13:28:33.032 11:12:2009 for 13:28:33.052 11:12:2009
Похоже, что опознает, но я что-то не видел ни разу, чтобы сам ОнАир эту команду отработал снял с ожидания рекламу(т.е. проиграл бы по команде). Попробую поставить завтра обновление на другую машину и погоняю там. Вообще, если честно, я загнал авишки отбивок по дефолтовым настройкам, не менял предложенные параметры...может стоит там полазить?
Здорово, получается , что процесс slgpiservers.exe. у нас отъедает буквально чуть-чуть процессора даже при 9 опознаваемых заставках.
В настройках VClip есть кнопка девайс, там можно выбрать вход платы Лайн А, Лайн Б или актив...так вот, я так понял, надо выбирать актив? Я сейчас его поставил. Надо чтобы опознавание шло с текущего входа(Video1 или Video2).
То что я поставил обновление плагина VClip на версию софта 5,0,8 ничего или надо ставить 11 версию апдейта?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

но я что-то не видел ни разу, чтобы сам ОнАир эту команду отработал снял с ожидания рекламу(т.е. проиграл бы по команде).
А как у вас выглядит расписание для программы OnAir (тот кусок, который занимается распознаванием)?
Вообще, если честно, я загнал авишки отбивок по дефолтовым настройкам, не менял предложенные параметры...может стоит там полазить?
Как правило, дефолтных параметров достаточно. Но на один момент нужно обязательно обратить самое пристальное внимание. Речь идет о параметре "порядок полей". Важно: здесь должен быть выбран именно тот порядок, который используется в ваших образцах. Иначе распознавание может не сработать.
В настройках VClip есть кнопка девайс, там можно выбрать вход платы Лайн А, Лайн Б или актив
Лучше использовать "актив". В этом режиме сигнал берется с текущей линии, выбранной в OnAir. Смысл следующий - если в программе OnAir вы используете несколько источников проходящего сигнала, то текущая линия при переключении меняется (LineA->LineB->LineA->...).
То что я поставил обновление плагина VClip на версию софта 5,0,8 ничего или надо ставить 11 версию апдейта?
Ничего страшного - с 5.0.8 по 5.0.12 в компоненты ПО AutoDetect изменения не вносились.
Ответить