Videorip.info

Учимся кодировать видео и делимся опытом

Воспроизведение Hi10P

Логотип x264Начнем с начала...

Зачем нам вообще нужен Hi10P?

По сути, Hi10P (или high10) - это еще один профиль кодирование видео, наряду с уже привычными baseline, main и high. Разница лишь в том, что он использует 10 бит для передачи цвета, что помогает избежать сегментации изображения (ступенчатые градиенты, бандинг и тд.).

Что же мы получаем при использовании Hi10P?

  • Увеличение степени сжатия, вплоть до 40% (зависит от исходного материала).
  • Меньший уровень бандинга, лучшие темные кадры и тд.
  • Более точная передача исходного изображения (с которого делался рип).

Но, на данный момент, у Hi10P имеются и серьезные недостатки:

  • Отсутствие поддержки аппаратных декодеров, таких как DXVA и CUDA(в том числе и использующих его, к примеру CoreAVC), так как они разрабатывались только для 8-и битного видео.
  • Невозможность воспроизведения на чем либо, кроме ПК. Вы не сможете запустить 10-и битное видео на PS3, XBox или на "железном" плеере. В том числе и на портативных устройствах.
  • Большее время кодирование и декодирования, из-за увеличения потребления ресурсов. Воспроизведение 10-и битного видео будет медленнее, чем аналогичного 8-и битного.
  • Проблемы с отображением субтитров некоторыми фильтрами.
  • Нет х64 (64-х битных) декодеров (на момент написания статьи).

Как же его смотреть?

Все зависит от плеера, который вы используете. Далее будет описан процесс установки и настройки поддержки Hi10P в разных, популярных плеерах: UMPlayer, VLC, PotPlayer, MPC-HC, и для Linux.

Прежде всего: постарайтесь удалить все установленные плееры и кодеки, а затем уже следовать инструкциям приведенным ниже.

И да, вам не нужен специальный монитор (10-и битный), и на обычном видно улучшение качества, по сравнению с 8-ю битами. Также, мы получаем видео с большим качеством и меньшим размером, нежели 8-и битное.

UMPlayer

UMPlayer (или SMPlayer) - который является графическим интерфейсом для консольного мультимедийного плеера MPlayer (и его форка - MPlayer2).

Заметьте, что UMPlayer (далее UMP) не отображает настоящие 10 бит, а переводит их в YV12. Тем не менее, большинству, это не важно.

Начнем же:

  1. Скачиваем и устанавливаем UMPlayer.
  2. Пробуем воспроизвести 10-и битное видео. Если все удачно, то выполняем следующие пункты, если нет, то ставим mplayer2:
    1. Скачиваем mplayer2.
    2. Распаковываем архив и переносим mplayer2-20111005.exe(20111005 - дата сборки, 05.10.2011) в папку с UMP. У меня это: C:\Program Files\UMPlayer\mplayer
    3. Теперь можете переименовать перенесенный mplayer2-20111005.exe в mplayer.exe. Также можно изменить путь к mplayer в настройках UMP: перейдите в Настройки -> Основные -> Путь к mplayer и задайте путь к mplayer2-20111005.exe
      Вкладка "Основные", UMPlayer
  3. Если у видео не хватает плавности, то в Настройка -> Быстродействие отключите "выпадение кадров" и выберите "количество потоков декодирования" равным количеству ядер вашего процессора.
    Вкладка "Быстродействие", UMPlayer

VLC

Последняя (на момент написания статьи) версия 1.1.12 не поддерживает воспроизведение Hi10P. Но вы можете скачать тестовую версию, в которой уже добавлена поддержка Hi10P, но с переводом в 8бит.

PotPlayer

Последний PotPlayer (1.5.29601) отображает 10бит, но с переводом в 8бит.

Media Player Classic - Home Cinema

  1. Скачиваем и устанавливаем 32-х битный MPC-HC (64-х битный не поддерживается madVR'ом).
  2. Скачиваем и устанавливаем Haali's Media Splitter.
  3. Скачиваем madVR, распаковываем в любую папку (желательно в папку Program Files).
  4. Зайдите в систему от имени Администратора и запустите файл install.bat (не путайте с "Запустить от имени администратора").
  5. Открываем MPC-HC и переходим в настройки.
  6. Выбираем вкладку "Встроенные фильтры" и выставляем галочки как на скриншоте:
    Вкладка "Встроенные фильтры"
  7. Затем переходим на вкладку "Вывод", и выбираем madVR:
    Вкладка "Вывод"
  8. Теперь нужно настроить madVR. Для этого откроем какое нибудь видео в MPC-HC и в контекстном меню иконки madVR в трее, выберем "Edit madVR Settings":
    Трей
  9. В настройках переходим на вкладку processing -> decoding и отмечаем пункты как на скриншоте:
    Настройки madVR
  10. Теперь перезапускаем MPC-HC и открываем в нем какое нибудь 10-и битное видео. Если видео появилось - уже хорошо. Теперь нажимаем Ctrl+J, для вывода дополнительной информации. И ищем строку вида: libav, h264, 10 bit, 4:2:0. У меня она была:
    Скриншот Stains;Gate 10bit
  11. Все готово. Но если вы не видите данной строки, а видите что-то на подобии: h264, 8 bit, 4:2:0 -> YV12, 8 bit, 4:2:0 - значит вы где-то ошиблись. Попробуйте выполнить все пункты заново.

Воспроизведение на Linux

ArchLinux

Достаточно установить mplayer из репозитория:

pacman -S mplayer

Он прекрасно воспроизводит 10бит, но конечно же с трансформацией как и на Windows:

VO: [xv] 1920x1080 => 1920x1080 Planar YV12

В то время, как mplayer2(2.0-14) из репозитория вообще не поддерживает 10 бит:

Unsupported PixelFormat 72
Could not find matching colorspace - retrying with -vf scale...

По этому, можно просто установить mplayer2-git из AUR, который уже поддерживает 10 бит:

yaourt -S mplayer2-git

Ubuntu

В Ubuntu 11.04, все в точности наоборот, стандартный mplayer(1.0rc4-4.5.2) не воспроизводит 10 бит, по этому необходимо установить mplayer2:

sudo apt-add-repository ppa:ripps818/coreavc
sudo apt-get update
sudo apt-get install mplayer

либо mplayer-svn:

sudo apt-add-repository ppa:motumedia/mplayer-daily
sudo apt-get update
sudo apt-get install mplayer

Разница лишь в способе отображения:

mplayer (SVN-r34182-4.5.2) - VO: [x11] 1920x1080 => 1920x1080 BGRA
mplayer2                   - VO: [x11] 1920x1080 => 1920x1080 Planar YV12

Сравнения 10 бит и 8 бит

Сравнения на screenshotcomparison:
Stains;Gate
Clannad After Story
Denpa Onna

Сравнение на Elephants Dream.

Как видно из сравнений, 10-и битное видео в большинстве случаев дает ощутимый прирост качества при том же битрейте.

Тестовый компьютер

Ноутбук Asus F3ka с AMD Turion 2x1.9Ghz.

Быстрее всего себя показал mplayer. На нем 1080р практически не подтормаживает (но и правильного 10 бит нет).
На VLC совершенно не возможно смотреть.
MPC-HC ощутимо подвисает, но является самым предпочтительным вариантом.

Обновлено 07.11.2011 22:29