Зачем нам вообще нужен 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. Тем не менее, большинству, это не важно.
Начнем же:
- Скачиваем и устанавливаем UMPlayer.
- Пробуем воспроизвести 10-и битное видео. Если все удачно, то выполняем следующие пункты, если нет, то ставим mplayer2:
- Скачиваем mplayer2.
- Распаковываем архив и переносим mplayer2-20111005.exe(20111005 - дата сборки, 05.10.2011) в папку с UMP. У меня это: C:\Program Files\UMPlayer\mplayer
- Теперь можете переименовать перенесенный mplayer2-20111005.exe в mplayer.exe. Также можно изменить путь к mplayer в настройках UMP: перейдите в Настройки -> Основные -> Путь к mplayer и задайте путь к mplayer2-20111005.exe
- Если у видео не хватает плавности, то в Настройка -> Быстродействие отключите "выпадение кадров" и выберите "количество потоков декодирования" равным количеству ядер вашего процессора.
VLC
Последняя (на момент написания статьи) версия 1.1.12 не поддерживает воспроизведение Hi10P. Но вы можете скачатьтестовую версию, в которой уже добавлена поддержка Hi10P, но с переводом в 8бит.
PotPlayer
Последний PotPlayer (1.5.29601) отображает 10бит, но с переводом в 8бит.
Media Player Classic - Home Cinema
- Скачиваем и устанавливаем 32-х битный MPC-HC (64-х битный не поддерживается madVR'ом).
- Скачиваем и устанавливаем Haali's Media Splitter.
- Скачиваем madVR, распаковываем в любую папку (желательно в папку Program Files).
- Зайдите в систему от имени Администратора и запустите файл install.bat (не путайте с "Запустить от имени администратора").
- Открываем MPC-HC и переходим в настройки.
- Выбираем вкладку "Встроенные фильтры" и выставляем галочки как на скриншоте:
- Затем переходим на вкладку "Вывод", и выбираем madVR:
- Теперь нужно настроить madVR. Для этого откроем какое нибудь видео в MPC-HC и в контекстном меню иконки madVR в трее, выберем "Edit madVR Settings":
- В настройках переходим на вкладку processing -> decoding и отмечаем пункты как на скриншоте:
- Теперь перезапускаем MPC-HC и открываем в нем какое нибудь 10-и битное видео. Если видео появилось - уже хорошо. Теперь нажимаем Ctrl+J, для вывода дополнительной информации. И ищем строку вида: libav, h264, 10 bit, 4:2:0. У меня она была:
- Все готово. Но если вы не видите данной строки, а видите что-то на подобии: h264, 8 bit, 4:2:0 -> YV12, 8 bit, 4:2:0 - значит вы где-то ошиблись. Попробуйте выполнить все пункты заново.
Воспроизведение на Linux
ArchLinux
Достаточно установить 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 ощутимо подвисает, но является самым предпочтительным вариантом.
Источник http://www.videorip.info/x264