Титровальные скрипты

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

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

Ответить
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Вот это то, о чем я мечтал, но стеснялся спросить
Ну и напрасно. Мы очень уважаем разработчиков и готовы всегда им помочь.
При полной установке версии 5.2.0 такой не обнаружился.
На тот момент (насколько я помню) он не был готов.
Документ здесь:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... tation.zip
advers
Сообщения: 5
Зарегистрирован: 28 май 2009 12:54
Откуда: Тюмень

Сообщение advers »

Насчет стеснялся, это ж была шутка. Просто думал: раз ее нет ни в SDK, ни в комплекте документации значит нет вообще, а только в голове у разработчика :)

Документ замечательный и волшебный, сразу куча вопросов отпадает. Но появился все же еще. У каждого элемента есть свойства Props. Кое-какие названия я взял из AdvMix, но вот название свойства для Rest Time угадать не удалось (Пробовал "RestTime" по аналогии с другими, не вышло). Пока обращаюсь к нему по номеру 19, вычисленному благодаря документации и перебору :)

Нельзя ли опубликовать сей список?
shish07
Сообщения: 13
Зарегистрирован: 28 мар 2011 17:04

Сообщение shish07 »

advers писал(а):но вот название свойства для Rest Time угадать не удалось (Пробовал "RestTime" по аналогии с другими, не вышло). Пока обращаюсь к нему по номеру 19, вычисленному благодаря документации и перебору :)

Нельзя ли опубликовать сей список?
Этот самый список достаточно длинный, и разный для разных типов элементов. Вернее у каждого элемента есть 'стандартные' свойства, которые одинаковые для всех и набор 'своих' свойств. Дойдут руки составлю этот список.

Можно узнать список свойств элемента таким способом:
В FDTitleDesigner создаём новый проект, бросаем интересующий вас элемент на экран.
Нужному вам свойству(или всем) назначаем не стандартное значение (чтобы чёрненькое стало), иначе оно не сохранится.
Сохраняем прект.
Открываем файл проекта в любом текстовом редакторе (notepad.exe подойдёт) и ищем в нём нужное название.

У меня получилось примерно так:

Код: Выделить всё

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<TitleProject count="1" size="720, 576" framerate="25" interlaced="True" name="Untitled2">
    <Regions count="1" ZOrderBase="0" visible="true" chief="0" name="TitleObject">
        <!--Подпись-->
        <region CLSID="9119b93f-7b21-4c3d-96fc-05a299ae851c" visible="true" name="Caption">
            <!--Имя элемента.-->
            <Name value="Caption" />
            <!--Левая верхняя точка охватывающего прямоугольника элемента на экране телевизора.-->
            <Location value="32, 80" />
            <!--Размер охватывающего прямоугольника элемента на экране телевизора.-->
            <Size value="448, 392" />
            <!--Расположение региона по Z координате. Если 0 - Распределяется автоматом, любое другое число &#40;в том числе отрицательное&#41; - Абсолютное значение.-->
            <ZOrder value="3" />
            <!--Значение непрозрачности элемента.-->
            <Alpha value="25" />
            <!--Разрешить регистрацию хода выполнения задания в журнал регистрации.-->
            <LogEnabled value="1" />
            <!--Выравнивание картинки по горизонтали относительно региона или экрана.-->
            <HAlignment value="1" />
            <!--Выравнивание картинки по вертикали относительно региона или экрана.-->
            <VAlignment value="1" />
            <!--Зациклить задание.-->
            <Loop value="0" />
            <!--Задаёт направление въезда подписи.-->
            <Direction value="4" />
            <!--Задаёт направление выезда подписи.-->
            <OutDirection value="4" />
            <!--Время проявления подписи в секундах.-->
            <FadeIn value="2" />
            <!--Время затухания подписи в секундах.-->
            <FadeOut value="2" />
            <!--Время, в течении которого подпись находится в неподвижном состоянии &#40;в секундах&#41;.-->
            <StayTime value="3.0" />
            <!--Пауза между циклами &#40;в секундах&#41;.-->
            <Pause value="2" />
            <!--Имя файла стилей &#40;*.efc&#41; для задания.-->
            <StyleFile value="E&#58;\user\shish\Title\Scripts\AdvMix\cstbSmall.efc" />
            <!--Индекс стиля для задания.-->
            <StyleIndex value="1" />
            <!--Левое поле для картинки.-->
            <LeftMargin value="21" />
            <!--Правое поле для картинки.-->
            <RightMargin value="21" />
            <!--Использовать ширину региона для форматирования текста.-->
            <UseWidth value="1" />
        </region>
    </Regions>
</TitleProject>
Ваше свойство -

Код: Выделить всё

