Pull to refresh

XBMC 12.3 DSPlayer + SmoothVideo Project = мечты сбываются

Reading time6 min
Views41K
Доброго всем здравия уважаемые хабражители.
Поискав немного по обоим темам XBMC + SVP понял, что обе имеют достаточное количество поклонников и интересующихся.

Многие знают XBMC, некоторые знают SVP. А вот что такое DSPlayer и как их использовать вместе думаю, будет интересно почитать хотя бы для общего развития.
Итак, всех желающих прошу под хабракат.


1. XBMC DSPlayer



XBMC DSPlayer это основаный на DirectShow плеер для XBMC.
DSPlayer поддерживает аппаратное ускорение DXVA (работает в Windows XP, Vista и 7, 8), DXVA2 (только Vista, 7, 8), а также подключение любых пользовательских фильтров DirectShow (FFDShow, AC3Filter, AVSplitter, Haali Media Splitter ...).
Для вывода видео используются видеорендеры VMR9 (Win XP) и EVR (Win Vista, 7, 8) от плеера MPC-HC с возможностью тонкой настройки видео рендеринга.
Кроме того DSPlayer — это единственная возможность обеспечить совместную работу XBMC с пакетом уплавления проигрывания видео SmoothVideo Project (SVP).
При этом вся остальная функциональность XBMC осталась без изменений, так как DSPlayer полностью интегрирован с интерфейсом XBMC.

Первоначально работу над DSPlayer начал 0wing разместив на официальном форуме тему и выложив код на github.
Буквально через 10 дней я наткнулся на эту разработку и могу сказать, что пользуюсь нею до сих пор.
Со временем разработчик забросил свою работу, и если бы не наш соотечественник, продолживший его труд, то такой замечательный продукт так бы и заглох.
Кто-то знает его как Eduard_K, кто-то как viod.

Основные исправления и дополнения:

— Исправлена проблема с перемоткой и навигация мышью по прогресс-бару.
— Более надежное построение графов.
— Возможность включения DSPlayer через GUI.
— Возможность использовать системные DirectShow фильтры.
— Поддержка Blu-ray title (только с AVSplitter).
— Поддержка Matroska Editions (только с AVSplitter и Haali Splitter).
— Улучшен механизм соединения фильтров.
— Поддержка iMON LCD/VFD дисплеев.

Скрины основных моментов:


Реозиторий
Официальные исправления XBMC Frodo 12.2 до версии 12.3 XBMC 12.3 – Frodo fixes!
В сборки DSPlayer добавлено расширенное меню выбора аудио дорожек и субтитров.
А также исправления:
++ Баг с созданием миниатюр в окне закладок.
++ Сохранение настроек в окне Video Settings для PVR каналов.
++ Определение Refresh Rate.
++ Переключение PVR каналов из окна класса CGUIDialogPlayerControls.

Скачать:

XBMC DSPlayer 12.3 “Frodo”
XBMCSetup-20131228-c748d5e-dsplayer_12.3-Frodo.exe 53,2 МБ (55 842 373 байт)

XBMC DSPlayer 13.1 “Gotham” (Russian custom build)
Сборка включает:
++русская виртуальная клавиатура.
++seppius-xbmc-repo code.google.com/p/seppius-xbmc-repo

XBMCSetup-20140606-8486343-Gotham_dsplayer_RU.exe

Как пользоваться DSPlayer-ом в оригинале http://wiki.xbmc.org/?title=HOW-TO:_Using_DSPlayer
Как пользоваться DSPlayer-ом в моем переводе Настройка_DSPlayer

2. SmoothVideo Project (SVP)


Напомню немного что это такое.

SVP позволяет смотреть кино на компьютере с максимальной плавностью и высокой динамической четкостью, при этом плавность движений обеспечивается добавлением в видеоряд новых кадров, содержащих промежуточные положения объектов.
На сегодня подобные технологии используются в телевизорах среднего и проекторах высшего ценового диапазона, при этом SVP имеет несколько ключевых преимуществ:
— SVP абсолютно бесплатен и лишен любой рекламы, вывод видео через SVP можно настроить на любое средство просмотра в доме/квартире, SVP дает большую плавность, чем большинство аппаратных технологий, и имеет максимально гибкие настройки,
— работа SVP не ограничена форматами входного «сигнала», он работает с любым видео, включая 3D.
— SVP может использовать силу современных видеокарт, поддерживающих открытый стандарт OpenCL, для снижения нагрузки на процессор и увеличения качества расчета, при этом поддерживаются все современные видеокарты AMD и NVIDIA.

Более детально можно почитать тут http://www.svp-team.com/wiki/Main_Page/ru

3. Скрещивание


