Импорт/экспорт клипов из postplay

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

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

Ответить
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Если у Вас только одно хранилище - используйте индекс 0. Если два, то у первого хранилища будет индекс 0, у второго 1. И так далее.

На всякий случай, вдруг поможет: создавать PostPlay-клипы можно с помощью программы FDPostPlayPreview, передавая ей в командной строке путь к текстовому CSV-файлу. Его можно сгенерировать из того же Excel или своей программы.
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):Если у Вас только одно хранилище - используйте индекс 0. Если два, то у первого хранилища будет индекс 0, у второго 1. И так далее.

На всякий случай, вдруг поможет: создавать PostPlay-клипы можно с помощью программы FDPostPlayPreview, передавая ей в командной строке путь к текстовому CSV-файлу. Его можно сгенерировать из того же Excel или своей программы.
Тоесть скрипт остается тем же просто в него добавляется такая строчка:

' Вспомогательная функция для пересчёта времени
' в формате, используемом в PlayList_021103_B.xls,
' в стандартный Variant Time/Date

Function ConvertToDate(lData As Long) As Date
Dim Hours As Long
Dim Mins As Long
Dim Secs As Long
Dim Frames As Long
Hours = lData \ 1000000
lData = lData - Hours * 1000000
Mins = lData \ 10000
lData = lData - Mins * 10000
Secs = lData \ 100
lData = lData - Secs * 100
Frames = lData
ConvertToDate = (Hours + (Mins + (Secs + Frames / 25) / 60) / 60) / 24
End Function

Sub AddClip()
' Создание объекта интерфейса IRPMFragmentDisp
Dim Storage As New RPMFragmentDisp
StorageIndex = 0
' Storage.Init (forward_ring)

'Storage.RefreshStorageInfo

' определение текущей строки
Dim i As Long
i = Selection.Row
' Определение границ клипа из времени старта и длины
Dim ClipStartTime As Date
Dim ClipStopTime As Date
ClipStartTime = Date + ConvertToDate(Cells(i, 1))
ClipStopTime = ClipStartTime + ConvertToDate(Cells(i, 3))
Dim Flags As FragmentFlags
'Установка состояния логотипа
Flags = FF_NOTCHANGELOGOSTATE
' Определение названия PostPlay клипа
Dim ClipName As String
ClipName = Cells(i, 2)
' Цвет берётся из цвета ячейки с названием
ClipCopor = Cells(i, 2).Interior.Color
' Добавление клипа в первое PostPlay хранилище
Call Storage.AddColorFragment(StorageIndex, ClipStartTime, ClipStopTime, ClipName, Flags, ClipCopor)
End Sub

Правильно я понял?
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Думаю, что правильно.

Дело в том, что разработчик, который делал поддержку этих макросов, у нас уже очень давно не работает. Поэтому проверяйте у себя, должно работать, по идее. Какие-то клиенты этим пользуются, жалоб много лет не было.
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):
На всякий случай, вдруг поможет: создавать PostPlay-клипы можно с помощью программы FDPostPlayPreview, передавая ей в командной строке путь к текстовому CSV-файлу. Его можно сгенерировать из того же Excel или своей программы.
Вот этот вариант на самом деле даже более интересен и удобен получается, так так при использовании макроса можно только по одному сюжету вырезать......, а при использовании ключа и CSV-файла, я так понимаю можно нарезать сразу все позиции, а не о одной.

Смотрите что я делал : в инструкции такая подсказка:
FDPostPlayPreview.exe -storage {Name} -impinfo {file.csv}

открывает хранилище с именем {Name}, импортирует в него
информацию о клипах из указанного CSV-файла
(укажите полный путь в кавычках) и закрывает программу.

я дописал в свойствах ярлыка PostPlay следующее

FDPostPlayPreview.exe -storage Cam1 -impinfo "c:\file.csv"

Так вот в чем загвозка ни чего не происходит, хотя сюжеты должныы появиться в OnAir после этого....

Есть 2 подозрения:
1)Не правильно оформлен сам CSV ( можно ли где нибудь скачать образец этого файла?) или посмотреть формат его оформления?
2) неужели не правильно дописал ключи в ярлыке?
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Ключи в командной строке написаны правильно.

Скорее всего, действительно неправильный формат CSV-файла. Причем, если делаете импорт из командной строки, то никаких сообщений об ошибке не выводится (это сделано специально, чтобы программа при вызове из командной строки всегда сразу возвращала управление). Импортом из командной строки можно пользоваться, когда на 100% уверены, что формат файла правильный.

