Может ли одна идея изменить мир?

Конвертирование видео в формат DCP для просмотра на цифровых видеопроекторах (×)

Конвертирование видео в формат DCP для просмотра на цифровых видеопроекторах

Конвертирование видео для просмотра на цифровых видеопроекторах

(краткая инструкция)

 

То, что есть (исходный материал и пр.):

1. Исходное видео. Как правило, это видеоролик стандартного разрешения 720x576 (25 кадров/сек) для просмотра на компьютере или DVD-проигрывателе – mpeg2 или avi-файл с пожатым видео и звуком. (Если исходник в HD 1920x1080 или 1200x720 – то лучше и быть не может ))) )

2. Архив со всеми необходимыми программами (Open Cinema Tools, Image Magick, MPlayer), скриптами для преобразования видео (bat-файл) – это бесплатное ПО.

3. Дополнительное ПО (возможно не бесплатное) для подготовки исходного audio и video для конвертации: Virtual Dub (можно русский) или Virtual Dub Mod с встроенным фильтром resize, Adobe Audition, Блокнот или Akelpad, проги для просмотра изображения, проигрыватели, КОДЕКИ (!) что-то типа K-Lite Mega Codec Packa желательно последней версии, чтобы аудио/видео воспроизводилось без тормозов... и пр. то, что может пригодиться. Возможно использовать альтернативное ПО (аудио, видеоредакторы, конверторы), главное чтобы оно позволяло подготовить аудио и видео для конвертации с требуемыми параметрами. ОС – Windows XP, хотя и под Win 7/Vista должно работать.

4. Довольно мощный комп или ноутбук (чем мощнее проц, тем лучше). Процесс преобразования видео требует много времени и запаса свободного места на жестком диске. Приблизительно для конвертации ролика длительностью 1 мин требуется 2-3 часа и 10-15 Гб!

5. Мозги J, немного опыта для представления о том, как вообще работать с видео и естественно БОЛЬШОЕ желание достичь результата – получить видеоролик в DCP-формате, который будет воспроизводиться на видеопроигрывателях Dolby Show Player.

 

Некоторое вступление по поводу формата DCP (Digital Cinema Package).

В готовом двухмерном DCP-ролике (DCP-проекте) в формате flat или scope должно содержаться как минимум 6 файлов (Названия файлов и расширение имеет значение!):

{имя проекта}*.audio.mxf – архив аудиотреков для каждого канала звука,

{имя проекта}.video.mxf – архив кадров в формате jpg2000,

VOLINDEX

ASSETMAP

{имя проекта}.cpl.xml

{имя проекта}.pkl.xml

*{имя проекта} – переменная, которая задана в скрипте, см. далее.

 

Ну что? Вперед?

Допустим, что весь необходимый софт для просмотра и редактирования аудио/видео на рабочей машине установлен и настроен.

1. Распаковываем содержимое архива Default DCP.rar в корень диска D:\ (При условии, что на нём достаточно свободного места! В противном случае нужно будет исправить все пути в скрипте, см. далее.). Должно получиться D:\DCP\и далее в нем 4 каталога: ImageMagick, MPlayer, OpenCinemaTools, Template – это так называемое рабочее место для подготовки и сохранения полученного DCP-ролика.

2. Запускаем инстальник ImageMagick6.6.2-1Q16.exe – редактор изображений для конвертации кадров в jpg2000. И устанавливаем в D:\DCP\ImageMagick\{файлы проги}. Правильность указания путей имеет очень важное значение – см. далее скрипт.

3. Папки MPlayer, OpenCinemaTools пока не трогаем. MPlayer – проигрыватель исходного видео и аудио, который раскладывает видео по кадрам и звук на моно каналы. OpenCinemaTools – прога для создания xml-файлов (Хотя в ней наверняка возможно получить mxf-файлы с аудио и видео информацией – только вот пойдут ли они на Dolby Show Player? – ответ не ясен.)

