Концепции программирования под FDTM(FD300)

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

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

Ответить
listar
Сообщения: 3
Зарегистрирован: 30 мар 2007 00:33
Откуда: Москва
Контактная информация:

Концепции программирования под FDTM(FD300)

Сообщение listar »

Приветствую! Последние 3 года я занимался разработкой титровальных систем для разных tv-каналов на базе плат "совместимых" с библиотекой Inscriber RTX (Matrox, Inscriber)

По некоторым причинам, на текущий момент, я пытаюсь найти иную платформу для своих разработок. Очень бы хотелось увидеть FDTM именно в этом качестве, но для начала есть несколько вопросов :)
/*concept:*/
1. Просмотрев SDK (справедливости ради, стоит заметить, что беглым взглядом), я не нашел описание концепций программирования под вашу плату :( Другими словами, есть разные документы с детализированным описанием разных объектов, но единую картину за большим кол-вом технической информации, выстроить у меня не получилось... можно конечно изучить полностью ВСЕ документы, но на это уйдет очень много времени :((( пример: в SMSChatClient.doc говорится про подключение к некоему "титровальному элементу SMS"... ссылки, где бы почитать про этот элемент я не нашел или не заметил... Кроме того, не очень понятно с какого именно документа стоит начинать знакомится с API (хотя подозреваю, что это FDTM_SDK_BoardDescription, а затем FDTM_SDK_Objects). Теперь наконец первый вопрос: существует ли документ (быть может схема), описывающий зависимости ВСЕХ объектов с кратким(!) описанием? :)

2. Если я правильно понял, то FDTM позволяет одновременно комбинировать в "неограниченном" кол-ве произвольный набор эффектов (анимация, текст, барабаны, бегущие строки, часы и т.п.)... так ли это? если я ошибаюсь, то каковы ограничения?

3. Присутствуют ли объекты "высокого" уровня в API (те же самые барабаны[rolls], бегущие строки[crawls], часы[clocks], преобразования[transitions] и т.п.)? Другими словами, достаточно ли мне будет "четырех" строчек кода, чтобы вывести бегущую строку (создал объект, задал направление и скорость, накидал текст, подготовил и выдал в эфир) или необходим значительный набор более низкоуровневых описаний и вызовов?

4. Если объекты "высокого" уровня существуют, то позволяют ли они содержать друг друга? :)) например, барабан наполнять не строчками обычного текста, а анимационными картинками... ну и т.п.

/*rapid dev:*/
5. планируется ли (и как скоро) создать (или быть может уже есть) справочник по API в более адекватном формате, нежели MS Word (желательно интегрированный в последний MS Document Explorer для удобства работы в VS2005)

6. планируется ли (и как скоро) переориентация с ATL на Framework? а в дальнейшем и на WinFX(если я не напутал с названием технологии:)) )?

есть еще вопросы, но большинство из них, пожалуй, будут зависеть уже от ответов на поставленные :)

Заранее огромное спасибо!! :)

С уважением, Алексей Исайко
Технический консультант
RMG
RU.TV