Из Вики XBMC мы уже знаем, что настройки фильтров производится в файле filtersconfig.xml, а настройка привязки фильтров к контейнерам в файле mediasconfig.xml. Файлы расположены в директории установки XBMC system\players\dsplayer\.
Для получения результата необходима чистая, незагаженая всякими К-Лайтами система, установленый SVP, AVSplitter, XBMC DSPlayer.
В конфигах плеера необходимо прописать дополнительные фильтры, которые работают с SVP.
Привожу свой конфиг, при котором возможен как аппаратное декодирование тяжелого видео так и уплавление его видеокартой.
Для того, чтобы начать разбираться с DSPlayer и его работой совместно с SVP, достаточно скопировать приведенный ниже код в стандартные файлы конфигурации. Единственное, что стоит еще упомянуть, так это необходимость настроить в декодере FFdshow RAW обработку всех типов видео.
image

Так же, в конфиге используется декодер LAV Video для аппаратного декодирования видеопотока. Чтобы FFdshow RAW его смог перехватить и обработать надо в настройках декодера для видеокарт AMD выставить режим DXVA2 (copy-back) чтобы кадры возвращались обратно в память. Для владельцев карт nVidia есть выбор между режимом DXVA2 (copy-back) и NVIDIA CUVID который дает некоторые плюшки в виде адаптивного аппаратного деинтерлейсинга, высококачественной обработки деинтерлейса, и аппаратного ускорения MPEG-4 видео. Выбирать надо в зависимости от мощности карты. Обычно опытным путем, потому что зависит сильно от остальной конфигурации компьютера. Владельцы Intel видеокарт так же могут выбрать или DXVA2 (copy-back) или родной Quic Sync который как и nVidia дает дополнительные возможности в виде аппаратного деинтерлейсинга.

image

И наконец, необходимо в настройках XBMC сделать DSPlayer плеером по умолчанию и отключить настройку «Использовать системные фильтры».

Прелесть в том, что этот конфиг каждый может написать для себя, с учетом своих пожеланий и предпочтений.

filterconfig.xml
<filtersconfig>
 <filters>
 <!-- Source -->
  <filter name="lavfsource" type="source">
   <path>LAVSplitter.ax</path>
   <guid>{B98D13E7-55DB-4385-A33D-09FD1BA26338}</guid>
   <osdname>LAV Splitter Source</osdname>
  </filter>
  <filter name="avsource" type="source">    
    <guid>{D8980E15-E1F6-4916-A10F-D7EB4E9E10B8}</guid>    
    <osdname>AV Source</osdname>
  </filter>
 <!-- Splitters -->
  <filter name="lavfsplitter" type="splitter">
   <path>LAVSplitter.ax</path>
   <guid>{171252A0-8820-4AFE-9DF8-5C92B2D66B04}</guid>
   <osdname>LAV Splitter</osdname>
  </filter>  
  <filter name="avsplitter" type="splitter">
   <guid>{529A00DB-0C43-4F5B-8EF2-05004CBE0C6F}</guid>
   <osdname>AV Splitter</osdname>
  </filter>
 <!-- Video -->
   <filter name="lavvideodec" type="videodec">
   <guid>{EE30215D-164F-4A92-A4EB-9D4C13390F9F}</guid>
   <osdname>LAV Video Decoder</osdname>
  </filter>
 <!-- Extra -->
  <filter name="ffdraw" type="extra">
     <guid>{0B390488-D80F-4A68-8408-48DC199F0E97}</guid>
     <osdname>FFdshow RAW</osdname>
  </filter>
 <!-- Audio -->
  <filter name="lavaudiodec" type="audiodec">
   <guid>{E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}</guid>
   <osdname>LAV Audio Decoder</osdname>
  </filter>
 </filters>
</filtersconfig>


mediasconfig.xml
<mediasconfig>
 <rules>  
  <rule filetypes="mkv|avi|mp4|m4v|flv|ts|mts">
   <source filter="lavfsource" />
   <splitter filter="lavfsplitter" />
   <video filter="lavvideodec" />   
   <audio filter="lavaudiodec" />
  <extra>
        <extra videoresolution="480|540|576|720" filter="ffdraw" />
   </extra>
  </rule>
  <rule filetypes="m2ts|bdmv|mpls">
   <source filter="avsource" />
   <splitter filter="avsplitter" />
   <video filter="lavvideodec" />   
   <audio filter="lavaudiodec" />
  <extra>
        <extra videoresolution="480|540|576|720" filter="ffdraw" />
   </extra>
  </rule>
 </rules>
</mediasconfig>


Подставляя разрешения в раздел «extra» можно регулировать разрешения видео к которым будет применяться уплавление.

Спасибо за внимание.
Tags:
Hubs:
+8
Comments17

Articles