4. Складываем в папку D:\DCP\Template подготовленные аудио и видеофайлы для конвертации в DCP. Здесь поподробнее.

Сейчас в папке Template содержатся две папки:

input – туда нужно сложить исходные аудио и видео (в соответствующих папках audio и video)

и script – содержит bat-файл(ы) скрипта (repack.bat – имя файла не имеет значение), которые нужно запустить для получения mxf-ахивов аудио и видео.

Также в процессе работы скрипта в папке Template создаются папки processing – временные файлы для конвертации видео, и out – здесь появятся готовые mxf-архивы и в последующем этапе xml-файлы DCP-проекта, т.е. всё, что будет лежать в папке out нужно залить в Dolby Show Player.

При запуске скрипта (bat-файла) создаются файлы {имя проекта}.audio.mxf и {имя проекта}.video.mxf – это первый этап получения DCP-проекта!

Процесс получения mxf-видеофайла состоит из трех этапов:

01-pics – каждый кадр изменяется по шрине и высоте и сохраняется в виде ppm-файлов

02-transformed – каждый кадр сохраняется в виде tif-файла и при этом изменяется цветовое пространство из RGB в XYZ, совместимое с jpeg2000.

03-j2c – каждый кадр преобразуется и сжимается в j2c-файлы формат jpeg2000.

Самое важное в п.4: подготовить аудио и видеофайлы для конвертации в DCP!

Что здесь нужно понимать?

Рисунок 1. Форматы, поддерживаемые Dolby Show Player

Исходя из скриншота становится понятно, что Dolby Show Player понимает видео только строго определенного разрешения! (Были проведены эксперименты, даже разница в 1 пиксел от стандартного разрешения делает DCP-проект нечитаемым, хотя сам проект переписывается и воспринимается цифровым плеером.)

Есть два варианта демонстрации – кашетированный или плоский (flat 1998x1080 и 1920x1038) и широкоэкранный (scope 2048x858 и 1920x804). Мне приходилось конвертировать ролики только с разрешениями 1998x1080 и 2048x858 – они гарантированно должны поддерживаться на цифровом проигрывателе!

Это тоже очень важно: соотношение сторон при изменении разрешения исходного видео в формат flat или scope естественно не соблюдается! Чтобы этого избежать нужно исходное видео (720x576) предварительно пересохранить в видео которое пропорционально по высоте будет = 1080 или 858 пикселям, а по ширине для дополнения до 1998 или 2048 нужно добавить черные полосы. Непонятно? Этот момент я подробно разъясню позже т.к. это не влияет на процесс конвертации в DCP (это влияет на корректность отображения полученного видео на экране!), а сейчас приведу пример пропорций, которые я обычно использую для предварительного преобразования исходного видео:

исх. 720x480 → 1998x1332 с сохранением пропорций по ширине

                         1620x1080 и высоте

н.получить 888x480 ← 1998x1080 требуемое

Flat:

1280x720 → 1998x1080
1332x720 ← 1920x1080

Scope:

1280x720 ← 2048x858
1718x720 → 1525x858

Flat:

700x434 → 1998x1080
802x434 ← 1741x1080

Scope:

700x434 ← 2048x858
1035x434 → 1383x858

Flat:

536x326 → 1998x1080
603x326 ← 1775x1080

 

С преобразованием разрешения видео отлично справляется Virtual Dub с фильтром resize (по нему есть отдельная статья, см. архив)

Вот скриншоты для того чтобы стало понятнее (1 – исходное видео, 2 – настраиваем фильтр resize, 3 – пропорции исходного изображения не изменилось, а ширина кадра увеличилась за счет черных полос слева и справа. Когда скрипт пропорционально растянет кадр дл 1998x1080 изображение не исказится!)

Рисунок 2. Исходное видео с разрешением 536x326

Рисунок 3. Параметры фильтра resize в Virtual Dub – Обрезка 603 по ширине – чтобы добавить полосы чёрные полосы слева и справа!