PS и прошу прощения за немаленькое кол-во "букав" :(
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

1. По поводу концепции программирования.
Да, у нас нет одного документа, поскольку плата FD300 позволяет сделать очень много и очень разного. Вас же, как я понял, интересуют титры. Это очень слабо относится конкретно к плате FD300, поскольку работает и будет работать и на других платах (и совсем без платы). Вам нужно читать только SLTMTitleRunTimeSDK.
Документа с описанием всех свойств титровальных элементов у нас нет. Есть описание программы FDTitleDesigner, которая многое из свойств описывает. Как обычно, документация не поспевает за возможностями, поэтому большинство пользователей изучает свойства опытным путем. Зачастую названия свойства и комментария к нему достаточно для понимания, что это за свойство и что с ним делать.

2. Да, наши титры многослойные с независимым управлением каждым слоем. В одном слое может находиться только один титровальный элемент. Из нескольких титровальных элементов можно сделать одну группу - титровальный объект, которым можно управлять как единым целым.

3. SLTMTitleRunTimeSDK описывает именно высокоуровневый интерфейс управления объектами (группами) из титровального проекта, созданного в программе FDTitleDesigner.

4. Нет, титровальные элементы существуют независимо друг от друга. Каждый из элементов умеет показывать титры своим собственным способом. Изменить поведение элемента (например, добавить анимацию в бегущую строку) можно только переписав код этого элемента.
SLTitleSDK описывает низкоуровневый интерфейс генерации титров из памяти. Вы можете написать свой код, который будет генерировать поток картинок по Вашим условиям из Ваших исходных данных.

5. Пока не планируется. Наводить красоту можно в том случае, когда решена основная задача. А у нас сейчас титровальные элементы развиваются и изменяются каждые 2-3 месяца - в каждом релизе появляются новые титровальные элементы.
Сейчас главная задача просто описать новые элементы.

6. Не понял вопроса. Мы пишем код и на ATL и на .NET. Экспериментируем с WinFX, но это никак не касается способа взаимодействия с нашим титровальным SDK. В качестве способа взаимодействия нами уже очень давно выбран DCOM. Он поддерживается практически всеми платформами разработки приложений. Примеры даны на MSVC++, поскольку это наша "родная" среда разработки. Но Вы можете разрабатывать свои приложения и на MSVC, и на Borland Bulider и просто из MSExcel.

Итог.
Рекомендую ознакомится с SLTMTitleRunTimeSDK и SLTitleSDK. Почитать документы, посмотреть примеры.
Затем запустить программу FDTitleDesigner (почитать ее мануал) и поиграться с существующими титровальными элементами. Благо, программа работает на любой машине (в том числе без платы FD300).
admin
Site Admin
Сообщения: 323
Зарегистрирован: 07 ноя 2005 19:42

Сообщение admin »

Мы имеем достаточно большой и успешный опыт работы с разработчиками, использующими наше SDK, как в России, так и в других странах (Аргентина, Италия, Ю. Корея, Китай...). Исходя из этого опыта выработался и подход к решению проблем - Вы описываете конкретную задачу, а мы подскажем как ее решить средствами нашего SDK (какие интерфейсы использовать, примеры кода...).
Поэтому если у Вас есть конкретная задача, то можете обращаться к нам напрямую: forward@sl.iae.nsk.su. Чем можем поможем:)
listar
Сообщения: 3
Зарегистрирован: 30 мар 2007 00:33
Откуда: Москва
Контактная информация:

Сообщение listar »

Спасибо за скорые и понятные ответы! :)

Игорь Таранцев:
Вас же, как я понял, интересуют титры
не все так просто :( Титры, на мой взгляд, являются одним из самых тонких и сложно формализуемых моментов в "готовых" системах автоматизации. Хотя бы по той причине, что трудно заранее предвидеть куда "полетит" дизайнерский креатив будущих "пользователей" данных систем. Потому я и уделяю много внимания именно титровальной составляющей. Кроме того, интересует воспроизведение видео, рар-проекции, частотный (и не только) анализ звукового потока и т.п. и т.д.
будет работать и на других платах
наверное, я пропустил описания иных плат на вашем сайте :( буду искать.
Зачастую названия свойства и комментария к нему достаточно для понимания, что это за свойство и что с ним делать.
без сомнения! но эти описания широко разбросаны по документы (ибо их много) и не прочитав (точнее не проанализировав) весь документ, представить возможности платы практически нереально :(
Да, наши титры многослойные с независимым управлением каждым слоем.
Это отлично! А кол-во слоев ограничено возможностями титровального компа (например, объем RAM)? или исключительно возможностями FD300?
из титровального проекта, созданного в программе FDTitleDesigner
существует описание формата файла, содержащего титр.проект? или это закрытый формат?) другими словами, я могу создавать данные проекты своими методами, без участия FDTitleDesigner? (не отсылайте меня пока на "скачайте и попробуйте" - я это обязательно сделаю, но хотелось бы после того, как прояснятся некоторые моменты. Да и другим участникам форума все это, быть может, окажется интересным)
Вы можете написать свой код, который будет генерировать поток картинок по Вашим условиям из Ваших исходных данных
В принципе, тоже неплохо и потенциал шире :)
Пока не планируется. Наводить красоту можно в том случае, когда решена основная задача.
ну, в принципе, если все сложится, то красоту я и своими силами смогу навести :)) Благо опыт с документацией по RTX уже имеется :)
Однако, учитывая мировой опыт разработки ПО и тенденции развития рынка видео-продуктов и технологий, основная задача не будет закончена никада (не именно вашей командой, но в принципе)) ИМХО.
Не понял вопроса. Мы пишем код и на ATL и на .NET. Экспериментируем с WinFX
просто нетовский Interop по умолчанию не всегда корректно создает MDL... а ручками все это делать долго и муторно. По большому счету, я имел ввиду что-то вроде namespace'а "Forward" и далее внутрь по объектам :)) но это тоже своего рода украшательство. С другой стороны, скорость разработки и удобство не последние вещи, которые принимают во внимание кодеры всего света :))) Но опять же, на данном этапе все это не критично и можно сделать своими силами, если приспичит :)
Примеры даны на MSVC++
Предполагаю, что речь идет о VC6... Ну или точнее MFC,ATL и т.п. Ибо в контексте Управляемого кода и MSVS2005 Microsoft круто поизвращалось с C++ :))
Рекомендую почитать документы, посмотреть примеры и запустить программу
Как только я, более менее, буду представлять первоначальную картину, найду время и обязательно последую Вашему совету! А пока хочу выразить искреннюю признательность за Ваши ответы!

