Dolby Vision: различия между версиями
Владимир (обсуждение | вклад) |
Владимир (обсуждение | вклад) |
||
| (не показано 6 промежуточных версий этого же участника) | |||
| Строка 69: | Строка 69: | ||
Этот файл можно уже укладывать в контейнер MP4. | Этот файл можно уже укладывать в контейнер MP4. | ||
==== Второй - Скрипт от какого го человека ==== | ===== Второй - Скрипт от какого го человека ===== | ||
Скачиваем файл с облака. | Скачиваем файл с облака. | ||
| Строка 111: | Строка 111: | ||
- Subtitle Edit | - Subtitle Edit | ||
По части оглавления. после экспорта из mkv главы в формате xml, нам нуен oog.txt. Чтобы его конвертировать нам подойдёт: | |||
- chapterEditor | |||
А теперь к самому процессу создания фильма. | А теперь к самому процессу создания фильма. | ||
| Строка 117: | Строка 121: | ||
Команда выглядит так: | Команда выглядит так: | ||
.\mp4box.exe -brand mp42isom -ab dby1 -no-iod -add BL_RPU.mp4 -add '''audio1.ac3''':lang=ru:name="название" '''track.srt''':lang=ru:name="название" -add chapters.txt:fps=23.976 -new '''video_out.mp4''' | |||
.\mp4box.exe -add BL_RPU.hevc:fps=23.976:dvp=8.1:hdr=none -add '''audio1.ac3''':lang=ru:name="название" '''track.srt''':lang=ru:name="название" -add chapters.txt:fps=23.976 -new '''video_out.mp4''' | |||
К аудио дорожке добавляются через двоеточие параметры: | К аудио дорожке добавляются через двоеточие параметры: | ||
| Строка 139: | Строка 145: | ||
Разделяем '''BL EL RPU''' на '''BL''' поток и '''EL RPU'''. Используется уже знакомый '''dovi_tool'''. | Разделяем '''BL EL RPU''' на '''BL''' поток и '''EL RPU'''. Используется уже знакомый '''dovi_tool'''. | ||
.\dovi_tool demux --input BL_EL_RPU.hevc --bl-out BL.hevc --el-out EL_RPU.hevc | .\dovi_tool demux --input BL_EL_RPU.hevc --bl-out BL.hevc --el-out EL_RPU.hevc | ||
Дальше развитие событий следует по первому | Дальше [[Dolby Vision#.D0.9F.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 BL .2B EL RPU .D0.B2 BL.2BRPU|развитие событий следует по первому]] | ||
---- | ---- | ||
Текущая версия от 10:32, 6 октября 2024
"Новый формат качества изображения" - почему в кавычках? Ему уже 5 лет. В какой то момент началось противостояние Dolby Vision с HDR10+, в итоге со вторым так и не вышло не одного диска.
В чем особенность всех эти HDR-ов - в том, что управление по яркость ТВ полностью передается видео. В HDR при запуске фильма, файл видео передал требуемы пределы по яркости, цветовому пространству, гамме ТВ. Но наступила эра динамичного HDR. Как раз эти 2 формата упомянутых выше в противостоянии, и занялись этим. Суть динамики в том, что данные для параметров яркости и производных могут меться от кадра к кадру. У Dolby Vision есть инструментарий для ручной творческой настройки. У конкурента же HDR10+, алгоритм автотипический.
Dolby Vision - победил, причин много, но основные: отличная среда для создания контента. Студиям попросту было интересно и удобно с этим работать.
Ну а теперь к фактам. Что мы имеем на данный момент. Появилось 3 основных версии данного стандарта. 5-тый, 7-й и 8-й стандарты.
На ТВ старше 19 года был 5-тый стандарт.
На ТВ после 19 года преимущественно 8-й.
Blu-ray - имеет двухслойный поток 7-й профиль.
Источником всех форматов для ТВ является Blu-ray. Из него уже получают однослойные комбинированные потоки. За 4 года нет прогресса по части работы с данными форматами. Все инструменты совершенно не приветливы, работают из под командной строки.
На данную тему есть 2 русскоязычных форма где обсуждаются темы связанные с Dolby Vision: webos-forums и forum.ixbt.
Стремится мы будем к 8-му профилю, так как большинство новых ТВ с ним работают хорошо, так же немаловажным фактом является совместимость с обычным HDR. То есть даже если ТВ не знает о DV, он интерпретирует его как HDR.
Первый вариант развития событий:
У нас имеется Remux в m2ts, MP4 или MKV с двумя видеопотоками. Для преобразования этого дела в 8-мой профиль потребуется несколько шагов преобразований:

Распаковка контейнера
Распаковать контейнер удобнее всего в tsMuxer. Скачать утилиту можно на github.
К счастью у данной утилиты есть интерфейс.
Закидываем в Окно нужный нам контейнер,
Отмечаем требуемые треки в списке Tracks.
В Output отмечаем Demux
Указываем место для сохранения.
Готово, далее мы будем иметь дело именно с дорожками в чистом виде в форматах: hevc, dts, ac3, thd, sup.
На выходе мы получаем в нужной папке 2 файла с расширением: hevc или h265.
Переименуем их для удобства восприятия
- Тот что по тяжелее это основной поток BL
BL.hevc
- Более лёгкий это метаданные EL_RPU.
EL_RPU.hevc
Преобразование BL + EL_RPU в BL+RPU
Есть два способа это сделать:
Первый - dovi_tool
Скачать утилиту можно на github.
Исполняемый файл dovi_tool.exe лучше всего разместить в папке с треками.
Запускаем командную строку в этой папке, выполняем действия от имени dovi_tool.exe
Извлекаем RPU из BL+RPU, файл меньшего размера.
.\dovi_tool.exe -m 2 extract-rpu -i .\EL_RPU.hevc -o .\RPU.bin
Вставляем получившийся RPU в BL
.\dovi_tool.exe inject-rpu -i .\BL.hevc --rpu-in .\RPU.bin -o .\BL_RPU.hevc
На выходе мы имеем комбинированный трек BL_RPU.hevc, который несет в себе информацию о файлах BL и RPU (без EL).
Этот файл можно уже укладывать в контейнер MP4.
Второй - Скрипт от какого го человека
Скачиваем файл с облака.
Внутри архива BAT файлы, Запускаем MUX_AND_CONVERT_TO_PROFILE_81.bat.
Командная строка попросит пометить BL.hevc файл в окно, затем нажать ENTER.
Командная строка попросит поместить EL_RPU.hevc файл в окно, затем нажать ENTER.
На выходе в папке с BAT файлами получим файл BL_RPU.hevc
Теперь его так же можно упаковывать в контейнер MP4.
Упаковка в контейнер MP4
Выполняется это при помощи утилиты mp4muxer. Скачать её можно со страницы githab.
Исполняемый файл из папки BIN лучше всего разместить рядом с BL_RPU.hevc.
Выполняем простую команду:
.\mp4muxer.exe -i BL_RPU.hevc --dv-profile 8 --dv-bl-compatible-id 1 -o BL_RPU.mp4
Всё файл запакован в контейнер с 8-мым профилем. Можно даже попробовать его воспроизвести на ТВ, чтобы понять всё ли хорошо.
Теперь можно наполнять контейнер MP4 различными дорожками.
Формирование конечного контейнера
У фильма наверняка есть куча аудио дорожек и субтитров.
Я на момент написания статьи предпочитаю использовать звук в формате ac3 с битрейтом 640. Причин несколько: ТВ не поддерживает DTS, нет оборудования для качественного воспроизведения звука, что не дает возможности услышать разницу, размер.
Поэтому я конвертирую все звуковые дорожки в ac3. Способов много:
- UsEac3To
- XviD4PSP
Описание перекодирования Аудио, это отдельная тема.
Тоже самое касается субтитров. При экспорте из m2ts или MKV, субтитры имеют формат sup. И даже этот формат является контейнером. В любом случае это формат представляет из себя картинки с текстом, нам же нужно преобразовать это в текст. Использовать для этого лучше всего.
- Subtitle Edit
По части оглавления. после экспорта из mkv главы в формате xml, нам нуен oog.txt. Чтобы его конвертировать нам подойдёт:
- chapterEditor
А теперь к самому процессу создания фильма.
Для этого используется утилита mp4box входящая в состав GPAC. Скачать его можно с официального сайта.
Команда выглядит так:
.\mp4box.exe -brand mp42isom -ab dby1 -no-iod -add BL_RPU.mp4 -add audio1.ac3:lang=ru:name="название" track.srt:lang=ru:name="название" -add chapters.txt:fps=23.976 -new video_out.mp4
.\mp4box.exe -add BL_RPU.hevc:fps=23.976:dvp=8.1:hdr=none -add audio1.ac3:lang=ru:name="название" track.srt:lang=ru:name="название" -add chapters.txt:fps=23.976 -new video_out.mp4
К аудио дорожке добавляются через двоеточие параметры:
:name="любой текст"
:lang=ru (язык дорожки ru, en)
:delay=20 (задержка в миллисекундах)
После этого будет сформирован конечный файл, со звуком и субтитрами, готовый к использованию.
Второй вариант развития событий
Получен файл в формате MKV, в нем один поток. Но рано радоваться, это не тот же поток который мы делаем для контейнера MP4. Этот поток содержит в себе BL, RPU и EL. Это хорошо в целом, в MKV научились засовывать исходный поток с Blu Ray. Но воспроизводить такое видео может ограниченное число ТВ боксов. Моя задача, чтобы DV работал нативно на ТВ.
Поэтому задача состоит в том чтобы из этой комбинации BL, RPU и EL вытащить BL и RPU, потоки, затем объединить их.
- Распаковываем tsMuxer, как описано выше в первом развитии событий. Видео дорожку лучше назвать BL_EL_RPU.hevc.
Разделяем BL EL RPU на BL поток и EL RPU. Используется уже знакомый dovi_tool.
.\dovi_tool demux --input BL_EL_RPU.hevc --bl-out BL.hevc --el-out EL_RPU.hevc
Дальше развитие событий следует по первому