Динамическая замена картинки титровального объекта

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

Модераторы: Людмила, PR, vd, Даниленко Сергей

Ответить
uvi
Сообщения: 2
Зарегистрирован: 09 фев 2007 20:31

Динамическая замена картинки титровального объекта

Сообщение uvi »

Интересует вопрос, что будет если замена будет проведена в момент чтения FDOnAir этой картинки.
Провел испытание. Вначале картинка была, титровальный объект ее прокручивал. Она была переименована во время прокрутки. Затем она исчезла с экрана. Переименовал обратно. Ожидал появление через некоторое кол-во секунд, однако результата не было. Как лучше сделать такую замену?
Еще возможна ситуация, когда программа будет читать и в это же время будет проведится изменение картинки и она будет недозаписана полностью. Как поведет себя FDOnAir?

Другая идея. Возможно из FDOnAir выполнить скрипт перед чтением титровального объекта, а еще лучше заранее на несколько секунд?
admin
Site Admin
Сообщения: 323
Зарегистрирован: 07 ноя 2005 19:42

Сообщение admin »

Какой версией ПО Вы пользуетесь?
Какой титровальный элемент Вы используете для показа картинки?
Титровальный элемент "картинка" раз в секунду проверяет свой файл-задание и при его изменении перерисовывается. На таком механизме работает связка ImageUpdater-OnAir. Может быть для Ваших целей будет достаточно возможностей программы ImageUpdater?
Титровальный элемент "бегущая строка" на каждом обороте перезагружает свое задание. Также себя ведет и MovieList.
Что именно Вы хотите сделать?
Возможно из FDOnAir выполнить скрипт перед чтением титровального объекта, а еще лучше заранее на несколько секунд?
Не могли бы Вы поподробнее обрисовать свою задачу, мы бы тогда смогли более подробно ответить на Ваши вопросы и подсказать приемлемое решение.
uvi
Сообщения: 2
Зарегистрирован: 09 фев 2007 20:31

Сообщение uvi »

admin писал(а):Какой версией ПО Вы пользуетесь?
Версия 4.0
admin писал(а):Какой титровальный элемент Вы используете для показа картинки?
Пробую использовать FDTitleDesigner, в нем "бегущая строка".
admin писал(а):Титровальный элемент "картинка" раз в секунду проверяет свой файл-задание и при его изменении перерисовывается. На таком механизме работает связка ImageUpdater-OnAir. Может быть для Ваших целей будет достаточно возможностей программы ImageUpdater? Титровальный элемент "бегущая строка" на каждом обороте перезагружает свое задание. Также себя ведет и MovieList.
Что именно Вы хотите сделать?
Не будет. Судя по документации ImageUpdater в качестве исходных данных берет текстовые данные и добавляет их оформление.
admin писал(а):
Возможно из FDOnAir выполнить скрипт перед чтением титровального объекта, а еще лучше заранее на несколько секунд?
Не могли бы Вы поподробнее обрисовать свою задачу, мы бы тогда смогли более подробно ответить на Ваши вопросы и подсказать приемлемое решение.
Могу.
Внешний скрипт генерит сложную картинку, данные берутся из разных источников (вообще ее генерация идет в 3-4 этапа). Процесс генерации длится около 5 секунд. Картинка получается 720x<неск тысяч> пикселей. Ее прокрутка занимает обычно от 1 до 3 минут.
Требуется ее прокручивать в FDOnAir несколько раз (на данный момент нет другого контента и ее прокрутка идет постоянно).
В частности меня волнует проблема момента замены картинки. Допустим генерить буду в другой файл и потом быстро подменять, НО вызывает опасения что в один неудачный момент во время замены файла FDOnAir несможет его прочитать (это легко репродуцировать просто переименовав файл картики во время показа и через некоторе время переименовать обратно - FDOnAir его не подхватывает снова). Вижу теперь по вашему сообщению, что ImageUpdater работает по такой же технологии, но правильно ли это? Надо как-то делать синхронизацию и блокировки при замене.
admin
Site Admin
Сообщения: 323
Зарегистрирован: 07 ноя 2005 19:42

Сообщение admin »

Теперь более менее понятно о чем собственно речь.
По поводу бегучки, с которой Вы производили опыты с "убийством" файлов. Ее поведение следующее: при старте грузится задание, потом ПРИ КАЖДОМ ПОВТОРЕ задание перечитывается. Если в момент перечитывания задания оказывается, что их нет, то "деятельность" бегущей строки на этом прекращается - показывать то нечего: все уже прокручено.
У титровального элемента "картинка" поведение несколько другое - поскольку ей ВСЕГДА есть что показывать, то она 1 раз в секунду мониторит свой файл-задание. Если файл изменился, то грузится новый файл. Если файл не изменился или к нему нет доступа, то картинка не меняется.
Поэтому проблема вовсе не в том, что файл меняется на ходу и кто-то не получает к нему доступ. Проблема именно в в специфике поведения титровального элемента "бегучка".
Обойти проблему можно следующим образом: добавьте файл-пустышку, который будет присутствовать в титровальном задании всегда. В этом случае, даже если Ваш большой файл не успел приготовиться, то для бегущей строки Вам все равно будет что показать.
Ответить