Формат CSV-файла описан в документе:
http://www.softlab.tv/rus/forward/docs/ru_postplay.pdf

См. стр. 127 и далее. Обратите внимание: поля в файле (например, время и длительность клипа) не должны быть заключены в кавычки! Только имя клипа может быть заключено в кавычки (это обязательное правило для строк в CSV-файле, в которых присутствуют пробелы, символ кавычки или разделитель в середине строки).

Также обратите внимание, что возможны разные варианты формата. Например, для клипов можно указывать дату, а можно не указывать - указать только время. Тогда клипы создадутся в соответствии с датой, которая в начале хранилища. Не факт, что у вас хранилище больше суток по длительности, но на всякий случай предупреждаю.

Формат файла можно "подсмотреть" очень простым способом: создайте несколько клипов в самой программе и экспортируйте информацию о них в текстовый файл (меню "Файл/Экспорт информации о клипах") - получите пример гарантированно правильного файла. Причем, в экспортированном файле дата для каждого клипа будет присутствовать, но ее можно убрать (см. выше). Некоторые другие поля тоже являются необязательными - подробнее см. в документе по ссылке выше.

После того, как сделаете CSV-файл сами, попробуйте импортировать его не из командной строки, а из самой программы - меню "Файл/Импорт информации о клипах". В таком случае, если формат файла неправильный, программа выведет сообщение с пояснением, где в файле ошибка. И только когда убедитесь, что ваши файлы импортируются без ошибок, можете делать это через командную строку.
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):Ключи в командной строке написаны правильно.

Скорее всего, действительно неправильный формат CSV-файла. Причем, если делаете импорт из командной строки, то никаких сообщений об ошибке не выводится (это сделано специально, чтобы программа при вызове из командной строки всегда сразу возвращала управление). Импортом из командной строки можно пользоваться, когда на 100% уверены, что формат файла правильный.

Формат CSV-файла описан в документе:
http://www.softlab.tv/rus/forward/docs/ru_postplay.pdf

См. стр. 127 и далее. Обратите внимание: поля в файле (например, время и длительность клипа) не должны быть заключены в кавычки! Только имя клипа может быть заключено в кавычки (это обязательное правило для строк в CSV-файле, в которых присутствуют пробелы, символ кавычки или разделитель в середине строки).

Также обратите внимание, что возможны разные варианты формата. Например, для клипов можно указывать дату, а можно не указывать - указать только время. Тогда клипы создадутся в соответствии с датой, которая в начале хранилища. Не факт, что у вас хранилище больше суток по длительности, но на всякий случай предупреждаю.

Формат файла можно "подсмотреть" очень простым способом: создайте несколько клипов в самой программе и экспортируйте информацию о них в текстовый файл (меню "Файл/Экспорт информации о клипах") - получите пример гарантированно правильного файла. Причем, в экспортированном файле дата для каждого клипа будет присутствовать, но ее можно убрать (см. выше). Некоторые другие поля тоже являются необязательными - подробнее см. в документе по ссылке выше.

После того, как сделаете CSV-файл сами, попробуйте импортировать его не из командной строки, а из самой программы - меню "Файл/Импорт информации о клипах". В таком случае, если формат файла неправильный, программа выведет сообщение с пояснением, где в файле ошибка. И только когда убедитесь, что ваши файлы импортируются без ошибок, можете делать это через командную строку.

Все получилось, пришлось долго мучаться с подгоном имеющегося Exel файла для преобразования в необходимый CSV. Наконец то заработало :lol: :lol: :lol:
Спасибо!!!
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Не за что.

Что именно подгонять пришлось? Может, что-то нужно изменить в программе, чтобы CSV-файл из Excel без дополнительных подгонок принимался?
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):Не за что.

Что именно подгонять пришлось? Может, что-то нужно изменить в программе, чтобы CSV-файл из Excel без дополнительных подгонок принимался?
Вот строчка из CSV- файла который принимает программа:

05:10:56.08 "Семейные узы" 00:07:16.01

У нас например формат записи в файле:

19:36:51:02 Будни 00:00:30:00