admin:
Поэтому если у Вас есть конкретная задача, то можете обращаться к нам напрямую: forward@sl.iae.nsk.su.
К сожалению "конкретной" задачи, как таковой, нет. Точнее она довольна обширна... Возможно придется портировать существующие системы автоматического и ручного титрования, осуществлять разработку новых и т.п. Ввиду вышесказанного, не стал писать на указанный Вами адрес. Да и учитывая несколько изменившуюся ситуацию с продуктами Inscriber'а, вполне реально, что не только я начну искать иные варианты и искателям, возможно, этот форум в чем-то поможет :) На данный момент мне видятся две наиболее перспективные платформы: Форвард и Matrox DSX.
Последний раз редактировалось listar 30 мар 2007 15:51, всего редактировалось 1 раз.
admin
Site Admin
Сообщения: 323
Зарегистрирован: 07 ноя 2005 19:42

Сообщение admin »

А кол-во слоев ограничено возможностями титровального компа (например, объем RAM)? или исключительно возможностями исключительно FD300?
Количество слоев ограниченно возможностями процессора.
существует описание формата файла, содержащего титр.проект? или это закрытый формат?) другими словами, я могу создавать данные проекты своими методами, без участия FDTitleDesigner?
Нет, описание файла *.SLTitleProj в SDK не вынесено и пока не планируется. Файл имеет xml-формат с достаточно понятной структурой. При необходимости Вы можете сами "расколоть" его. Но поскольку наши титровальные элементы постоянно меняются, добавляются новые свойства, изменяются старые, то мы не считаем пока возможным зафиксировать формат.
Предполагаю, что речь идет о VC6... Ну или точнее MFC,ATL и т.п. Ибо в контексте Управляемого кода и MSVS2005 Microsoft круто поизвращалось с C++ :))
Нет, речь идет не только о VC6. Мы в своих проектах используем VC6, VC7.1 (Microsoft Visual Studio .NET 2003), VC8 (Microsoft Visual Studio 2005). Кроме того, есть проекты на C#.
Что касается управляемого кода, то мы его не используем. Кстати, он появился раньше - с появлением .Net

Вроде ответили на все :).
listar
Сообщения: 3
Зарегистрирован: 30 мар 2007 00:33
Откуда: Москва
Контактная информация:

Сообщение listar »

Вроде ответили на все .
Совершенно верно!! И огромное спасибо!!
Теперь буду изучать документацию!

PS
Кстати, он появился раньше - с появлением .Net
да, но синтаксис С++ майкрософт "дополнил" только в VС8
admin
Site Admin
Сообщения: 323
Зарегистрирован: 07 ноя 2005 19:42

Сообщение admin »

:D
Ответить