Опции Multiplexer

Немного информации о закладке Multiplexer (Мультиплексор) в окне Export Settings (Настройки экспорта) программы Adobe Premiere Pro CS6. Бдительный пользователь, отметил что при смене контейнера объем файла меняется. Итак, давайте разбираться. На входе имеем видео 720p50 c экшен камеры GoPro, создаем на его базе последовательность, и при выделенном таймлайне, нажимаем Ctrl+M. Далее, выбираем пресет: HD 720p 50 формата H.264 Blu-ray.


Adobe Premiere Pro CS6

И выводим видео M4V + звук в двух форматах: Dolby Digital (.ac3) и PCM (.wav). Переключаемся на закладку Multiplexer и выбираем TS (Transport Stream) контейнет M2T с видео и аудио.


Adobe Premiere Pro CS6

Звук по-умолчанию для M2T, только в формате AC3. Настройки видео остаются теми же:

Adobe Premiere Pro CS6

На выходе из программы Adobe Premiere Pro CS6 получаем файлы следующего объема: 70Мбайт – 428Кб для AC3 звука, никак не получается равным 50Мбайт для M4V.


Adobe Premiere Pro CS6

Анализируем видео с помощью утилиты StreamEye, открываем файл и выполняем команду: Tools > Stream Info (Alt+S).


Adobe Premiere Pro CS6

Как видим, прописанный битрейт у M4V видео 20Мбит/с.

Adobe Premiere Pro CS6

Теперь открываем M2T видео и выбираем только видео поток, нажав на кнопку: select.

Adobe Premiere Pro CS6

Прописанный битрейт, такой же как у M4V видео 20Мбит/с, но на самом деле это средний битрейт, а пиковый доходит до 33Мбит/с, отсюда и такая разница в размерах файлов.


Adobe Premiere Pro CS6

Ну и неудивительно когда пользователи меняют настройки пресетов для H.264 Blu-ray, выбирая транспортный поток (изменяя мультиплексирование аудио и видео данных). Плюс увеличивая битрейт, как казалось бы на безопасную величину, но пик у такого видео будет зашкаливать и программа Adobe Encore CS6 будет ругаться на такое видео, либо пережимать его. Или на финальном рендере выдавать ошибки: Blu-ray Error: ”file already exists”, Code: ”6”, Note: ” Video buffer underflows”, Total bitrate is too high near time = 1.920000 seconds – и "fatal error", Code: "6", Note: ” Video buffer underflows”, Total bitrate is too high near time = 1.920000 seconds –. Поэтому при экспорте видео, стоит учитывать эти нюансы.
*Довольно часто встречается ошибка мультиплексирования при экспорте видео, например по окончании рендеринга, мы на руках получаем: 1 файл размером 24Кбайта. При экспорте создаются два файла, например: 001.3008.34401 с разширением: звук (ADTS) .aac и видео (MP4) .m4v. Сначала создается видео файл, по его окончанию аудио файл, потом эти оба файла помещаются в контейнер mp4 (это и есть процесс Multiplexer) и в этот момент может произойти сбой, и программа Adobe Premiere Pro всегда удаляет эти потоки (при удачном и не удачном процессе мультиплексирования). Так вот чтобы, потом заново не делать эту работу, можно запретить программе удалять эти потоки. Нажимаем правую кнопку мыши на потоках или папке, и выбираем Свойства, и ставим галку перед пунктом: Только чтение.


Adobe Premiere Pro

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


Adobe Premiere Pro

Интересная особенность мультиплексирования (а именно финальная компиляция фильма) связана также с производительностью дисковой подсистемы.
Например: можно встретить и такие посты: "и завершение компиляции двух часового фильма занимает до часа".
Всё дело в том, что некоторые пользователи верят, что если поставить SSD или PCIe NVMe, то всё должно "летать". В данном случае юзер писал два часа H.264 видео на твердотельный бюджетный накопитель Western Digital WDS120G2G0A. Данный накопитель имеет интерфейс SATA 6Gb/s и скорость последовательного чтения/записи: 540/430 Мб/с (эти цифры можно увидеть и запустив популярную утилиту CrystalDiskMark). На этих цифрах у многих и заканчивается знакомство с характеристиками SSD.
Но, давайте разбираться дальше, используемая флеш-память у данного накопителя: TLC, и вот на примере накопителя PCIe NVMe можно почитать, как падает скорость записи, когда заканчивается SLC-кэш и начинается прямая запись в медленную TLC память. Скорость записи ниже, чем у обычного жесткого диска.
Т.е. от размера SLC-кэша и его организации, и зависит скорость записи, в сверхбюджетных дисках, с этим всё совсем плохо. Плюс накопители с малой ёмкостью, имеют скорость записи ниже, чем накопители с большей ёмкостью. Например: 256ГБ накопитель имеет одну микросхему памяти и соответственно работают только два канала, а 512ГБ накопитель имеет две микросхемы памяти и контроллер с ними работает уже в четырёх канальном режиме. И соответственно получаем разницу в скорости записи: в 2 раза.
Вот на примере Western Digital WDS120G2G0A, что происходит, когда заканчивается SLC-кэш.


