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