Рисунок 4. Для дальнейшего преобразования через скрипт нужно получить 603x326

Примечание: режим scope на экране выглядит лучше, чем flat, несмотря на илишние черные полосы – это лично мое наблюдение, и оно может быть неверным на разных проекторах и экранах.

В Virtual Dube придётся сохранить видео без сжатия, поэтому размер «подготовленного» файла для скрипта будет БОЛЬШИМ (при его сохранении можно аудио убрать совсем, оно не повлияет на работу скрипта)

Также стоит обратить внимание на Аудиофайлы! Хм... Вопрос: откуда их взять? – естественно из исходного видеоролика! Но чтобы скрипт понял звуковые дорожки и запаковал их в mxf-архив нужно разложить каждую звуковую дорожку на mono-сигнал с частотой дискретизации 48 кГц, с потоком данных 24 бита в PCM WAV type 1 формате.

Как правило, в исходных роликах звук представлен в стерео-формате и тогда стоит сохранить 2 wav-файла для левого и правого каналов. В Adobe Audition легко можно выполнить данные преобразования! (Команда Правка->Преобразовать тип семпла и далее при сохранении каждой звуковой дорожки выбрать 24 бита и частоту 48 кГц!)

Примечание: также нужно помнить о нормализации звука – изменение уровня громкости. Как правило в рекламных роликах очень громкий звук и представте что произойдет с динамиками и зрителями когда мощность удваивается (левый/правый канал) и проходит через усилитель! Реклама уши режет! ))) Поэтому Нормализацию полено ставить на 50%. Но опять же все зависит от исходного звука.

5. Когда исходное аудио и видео готово (лежит в папках D:\DCP\Template\input\audio и D:\DCP\Template\input\video соответственно) самое время подправить и проверить сам СКРИПТ (bat-файл в папке D:\DCP\Template\input\script):

