Просмотров: 26686 шт.
Мой компьютер (Windows 7, NVIDIA GF6600GT (8800 GTS уже пол-года лежит в шкафу), Athlon 64 X2 3800+ S939 и 2 гига памяти в двухканальном режиме) никогда не заставлял меня задумываться о проблемах воспроизведения видео. Никогда, вплоть до этого момента. DVD-Rip размером 1,4 гигабайта воспроизводились без проблем любым установленным у меня в системе плеером (KMPlayer, VLC, Media Player Classic). Но дёрнуло меня поддаться современной тенденции смотреть на компе видео высокого разрешения. А почему бы и нет? Комп подключён к LCD 32", отличное качество картинки, большой экран, ресивер и качественный (в рамках моих потребностей) 5.1 звук по оптике, да ещё и неслабая система впридачу, - всё как бы твердило мне "Да запусти ты HD наконец!".
Ага, запустил...
*****
И тут пришли тормоза. Создалось впечатление, будто я запустил S.T.A.L.K.E.R. на Celeron 400 и Riva TNT. Очаровательное слайд-шоу.
Что там за фильтры, кодеки и прочая хрень – я раньше не знал и знать не хотел. K-Lite Codec pack всегда меня выручал.
Но большинство фильмов хорошего качества в сети это оригинальные BD или HD диски или рипы с них в контейнере MKV, разрешением 720p или 1080p, закодированные кодеками H.264/AVC или VC-1. И многие фмльмы при просмотре стали жутко тормозить и загружать процессор под 100%.
Ну ничего. Мы ведь умные. Начитались интернета, набрались советов и в путь с песнями!
Для оригинальных DVD и BD установил Cyberlink PowerDVD 9 Ultra. Говорят, он умеет переключать (частично или полностью) декодирование видео с центрального процессора, на видеопроцессор видекарты, если она (видеокарта) и ее драйвер это умеют.
Моя карта NVIDIA GF6600GT должна поддерживать аппаратное ускорение, поэтому в плеере Cyberlink PowerDVD поставил галку у «Enable hardware acceleration (NVIDIA PureVideo)».
Но я забыл, что на новенькой Windows 7 я не ставил никаких драйверов. (и до сих пор не поставил, но уже пишу статью в надежде что это станет панацеей от всех моих проблем)
В теории все должно летать при просмотре и Blu-Ray дисков плеером Cyberlink PowerDVD Ultra.
Пример (образец): (файл m2ts, Н264, 1920х1080):
cлева - без аппаратного ускорения, справа - с аппаратным ускорением
При воспроизведении Blu-Ray дисков с видео, закодированном кодеком VC-1 ускорение будет послабее - загрузка процессора падает до 50%, но и этого достаточно для комфортного просмотра.
Кроме Cyberlink-а для просмотра оригинальных DVD и BD рекомендуют также Arcsoft TMT и Nero ShowTime.
Но обычно не проблема настроить ваш привычный плеер для аппаратной поддержки видео. Для этого нужно подключить в нём внешний кодек от Cyberlink-а, но об этом чуть позже...
А как быть с "матросками" - фильмами в контейнере MKV?
Такие фильмы могут быть закодированы в H.264/AVC или VС-1.
На HD TRACKER FORUM нашел тему: «
Просмотр Blu-Ray и HD-DVD с H.264 и VC-1 ». Там написано как подключать H.264/AVC-декодер из пакета Cyberlink PowerDVD 7.3 и VС-1-декодер WMVideo Decoder DMO из Windows Media Player 11 к плеерам MPC или KMPlayer.
Хорошая инструкция на английском языке по настройке плееров для использования аппратного ускорения при декодировании нашлась здесь:
Watching h.264 videos using DirectX Video Acceleration (DXVA). И через использование стандартного интерфейса
Windows DXVA, и через интерфейс nVidia CUDA для владельцев видеокарт nVidia.
Настроил систему заново по мотивам этих инструкций:
1) yстановил плееры
MPC HC (это развитие старого плеера MPC) и
KMPlayer,
Media Player Classic Homecinema и другие любимые;
2) обновил драйвера видеокарты GF6600GT до последней (на тот момент) официальной версии
NVIDIA ForceWare 186.16 (Драйвер для X86 версии Windows Vista;
3) установил сплиттер для матроски
Нааli Media Splitter (Matroska Splitter);
4) для получения декодера VC-1 установил Windows Media Player 11 - за включение выключение аппаратного ускорения VC-1 декодера WMVideo Decoder DMO отвечает в реестре [HKEY_USERSS-1-5-21-343818398-879983540-725345543-1003SoftwareMicrosoftScrunchWMVideo] значение "DXVA" = 000000 (0) - выключено, "DXVA" = 000001 (1) - включено (можно то же самое в ветке [HKEY_CURRENT_USERSoftwareMicrosoftScrunchWMVideo]) ;
5) установил Cyberlink PowerDVD и поставил галку у «Enable hardware acceleration (NVIDIA PureVideo)» - теперь Cyberlink будет включать аппаратное ускорение и при использовании его H.264/AVC декодера в других плеерах;
6) указал рендер «VRM7 renderless (Vista)» (вообще в XP необходимо указывать «VMR9 Renderless» в режиме 3D c параметрами Bicubic A=-0,6 (PS=2.0)): для плеера MPC НС - раздел Вывод/Output; для KMPlayer - Обработка видео > Обработчик;
Выставил VRM7 renderless (Vista) лишь потому что тот вариант, который должен указываться, не даёт эффекта на моей Windows 7.
7) установил декодер Cyberlink H.264/AVC Decoder (PDVD9.x) и WMVideo Decoder DMO в качестве приоритетных внешних фильтров во всех плеерах.
8) в KMPlayer-е для включения аппаратного ускорения необходимо обязательно отключить "Фильтр трансформации видео КМР" (Настройки > Конфигурация > Обработка видео > Общие)
О настройке плееров, с картинками, тут:
Програмная часть, Софт под HD
ПРОДОЛЖЕНИЕ [от 16 июля 2009г.].
После выполнения всех вышеуказанных процедур, у меня более-менее стали работать все имеющиеся у меня фильмы. Но на некоторых совсем уж тяжелых фильмах (Я имею ввиду файлы самого высокого качества, например, "Трансформеры" на 52 гига и выше) - наблюдался низкий фрейм-рейт. Такое впечатление, будто видео идёт не 24 кадра в секунду, а 16-18. И на быстрых сценах присутствовали откровенные тормоза.
А значит, всей проделанной работы было недостаточно.
Я вычитал, что может помочь Nero.Suite.MPEG.decoder. Он идёт в составе пакета NERO, но т.к. мне не хотелось ставить весь этот комбайн, пришлось искать кодек отдельно. Нашел - Nero.Suite.MPEG.decoder.v6.3.2.21 (Все необходимые файлы я выложу в конце статьи в архиве.). Установил его и выбрал его в качестве приоритетного в настройках
Media Player Classic Home Cinema (MPC HC).
Кстати, чтобы изменения вступали в силу, нужно не просто жать "ОК" в настройках программы, но и выключать её и снова запускать ролик. О том, какие кодеки и фильтры задействованы при воспроизведении фильма, вы можете узнать в меню MPC HC: "Воспроизведение" -> Фильтры.
Цепочка идёт снизу вверх. Убедитесь, что в цепочке есть только самое необходимое, и не встречается дополнительных видео фильтров и эффектов, которые могут значительно сказаться на скорости воспроизведения HD контента.
Примерный вид цепочки таков:
Как можно увидеть, Файл раскладывается на звук и видео благодаря Матроске, звук обрабатывается аудио-декодерами, Затем видео передаётся встроенному видео декодеру MPC, далее выбирается нужная звуковая дорожка, обработка и расчёты видео передаются на видеокарту Video Mixing Render 9 (Это тот параметр, который мы выбрали в настройках проигрывателя) и выводятся на экран, а просчитанный звук подаётся на выход звуковой карты.
В этой цепочке важно не допустить включения в неё "левых" фильтров и дополнительных эффектов. Они только затормозят и без того трудоёмкий для компьютера процесс.
Подробнее об этом и о способах предотвращения неполадок
тут
Подводя итог всему вышеперечисленному, скажу, что после установки Декодера от Nero и переключения в настройках MPC HC видео рендера с VRM7 renderless (Vista) снова на WMR9, видео стало идти плавно и чётко. Таким же образом оно заработало и в Cyberlink плеере. (Хотя я думал, что Киберлинк использует только свой декодер, но или пляски с бубном помогли, или он каким-то образом считывает системные настройки MPC HC и применяет их у себя) - но плеер от Киберлинк стал тоже отлично справляться с воспроизведением HD контента.
Пока я проверял все имеющиеся и свежескачанные фильмы, наткнулся на новую проблему.
"Терминатор - 3", закодированный в VC-1, идёт на английском языке.
В MPC HC есть возможность выбора звуковой дорожки, но при первой же попытке её переключить, звук пропадал вовсе.
Дальше смешнее. Оказывается, ни Cyberlink Power DVD ни Windows Media Player ни WIndows Media Center не имеют возможности переключать аудио-дорожку. На форумах вычитал, что можно обмануть эти плееры, сменив язык ввода клавиатуры по умолчанию с английского на русский. Но у меня такие пляски не прошли. Второй совет был - установить плагин расширения функциональности Windows Media Player, но это тоже не помогло. Среди советов также встречался вариант установить драйвер от майкрософтовского пульта, где можно настроить на кнопку событие для переключения звуковой дорожки. Но к сожалению, с моим пультом от компьютера эта программа дружить не захотела. (А родной плеер iMedian HD с драйверами от моего пульта спокойно переключает дорожки, но жутко тормозит на видео и настроить мне его не удалось).
Промучавшись около 2 часов с плясками и танцами над мега-современными программными пакетами корпораций Microsoft и Cyberlink, которые даже не удосужились в 2009 году ввести поддержку переключения звуковых дорожек, я плюнул на клавиатуру, вытер, и скачал мой любимый и почему-то забытый с установкой новой винды плеер -
KMPlayer.
И я в очередной раз убедился, что лучше этого плеера, человечество ещё ничего не придумало. Плеер подхватил мои внешние и системные кодеки и настройки и без каких-либо дополнительных манипуляций и настроек чудесно заработал, показал видео без тормозов и разрешил переключить звуковую дорожку.
Единственный глюк, который остался - это ошибка, которая выскакивает после окончания воспроизведения фильма с инфой о том, что выбранный кодек вызвал недопустимую операцию и программа рекомендует его заблокировать и больше не использовать. Уже рассветало, поэтому я не стал даже пытаться бороться с этой проблемой, к тому же она решалась нажатием заветной "Отмена".
Полезные ссылки:
- PDF табличка с оффсайта nvidia -
Сравнение поддержки видео высокого разрешения на видеокартах Nvidia - Pure Video Product Comparison.pdf
-
A Basic Overview of GPU HD Video Processing
При написании статьи яростно изучаю
сей источник: "Как я смотрел кино на компе. (Аппаратное ускорение H264)"
Комментарии:
Авторизуйтесь или зарегистрируйтесь, чтобы иметь возможность комментировать записи!