ТУТ 2 момента:
1)было неплохо если для программы не имело значения символов между цифрами ":" или "."
2)В файле Exel бывают скрытые строки, при пересохранении в CSV- файл, эти строки автоматом открываются и CSV- файле они присутствуют как пустые(они и есть пустые), так вот не плохо бы если PostPlay на них не выдавал ошибку а переходил дальше к след. строке

Просто мне необходимо было минимизировать нажатие кнопок для пользователя при пересохранении exel в CSV- файл.
Вот эти моменты заставляют зависнуть на функциях MSOffice, и подумать как это сделать за меньшее кол-во манипуляции.

П.С. Но я понимаю что под всех не угодишь, и у кого то может быть другой стиль оформления Exel.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

У нас например формат записи в файле:

19:36:51:02 Будни 00:00:30:00
Последние два ноля - это именно кадры, не доли секунды?
ТУТ 2 момента
Про то, что бывают пустые невидимые строки, этого я не знал, и в голову не приходило, что такое может быть. Про разделители тоже понятно.

Оба момента несложно реализовать. Внесу в планы по реализации. Если удастся быстро сделать, дадим здесь ссылку на обновленную версию.
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):
У нас например формат записи в файле:

19:36:51:02 Будни 00:00:30:00
Последние два ноля - это именно кадры, не доли секунды?
ТУТ 2 момента
Про то, что бывают пустые невидимые строки, этого я не знал, и в голову не приходило, что такое может быть. Про разделители тоже понятно.

Оба момента несложно реализовать. Внесу в планы по реализации. Если удастся быстро сделать, дадим здесь ссылку на обновленную версию.
Да это кадры.
Ок, если будет обновление классно.
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

Позвольте еще уточнение, прикладываю скрин , а как можно одним нажатием перенести все нарезанные сюжеты в плейлист, что то типа Ctrl+A существует?
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Судя по всему, нет такой возможности. Вы уверены, что если бы она была, то нарезанные сюжеты точно в нужной последовательности в расписание попадут? Как их предполагается сортировать в таком случае - по времени начала, по имени?
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

vd писал(а):Судя по всему, нет такой возможности. Вы уверены, что если бы она была, то нарезанные сюжеты точно в нужной последовательности в расписание попадут? Как их предполагается сортировать в таком случае - по времени начала, по имени?
Да по времени начала, просто добавить скопом потом редактировать или добавлять между передачами что то намного быстрее при составлении плейлиста на день, чем поодному....хм жалко
sam_susam
Сообщения: 10
Зарегистрирован: 09 дек 2015 14:03

Сообщение sam_susam »

sam_susam писал(а):
vd писал(а):Судя по всему, нет такой возможности. Вы уверены, что если бы она была, то нарезанные сюжеты точно в нужной последовательности в расписание попадут? Как их предполагается сортировать в таком случае - по времени начала, по имени?
Да по времени начала, просто добавить скопом потом редактировать или добавлять между передачами что то намного быстрее при составлении плейлиста на день, чем поодному....хм жалко
Может я не совсем корректно задал вопрос, или может конечно зря пишу в этой теме, извиняйте. Тогда уточните такой нюанс.

У нас есть кольцо Forward, на PostPlay. И есть плейлист изначально в Exel документе. Мы приводим этот Exel в формат CSV для того чтобы чтобы нарезать записанное кольцо на ролики, все ОК. но зачем тогда мы все это делаем если мы потом в OnAir не можем добавить весь список в расписание??? Просто поштучно мы можем сутки сопоставлять все вручную.

Тоесть можно ли автоматически составлять в конечном счете расписание из этой нарезки по тому же плейлисту по которому и делали нарезку кольца? (под расписание и подразумевается зона отмеченная вопросом на скрине)

PS. Вроде описал как поминаю)))
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Просто поштучно мы можем сутки сопоставлять все вручную.
Ваша проблема понятна. Прямо скажем: Вы первый, кто обратился к нам с таким запросом. Видимо, все остальные люди не доверяют способу "добавить всё одним разом, а там будь что будет", и добавляют клипы по одному. А если клипы окажутся не в том порядке? В программе OnAir нет возможности их двигать вверх-вниз в расписании.

В текущей версии OnAir такая возможность вряд ли будет добавлена. У нас сейчас в разработке новая версия программы OnAir2. Мы внесем в планы по ее разработке возможность добавления нескольких выбранных элементов из файловой страницы в расписание. Когда новая версия будет выпущена официально, пока сказать сложно - надеюсь, что в этом году.
Ответить