Скрипт для кодирования видео в DCP-формат
rem By Pak (pak.russia@gmail.com). Based on the reduser.net forum (http://reduser.net/forum/showthread.php?t=33118), rdi's (di2.rdi@gmail.com) and my own experiments.
rem Last Edited 19/03/2010

rem Project Directory Name
SET DIRNAME=D:\DCP\Template

rem Project Name
SET PROJNAME=Coral_TRL_SCOPE_RU
rem Video for Left Eye
SET VIDEOINPUTLEFT=Coral.avi
rem AudioFile Name For Left Channel
SET AUDIOINPUTL=coral.wav
rem AudioFile Name For Right Channel
SET AUDIOINPUTR=coral.wav


rem ---------------------------Catalog-------------------------------------------
rem MPlayer Directory Name
SET MPLAYERDIRNAME=D:\DCP\MPlayer
rem ImageMagick Directory Name
SET IMDIRNAME=D:\DCP\ImageMagick
rem Open Cinema Tools Directory Name
SET OCTDIRNAME=D:\DCP\OpenCinemaTools


cd ..

mkdir "%DIRNAME%\processing"
cd "processing"

mkdir "%DIRNAME%\processing\01-pics"
cd "01-pics"


mkdir "%DIRNAME%\processing\01-pics\left"
cd "left"

%MPLAYERDIRNAME%\mplayer -vo pnm -zoom -x 2048 -y 858 "%DIRNAME%\input\video\%VIDEOINPUTLEFT%"

cd ..
IF defined VIDEOINPUTRIGHT (mkdir "%DIRNAME%\processing\01-pics\right")
IF defined VIDEOINPUTRIGHT (cd "right")

IF defined VIDEOINPUTRIGHT (%MPLAYERDIRNAME%\mplayer -vo pnm -zoom -x 2048 -y 858 "%DIRNAME%\input\video\%VIDEOINPUTRIGHT%")


mkdir "%DIRNAME%\processing\02-transformed\left"

FOR /F %%i IN ('dir /B "%DIRNAME%\processing\01-pics\left\*.ppm"') DO %IMDIRNAME%\convert "%DIRNAME%\processing\01-pics\left\%%i" -alpha Off  -depth 12  -gamma 0.454545 -recolor "0.4124564 0.3575761 0.1804375 0.2126729 0.7151522 0.0721750 0.0193339 0.1191920 0.9503041" -gamma 2.6 -type truecolor "%DIRNAME%\processing\02-transformed\left\%%i.tif"


IF defined VIDEOINPUTRIGHT (mkdir "%DIRNAME%\processing\02-transformed\right")

IF defined VIDEOINPUTRIGHT (FOR /F %%i IN ('dir /B "%DIRNAME%\processing\01-pics\right\*.ppm"') DO %IMDIRNAME%\convert "%DIRNAME%\processing\01-pics\right\%%i" -alpha Off  -depth 12  -gamma 0.454545 -recolor "0.4124564 0.3575761 0.1804375 0.2126729 0.7151522 0.0721750 0.0193339 0.1191920 0.9503041" -gamma 2.6 -type truecolor "%DIRNAME%\processing\02-transformed\right\%%i.tif")


mkdir "%DIRNAME%\processing\03-j2c\left"

FOR /F %%i IN ('dir /B "%DIRNAME%\processing\02-transformed\left\*.tif"') DO %OCTDIRNAME%\image_to_j2k -cinema2K 24 -i "%DIRNAME%\processing\02-transformed\left\%%i" -o "%DIRNAME%\processing\03-j2c\left\%%i.j2c" -OutFor j2c 


IF defined VIDEOINPUTRIGHT (mkdir "%DIRNAME%\processing\03-j2c\right")

IF defined VIDEOINPUTRIGHT (FOR /F %%i IN ('dir /B "%DIRNAME%\processing\02-transformed\right\*.tif"') DO %OCTDIRNAME%\image_to_j2k -cinema2K 24 -i "%DIRNAME%\processing\02-transformed\right\%%i" -o "%DIRNAME%\processing\03-j2c\right\%%i.j2c" -OutFor j2c) 

mkdir "%DIRNAME%\out"

IF defined VIDEOINPUTRIGHT (%OCTDIRNAME%\asdcp-test -v -3 -c "%DIRNAME%\out\%PROJNAME%.video.mxf" "%DIRNAME%\processing\03-j2c\left" "%DIRNAME%\processing\03-j2c\right") ELSE (%OCTDIRNAME%\asdcp-test -v -c "%DIRNAME%\out\%PROJNAME%.video.mxf" "%DIRNAME%\processing\03-j2c\left")

%OCTDIRNAME%\asdcp-test -v -c "%DIRNAME%\out\%PROJNAME%.audio.mxf" "%DIRNAME%\input\audio\%AUDIOINPUTL%" "%DIRNAME%\input\audio\%AUDIOINPUTR%"


cd ..

cd script

pause
[Свернуть]

К сожалению я не вникал в подробности каждой команды и её параметры. Но всё, что имеет возможность легко поменять для конкретного DCP-проекта, места расположения и разрешения видеоизображения (flat/scope) – выделено красным. Здесь всё интуитивно понятно, поэтому не требует особых объяснений. Скажу, что вместо Coral_TRL_SCOPE_RU может быть написано vse_chto_ugodno, т. е. латинскими буквами (регистр букв не имеет значения, без пробелов!) обычно я пишу название исходного видеоролика на транслите J и добавляю scope или flat. Соответственно, подготовленные видеофайлы и аудиофайлы стараюсь называть схоже с именем проекта + _left или _right для звука. Для видеофайла расширение может быть как avi, так и mpg и vob. Главное, чтобы MPlayer смог его прочитать.

Замечание по тексту скрипта: регистр букв в каждой команде и её параметрах имеет очень существенное значение, поэтому что-то менять нужно аккуратно J.

6. Все это было Подготовка к Первому этапу для преобразования видео в DCP-проект. Теперь когда все готово (в скрипте правильно указаны пути и названия файлов, разрешение, название проекта и пр., подготовленной видео и аудио лежит там где прописано и называется так как прописано и причем оно в таком виде который оптимально будет выглядеть и слышаться на цифровом проигрывателе) остается, самое важное, НАБРАТЬСЯ ТЕРПЕНИЯ, особенно на медленных компьютерах, и запустить скрипт (bat-файл в папке D:\DCP\Template\input\script). Первый этап наконец-то пошёл... (Преобразование длиться довольно долго: на 1 мин видео нужно 2-3 часа, а подготовка длится, как правило, несколько минут).

В ходе конвертации скрипт запускает MPlayer и раскладывает подготовленное видео на кадры. При этом если в видеофайле есть звук, то можно слышать прерывистое звучание – это так и должно быть.

Как было сказано выше, процесс конвертации видео проходит в три этапа: разложение на кадры, преобразование цветового пространства и сжатие/сохранение в jpg2000. И в итоге в папке out создаётся файл {имя проекта}.video.mxf.

Команда %OCTDIRNAME%\asdcp-test -v -c "%DIRNAME%\out\%PROJNAME%.audio.mxf" "%DIRNAME%\input\audio\%AUDIOINPUTL%" "%DIRNAME%\input\audio\%AUDIOINPUTR%" скрипта создаёт в папке out файл {имя проекта}.audio.mxf.

7. Наконец-то самое важное сделано, но не менее важное – второй этап преобразования ролика в DCP-проект. К счастью, этот этап проходит намного быстрее.

Здесь нам как раз понадобиться папка OpenCinemaTools и в ней запускаем DcpMaker.exe.

Появляется окно программы.

Рисунок 5. Настройки Open Cinema Tools

Скриншот немнога отличается от необходимого, поэтому не обращаем внимание на надписи в блоках JPEG 2000 Encoding, Sound Channels Selection и MDF Wrapping – там должно быть пусто. В разделе Composition Playlist нужно указать пути к Video и Audio MDF-файлам, указать Content kind – test (! Другие варианты не проверялись !), обязательно указать заголовок DCP-проекта в поле Movie title и описание в поле Annotation text – любые одинаковые надписи (включая в разделах Paking List и Asset map), лучше взять из названия файла. Короче, я обычно ориентируюсь на этот скриншот и делаю также как там.

Жмём "Make DCP" и через некоторое время получаем в папке D:\DCP\Template\out ещё 4 xml-файла. Убираем расширение у файлов ASSETMAP.xml и VOLINDEX.xml:

Рисунок 6. Полученные файлы DCP-проекта

8. Но и это ещё не всё! Осталось дело за малым - отредактировать xml-файлы.

Открываем их в блокноте или другом текстовом редакторе, например AkelPad и меняем вторую строку каждого файла на следующие:

– для файла VOLINDEX:


– для файла ASSETMAP:


– для файла {имя проекта}.cpl.xml:


– для файла {имя проекта}.pkl.xml:


Также в файле {имя проекта}.pkl. xml нужно либо удалить хеши (полностью удалить строки 12, 20, 27) между дескприторами , либо заменить два первых на следующие:

I3wOAyimAQNe9SOjfdLeWR0gsm4=
... ... ...
dYWK60yaiP5YmIwzClR1AVzXL3I=

9. Радуйтесь! На этом конвертация видео в DCP-формат закончена. Всё (обычно 6 файлов), что находиться в папке D:\DCP\Template\out (или вместе с папкой) скидываем на флешку или на диски, трясём киномехаников – пусть пошевеливаются и побыстрее заливают готовый DCP-проект на Dolby Show Player, ну и во время перерыва, если получится можно глазком увидеть какая "фигня порнушная" поучилась... Да, именно "фигня порнушная"! Потому что видеоизображение изначально было меньшего разрешения, а как известное из меньшего изображения невозможно получить более четкое качественное и полное изображение. Оно будет нечётким и размытым... Но если рекламодателей это вполне устраивает (и они на ЭТОМ пытаются вытянуть деньги? Как мне жалко тех людей, которые платят за какие-то 10-15 секунд видеотрансляции ТАКИЕ деньги...)

В общем, если звук и видео всех устраивает, то наше дело сделано!

 

Отдельно хочется выразить огромную благодарность замечательному человеку, который собственно разработал и протестировал данный алгоритм преобразования видеороликов в DCP-формат. Это молодой творческий и смекалистый киномеханик – Тупиков Евгений с мультиплекса Уфа-2. Также привожу его контактную информацию (на случай если возникнут какие-нибудь практические вопросы):

моб. тел.: 8-905-004-8355;

ICQ: 230873284;

Страница Вконтакте: http://vkontakte.ru/blackwinter.

 

Данный алгоритм написан и распространяется абсолютно бесплатно! С обоюдного согласия самого автора. Этот материал предоставлен только с целью ознакомления и практического применения для корпоративных нужд сети кинотеатров ЗАО «Синема Парк». Поэтому не стоит выкладывать данную статью в Интернете и сетях имеющих доступ в сети общего пользования. За распространение данного материала ни в коем случае не должны взиматься денежные средства!

 

Также поддерживается совместная работа в команде и дальнейшее совершенствование методов преобразования видеороликов в формат DCP для просмотра на цифровых видеопроекторах. В частности, возможность преобразования и трансляции 3D роликов. Если у вас есть что добавить или помочь по этой теме – мы всегда будем вам очень благодарны.

Работа над данной инструкцией ещё не закончена, необходимо подробно разъяснить все команды и параметры скрипта для преобразования видеоролика. Что требует дополнительных затрат времени... Поэтому в лучшем случае займусь этим после Нового года.

Есть также технические и практические особенности преобразования обычных видеороликов в формат DCP. Например, в ходе преобразования видеоролика в 4 минуты было занято 150 Гб дискового пространства на жестком диске, а длительность преобразования составила 8 часов! Т.е. имея даже сверх мощный компьютер и достаточно времени для преобразования этот алгоритм преобразования является крайне неэффективным для видеороликов длительностью более 10-20 минут!

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

 

Скачать бесплатно видеокурс "Кодирование видео в DCP формат" Вы можете здесь.

 

При необходимости буду рад помочь Вам в освоении данного алгоритма. Можно даже удалённо через Skype и/или TeamViewer (Исключительно в домашних условиях!). Обращайтесь.

 

С уважением,

Абзалов Артур.


Понравился материал?
Поделись со своими друзьями в социальных сетях!


Комментарии:

Здесь комментариев пока нет.

Оставить комментарий
Ваш e-mail необходим только для связи с Вами и не публикуется на сайте
Введите сумму чисел с картинки = 
* Звёздочкой помечены обязательные поля для заполнения
Вход
Вы вошли на сайт, как Гость


Внешний вид сайта

Какой вид сайта Вы предпочитаете?



Telegram
Подпишись на Telegram-канал, чтобы первым узнать все новости сайта:
Подпишись на Telegram-канал, чтобы первым узнать все новости сайта
Рассылка
Подпишитесь на рассылку наших новостей, чтобы всегда быть в курсе последних обновлений!


* Звёздочкой помечены обязательные поля для заполнения
Ваши данные никому не передаются. Вы можете отписаться от рассылки новостей в любой момент.
Статистика
Сейчас на сайте:
Cтатей: 136
Партнёрских продуктов: 179
Файлов: 93
Секретных материалов: 144
Обучающих курсов: 263
Товаров: 6
Галерей: 2
Альбомов: 1
Категорий: 32
Партнёров: 16
Заметок: 27
Комментариев: 16
Мудрых фраз: 146
Страниц: 6
Пользователей: 106
Подписчиков: 165
Посетителей на сайте: 6
Реклама
Группа Вконтакте
Группа Facebook
 Наверх