<StayTime value="3.0" />
Значения свойств бывают разных типов: строки, целые, вещественные и т.д.
Особо стоят 'енумы', в файле они задаются целыми, значения соответсвуют порядку перечисления в окне свойств, начиная с нуля.
Например свойство 'Въезд/In Direction' имеет имя 'Direction' и может принимать значения:
Влево/Left - 0
Вправо/Right - 1
Вверх/Up - 2
Вниз/Down - 3
Нет/None - 4

Всё это было для элемента 'Подпись/Caption'

Вот примерно так.

Успехов. Дмитрий
reno477
Сообщения: 7
Зарегистрирован: 06 июл 2011 17:07

Сообщение reno477 »

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

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

Вообще-то на наш взгляд каждый разработчик должен иметь свою особенную систему защиты своих разработок. В нашей компании есть собственная модель защиты своих продуктов. По понятным причинам мы не планируем обсуждать ее детали публично на этом форуме.
reno477
Сообщения: 7
Зарегистрирован: 06 июл 2011 17:07

Сообщение reno477 »

каждый разработчик должен иметь свою особенную систему защиты
Полностью согласен. Но если судить по предложеннному здесь:
viewtopic.php?p=12522#12522
и вообще по имеющейся на этом форуме информации, то текст скрипта открыт абсолютно. Как же защититься от копипасты?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Как же защититься от копипасты?
От "копипасты" защититься можно. В свое время мы об этом подумали :D
Те скрипты, которые обсуждаются в форуме - это скрипты с открытым кодом. При написании их мы ставили перед собой две задачи:
1)сделать решение для тех задач, которые очень сильно просили наши пользователи (остановка телефона, подтитровка музроликов, ...)
2)дать примеры для потенциальных сторонних разработчиков
Поскольку мы пониамли, что сторонние разработчики потенциально могут захотеть свои разработки продавать, то была продумана система шифрования скрипта. Выглядит все так:
1)мы предоставляем некий сертификат (текстовый файл)
2)при экспорте скрипта с помощью этого сертификата происходит его шифрование.
В дальнейшем для конечного пользователя при загрузке этого скрипта не создается закладка "Скрипт" в программе FDTitleDesigner. Т.е. что-нибудь скопировать или отредактировать/поломать конечный пользователь не может.
reno477
Сообщения: 7
Зарегистрирован: 06 июл 2011 17:07

Сообщение reno477 »

мы предоставляем некий сертификат
Бесплатно? Что нужно для его получения?
reno477
Сообщения: 7
Зарегистрирован: 06 июл 2011 17:07

Сообщение reno477 »

1)Так все таки что нужно чтобы получить "сертификат"?
2)Не совсем понятно как связать скрипт с титровальным объектом. Как сделать импорт уже готового скрипта в топике про MClip показано. А как сделать скрипт с нуля? Добавить како-нибудь готовый и вычистить его? Не связано ли это с тем, что у меня нет платы?
3)Есть ли возможность работать с титровальными элементами через массив? Например, естьпять "подписей" для показа текста. Хотелось бы свойства их задать в цикле - они одинаковые. И текст задавать в цикле - вроде так удобнее.
4)Свойства в GetProperties() написаны по русски. Это нормально? Или лучше использовать английкий?

5)Про "ScriptPropertyFlags.Browsable" в приведенном на этой странице документе написано - "Скрытое свойство. Данное свойство не будет показываться в окне свойств объекта." Но в MClip все свойства помечены таким флагом и все видны. Где ошибка?

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

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

1)Так все таки что нужно чтобы получить "сертификат"?
Нужно написать письмо на адрес техподдержки.
forward@softlab.tv
forward@sl.iae.nsk.su
forward@softlab-nsk.com

По остальным пунктам ответят люди, которые непосредственно занимаются разработкой идеологии титровальных скриптов.
shish07
Сообщения: 13
Зарегистрирован: 28 мар 2011 17:04

Сообщение shish07 »

Добрый день!
Отвечу как разработчик на все вопросы (почти) по порядку.
reno477 писал(а):2)Не совсем понятно как связать скрипт с титровальным объектом. Как сделать импорт уже готового скрипта в топике про MClip показано. А как сделать скрипт с нуля? Добавить како-нибудь готовый и вычистить его? Не связано ли это с тем, что у меня нет платы?
Для того чтобы создавать скрипты с нуля, необходимо сначала внести в виндовый registry следующую запись:

Код: Выделить всё

Windows Registry Editor Version 5.00