Western Digital WDS120G2G0A

Также роль играет используемый контроллер, например самый бюджетный: «безбуферный» (DRAM-less, без DRAM памяти) четырёхканальный контроллер Silicon Motion SM22хх и прошивка.
*Теперь как происходит компиляция фильма (мультиплексинг) в программе Adobe Premiere Pro CC 2018, это чтение записанных потоков, и сборка (запись) их в один контейнер. Т.е. одновременные операции чтения и записи, загрузка Western Digital WDS120G2G0A - 100% (информация из Диспетчера задач) и очень большое время выполнения данной операции с максимальной загрузкой, и отсюда и больше шансов, получить на выходе "файл размером 24Кбайт".
*Аналогичная ситуация наблюдается на накопителях Kingston NV1 ёмкостью 1ТБ (SNVS/1000G) и 2ТБ (SNVS/2000G), подробнее читаем здесь.
*В версии программы Adobe Premiere Pro CC 2019 изменился процесс мультиплексинга для формата H.264 и контейнера mp4. Сначала идёт процесс: Рендеринг требуемых аудио файлов & Rendering Required Audio Files (раньше данная операция производилась после рендеринга видео потока).


мультиплексинг

А потом уже видео кодируется сразу в контейнер .mp4:

мультиплексинг

Чтобы получить раздельные потоки, необходимо выбирать: Основные настройки > Мультиплексор: Нет.

мультиплексинг

*Склеить потоки в контейнер .mp4, можно с помощью утилиты MP4Box.
*И в версии программы Adobe Premiere Pro CC 2020 встречаются посты, почему у меня рендер завис на 100%, что делать?
При разборе оказывается, что грубо нарушено требование к свободному месту на жестком диске. Например: свободного места всего 100Гбайт, а выводится проект объёмом 40Гбайт.
Для классических HDD не рекомендуется опускаться ниже 20% свободного места на жестком диске, чтобы не было сильного снижения производительности дисковой подсистемы. На примере это выглядит следующим образом:
4ТБ жесткий диск, 20% свободного места это 800ГБ. Если выводим 50ГБ проект, то при процессе мультиплексирования, будет занято уже 100ГБ. Т.е. на 4ТБ накопителе, у нас должно быть свободно 900ГБ. Также не стоит забывать и о свободном месте на системном накопителе.
*Пользователь на Adobe Media Encoder CC 2021 кодировал проект с помощью видеокарты GeForce RTX 3090, загрузка NVENC = 100%.


GeForce RTX 3090 и NVENC

Проект рендерился по 10 Гбитной сетке на NAS, и на 100% (на процессе мультплексинга) он зависал (долго собирал потоки в контейнер), при этом сам Adobe Media Encoder CC 2021 не мог перейти к следующей задаче в очереди, пока не закончится мультиплексинг.


GeForce RTX 3090 и NVENC

*В плагине NVENC_export есть возможность просчитанные потоки видео и аудио, рендерить на один диск, а для процесса муксинга (читаем копирования) в контейнер, использовать другой.
Чтобы определить пользовательскую переменную ADOBEOUT в My Computer > System > Properties > Advanced > Environmental Variables (Компьютер > Свойства системы > Дополнительные параметры системы > Дополнительно > Переменные среды), в эту переменную записать имя пути (папки), куда мы хотим положить окончательный результат (muxing), например E:\video\. В установках Экспорта (Export settings) в Adobe Premiere Pro CC 2021 указать имя экспортируемого файла в рабочей папке: E:\video\nvenc.mp4.
На выходе получаем:
1) Потоки видео и аудио будут записаны на D:\work и после мукса (mux) будут автоматически удалены.
2) И получаем в следующей директории, готовый файл: E:\video\nvenc.mp4.
Если пользовательская переменная ADOBEOUT не определена в Environmental Variables, то плагин NVENC_export будет работать стандартным образом, как и ранее.
*Аналогичная опция добавлена в плагине AfterCodecs v2 для программы видеомонтажа Adobe Premiere Pro CC 2021. Она позволяет рендерить во временную папку, которую можно задать в настройках: Use custom temporary folder, прежде чем файл будет окончательно записан в нужное исходное место. Полезно, если вы хотите выбрать на какой накопитель вы пишете, в то время как в настройках Adobe указан другой диск для рендеринга.


Use custom temporary folder

На накопителе указанном в Use custom temporary folder создаются потоки:

Use custom temporary folder
Реальные тесты накопителей с помощью мультиплексинга.

 
Рейтинг@Mail.ru