&#91;HKEY_LOCAL_MACHINE\SOFTWARE\SoftLab-NSK\FDTitle&#93;
"ScriptEnable"=dword&#58;00000001
(Можно сделать copy/past в какой-нибудь .reg файл и применить его.)
после этого в FDTitleDesigner в тулбаре окошка 'Дерево Объектов' появится кнопочка 'Добавить скрипт', которая активируется при выборе титровального объекта. Дальше запускается визарт по добавлению скрипта...
reno477 писал(а):3)Есть ли возможность работать с титровальными элементами через массив? Например, есть пять "подписей" для показа текста. Хотелось бы свойства их задать в цикле - они одинаковые. И текст задавать в цикле - вроде так удобнее.
В скрипте есть глобальная переменная 'titleRoot' которая ссылается на объект типа 'TitleObjrctWrapper', у которого есть свойство Count и индексированный доступ ко всем своим элементам.
Примерно вот так:

Код: Выделить всё

for &#40;var i&#58;int = 0; i < titleRoot.Count; i++&#41; &#123;
    titleRoot&#91;i&#93;.LoadTask&#40;"Привет", ETaskType.eTaskText&#41;;	
&#125;
Правда в таком случае выбирать элементы по типам несколько затруднительно (хотя возможно).

Можно пойти другим путём, при инициализации заполнить свой массив нужных вам элементов и с ними работать, например так:

Код: Выделить всё

var capsArray&#58; TitleElementWrapper&#91;&#93; = null;
function Setup&#40;&#41; &#123;
    var arr&#58; ArrayList = new ArrayList&#40;&#41;;
    arr.Add&#40;Caption&#41;;
    arr.Add&#40;Caption_0&#41;;
    ...
    capsArray = TitleElementWrapper&#91;&#93;&#40;arr.ToArray&#40;TitleElementWrapper&#41;&#41;;
&#125;
reno477 писал(а):4)Свойства в GetProperties() написаны по русски. Это нормально? Или лучше использовать английкий?
Если внимательно присмотреться, то по русски там только отображаемые строчки.

Код: Выделить всё

    info.name = "CommentLabel";
    info.displayName = "Метка комментариев";
    info.descr = "Метка для информации в комментариях от OnAir";
А вот свойство 'name' желательно называть латинскими буквами и без пробелов. Именно по этому имени происходит идентификация/сохранение/восстанавение...
reno477 писал(а):5)Про "ScriptPropertyFlags.Browsable" в приведенном на этой странице документе написано - "Скрытое свойство. Данное свойство не будет показываться в окне свойств объекта." Но в MClip все свойства помечены таким флагом и все видны. Где ошибка?
Ошибка в описании. Если внимательно посмотреть на название флага, то можно заметить, что его установка делает свойство видимым. Именно это мы и наблюдаем.
reno477 писал(а):6)В описании MClip дана ссылка на апрельской софт. Есть ли более свежая версия?
У нас то сборки есть, я только не в курсе насчёт публичности.
Кроме того с апреля с скриптах ничего не менялось.
reno477 писал(а):7)С помощью каких титров можно нарисовать таблицу?
Вы хотите табличку в стиле Word-а? Такого точно нет. Но можно организовать табличку из набора Caption/Подпись

С уважением, Дмитрий Шишкин.
AlMaz
Сообщения: 76
Зарегистрирован: 02 июн 2010 12:48
Откуда: Красноярск, Прима-ТВ
Контактная информация:

Сообщение AlMaz »

Добрый день. Такой возник вопрос.
Делаю как написано правку реестра

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\SoftLab-NSK\FDTitle]
"ScriptEnable"=dword:00000001

А кнопочка нужная для создания скриптов не появляется.

Windows 7 64bit
FDTitleDesigner 4.5.9414.1112
ForvardTxLite 5.3.0
AlMaz
Сообщения: 76
Зарегистрирован: 02 июн 2010 12:48
Откуда: Красноярск, Прима-ТВ
Контактная информация:

Сообщение AlMaz »

Разобрался.. В 64 битной системе надо в другую ветвь писать

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SoftLab-NSK\FDTitle]
"ScriptEnable"=dword:00000001
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Да, нужно использовать именно эту ветку.
Извиняемся, что не смогли сразу ответить на этот простой вопрос - в офисе чинили электричество и почта/интернет лежали.
Тимур16
Сообщения: 66
Зарегистрирован: 08 дек 2011 15:26

Сообщение Тимур16 »

Здравствуйте! Появилась нужда вывести титровальный объект во время показа 40-минутной передачи.... Всё перерыл, но нужного не нашел. Есть скрипт выводящий титры в начале клипа и в конце, но нужен выводящий только 1 раз и чтоб можно было регулировать отступ от начала передачи и длительность показа. Подскажите пожалуйста, есть у Форварда такое чудо? Заранее благодарен!
Ответить