Kodi Community Forum
[WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: [WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] (/showthread.php?tid=61355)



- steelman1991 - 2010-03-17

Thanks and its good to be back. Hope all your work survived OK


- alda - 2010-03-17

Quote:
Originally Posted by alda View Post
Hi, it's a quite long time when I was here. I checked posts, but it's 200 pages. I have PC with nvidia ION and winXP with corecodec ( cuda support ). Is DS player 100% working with this configuration ( also subtitles ) ?

Thank you for your answer.

Alda


xbs08 Wrote:Why dont you just download, install and check it out?

:p


I can, but I don't have skills to experiment with this player.
What I need to know is :
Is MKV playback working with corecodec ? - how to set-up
Is subtittle support 100% working under MKV with hardware acceleration ?
ISO playback working and smooth ( under DVD player iso playback isn't smooth )
AVI playback - I hope all 100% working.

Is this beta version of DS player ? When we can expect first final release ?

Thanks for every answer.

Alda


- steelman1991 - 2010-03-17

alda Wrote:Quote:
Originally Posted by alda View Post
Hi, it's a quite long time when I was here. I checked posts, but it's 200 pages. I have PC with nvidia ION and winXP with corecodec ( cuda support ). Is DS player 100% working with this configuration ( also subtitles ) ?

Thank you for your answer.

Alda





I can, but I don't have skills to experiment with this player.
What I need to know is :
Is MKV playback working with corecodec ? - how to set-up
Is subtittle support 100% working under MKV with hardware acceleration ?
ISO playback working and smooth ( under DVD player iso playback isn't smooth )
AVI playback - I hope all 100% working.

Is this beta version of DS player ? When we can expect first final release ?

Thanks for every answer.

Alda

What skills do you not have now that you will suddenly have with a final release. Do as the first poster suggested and try it out - follow the wiki for installation (see the first page for link) - any major problems post here.

MKV playback with ffdshow dxva is working - with subtitles

Yes this is very much a work in progress, but then a little reading in the 200 page thread would have told you that.


- therealjoeblow - 2010-03-17

blinkeb Wrote:Whaou, we lost almost 100 pages in the crash, hard!

So, a little summary of what's going on:
- Coming support for DVD reading (ISO still needs to be mounted)
- Filters are released correctly (no more icon left in the tray when exiting xbmc)
- Basic support for matching display refresh rate with video. Won't work if you are in true fullscreen, and maybe not with the VMR9 renderer!

A new build should be available soon!

Thanks for the reader's digest summary Seb!

Just a reminder, R28511 is b0rked on WinXP, as >>X<< and I reported before the crash. Nothing plays, even standard XviD in an .AVI container, player just hangs.

Cheers
The REAL Joe


- therealjoeblow - 2010-03-17

alda Wrote:Quote:
Originally Posted by alda View Post

I can, but I don't have skills to experiment with this player.
What I need to know is :
Is MKV playback working with corecodec ? - how to set-up
Is subtittle support 100% working under MKV with hardware acceleration ?
ISO playback working and smooth ( under DVD player iso playback isn't smooth )
AVI playback - I hope all 100% working.

Is this beta version of DS player ? When we can expect first final release ?

Thanks for every answer.

Alda

1) Yes, it's beta (actually, probably still considered alpha at this stage)

2) No, nothing is 100% working at this stage. Although *many* of the features work extremely well for skilled users with the time, patience and ability to configure what they need correctly (I personally use a month-old build as my every day player with most things that I personally need working 100%, but that's not to say that everything works yet, IE, no DVD support, etc.)

3) FYI, the configuration requirements of DSPlayer change and need to be revisited by each user with almost every build, since features keep getting added, removed, revised, and the format of the configuration .XML file needs to be changed by the developers to accommodate the dynamic design roadmap that is currently being developed and implemented, essentially on-the-fly, in response to user feedback.

If you don't have the skills, then forget about DSPlayer for now - alpha software is *not* intended for inexperienced n00bs who want a 100% working, pre-configured end product.

Frankly, if I was Tiben and Seb, I would have locked down the initial alpha testing stage of DSPlayer to a small, select group of skilled users so that core features could be included and debugged with some semblance of order and efficiency. This thread has been nearly hijacked numerous times by people who, with all due respect, should wait on the sidelines till release 1.0.0 is ready and available (probably some months yet). Responding to many (but not all) of those users has most certainly hampered and slowed down development progress.

Cheers
The REAL Joe


- oldpainless - 2010-03-17

therealjoeblow Wrote:Frankly, if I was Tiben and Seb, I would have locked down the initial alpha testing stage of DSPlayer to a small, select group of skilled users so that core features could be included and debugged with some semblance of order and efficiency.

Cheers
The REAL Joe

Been saying that from the start....and you are right, we are still at the alpha stage, imo.

But having said that, with the codecs that I have configured (arc, ac3filter and reclock)...there is no way I'd go back to the offical (ie current SVN) build.

K


- therealjoeblow - 2010-03-17

oldpainless Wrote:Been saying that from the start....and you are right, we are still at the alpha stage, imo.

But having said that, with the codecs that I have configured (arc, ac3filter and reclock)...there is no way I'd go back to the offical (ie current SVN) build.

K

Likewise, no way going back to dvdplayer now, using ffdshow for both audio and video, with the resizing/upscaling/sharpening configuration that I described in my (now lost unfortunately) guide.

Cheers
The REAL Joe


- romeon - 2010-03-17

DSPlayer filter guide was yours, right?


- tiben20 - 2010-03-17

therealjoeblow Wrote:Thanks for the reader's digest summary Seb!

Just a reminder, R28511 is b0rked on WinXP, as >>X<< and I reported before the crash. Nothing plays, even standard XviD in an .AVI container, player just hangs.

Cheers
The REAL Joe
this is due to the release of the ac3filter i screwed for a while to figure out this behavior


- therealjoeblow - 2010-03-17

romeon Wrote:DSPlayer filter guide was yours, right?

Yes, the guide describing how to setup ffdshow for hq software upscaling of 720p and lower material, and dxva decoding of 1080p material. I still have the screencaps, but never saved a copy of the text, and don't feel like retyping it all right now (wife is still in the hospital, so time at a full-fledged computer is limited these days, most of my posting is done bedside from my blackberry).

Cheers
The REAL Joe


- romeon - 2010-03-17

unfortunately I have only bookmarked it and didn't save it (not in browser cache too) Sad. It was absolutely great, I wanted to check it last weekend ...


- Evilsatan - 2010-03-17

I have a copy of therealjoeblow's fantastic guide saved down. I will PM him a link to it now so he can repost Smile Thanks for the guide in the first place mate, it worked a treat.

One question I do have is when setting the default player in advancedsettings.xml, what file do I link to for DSplayer? There is no EXEs in \system\players\DSplayer

Cheers


- Evilsatan - 2010-03-17

It seems I cannot PM. Below is the guide copied down, it has been edited slightly, nothing has been removed, I just added a couple of notes which I thought makes things a little easier for people.

Quote:Follow this guide (props to therealjoeblow @ XBMC) to upscale all media to 1080p:

NOTE: This is NOT a intended to be comprehensive "I've never played digital media before" guide for newbies, it assumes you have a working dsplayer setup, AND a working knowledge of how to of how to enable both ffdshow's software/directshow filter the dxva filter properly configured to handle the codecs you want it to handle. Infact, if you have ffdshow properly configured, then this resize will benefit any video player, not just xbmc/dsplayer.

Note also that software upscaling is somewhat processor intensive, so if you have an old crappy machine, this might not work too well for you.

1) configure the standard ffdshow directshow decoder to handle xvid and h264 on the codecs tab (using libavcodec), as well as any others you want it to (only exception is MPEG2, use libmpeg2 for that instead of libavcodec). On the H.264/AVC item in the right pane, do NOT enable either of the "skip deblocking" tickboxes at the bottom, otherwise you'll negatively impact image quality in a big way! On the MPEG2 item, enable the "DVD decoding" tickbox at the bottom of the right pane if you want to use ffdshow to view standard DVD's.

I personally use virtually all of the common formats, ffdshow is the only video decoder on most of my machines, if you are using it there generally is *no* need for any other codecs and definitely no need for codec packs. Codec packs of any kind are evil, avoid them like the plague unless you want to fubar your system beyond repair.

Image

2) configure the ffdshow dxva filter to enable DXVA for H264 and VC1. Also enable "Surface Overlay" in post processing if you want subs in DXVA decoded material with ffdshow, otherwise subs won't work.

Image

3) back to the standard directshow filter: select the "Profiles / Preset settings" item from the left pane, go to the right pane and create a "New" profile, and name it something unique (I used "resize_for_w<1280").

Image

4) Still on the new "resize_for_w<1280" profile, enable the "Automatic preset loading" tick box at the bottom, then click the "Preset autload conditions..." button to bring up the autoloading window. Set it exactly as shown in the image above. This will cause this profile to load for all material where the image width is less than 1280 pixels. The default profile (where you hopefully didn't change anything before, but left everything at defaults) will load for all other material. You can tweak the settings if you're comfortable to make loading of this profile more restrictive using filenames, decoder matches, etc. but you really don't need to.

5) Now still with that new "resize_for_w<1280", profile selected (make sure it's hilighted and *not* the default one), on the left pane, enable the tickbox for "Resize & aspect" partway down the page and then click the "Resize & aspect" item to select it. On the right pane, enable exactly as shown in the image (horizontal size set to 1920; "resize always" enabled; "keep original aspect ratio" enabled)

Image

6) Now on the left pane, select the "Settings" sub-item from the "Resize & aspect item", and set as shown (Luma and Chroma methods both set to Lanczos; Number of taps for each slider set to 4.00, Accurate rounding enabled). You can also experiment with Luma sharpen and Chroma sharpen, but I don't use those. Also, you can go higher than 4.00 for the Number of taps for more sharpening, but this also increases processing requirements a lot, and might cause 100% CPU useage and therefore jumpy playback, so use caution. Too much sharpening will negatvely impact image quality anyway. Lanzcos 4 tap is a generally accepted good standard resizer.

Image

**ADDED BY EVILSATAN: the below step tells you to create a rule for DSPlayer. To do this go into the XBMC Program folder, System, Players, DSPlayer, rightclick 'dsfilterconfig.xml' then click edit. Add the rule towards the bottom of this txt file one line under the wmv rules '[/rule]'. More info on the dsfilterconfig.xml here. Save to desktop then copy into the folder to overwrite the original.**

7) Finally, to bring it all together, you need a rule in DSPlayer to make it load the DXVA filter for 1080p material, and the normal software directshow filter for other material. Since I use a filenaming convention like "Movie.Name.2010.1080p.BluRay.DTS.x264.mkv", I can use 1080p and 720p in the filename as triggers for rules. If you don't use such a naming convention, you'll have to find another way to trigger the correct rule in DSPlayer:

Code:
<rule filetype="mkv">
      <source filter="mkvsource" />
      <splitter filter="mkvsplitter" />
      <video>
        <video dxva="true" filename=".*1080.*" filter="ffdvideodxvadec" />
        <video filter="ffdvideodec" />
      </video>
      <audio filter="ffdaudiodec" />
    </rule>
That's it. Once you get this done, then the DXVA filter should load for 1080p material, and do nothing else to it. And the ffdshow software directshow filter should load for everything else, and resize it to 1920 pixels wide, with a subtle sharpening, but major noticeable improvement in quality.

**Below added by Evilsatan**
The final part of the above guide is the rule which tells DSPlayer when to use DXVA codecs to process the video. I suggest altering the below line from:
<video dxva="true" filename=".*1080.*" filter="ffdvideodxvadec" />
To:
<video dxva="true" filename=".*720.*|.*1080.*" filter="ffdvideodxvadec" />

This ensures DXVA processes all 720p and 1080p content WHEN 720p OR 1080p APPEAR IN THE FILENAME OF THE VIDEO! Alternatively to have DXVA process all MKVs remove the filename tag so the line reads:
<video dxva="true” filter="ffdvideodxvadec" />

Once you have ffdshow DXVA and Video Decoders setup as above, and you have added the rule to dsfilterconfig.xml you should be ready to launch XBMC.

Goto your Movies section of the menu and highlight your MKV HD movie, press ‘c’ and select ‘Play with...’, then select ‘DSPlayer’. The movie should open and start playing. Press ‘o’ to check your CPU usage and also it should show that ffdshow DXVA codec is being used to play the video.

N.B.
If you have followed the above and you select the video and it plays audio with a blank screen you need to goto XBMC settings/system, Video, Playback, and disable ‘Adjust screen refresh rate to match video’.

If you followed the above and when you try to run your video XBMC just refreshes the Movies menu/does nothing then you need to uninstall ffdshow, go to the CCCP Program folder and delete the ffdshow folder. Then reinstall ffdshow. You will need to re-enter the upscaling settings. If this does not work post your XBMC log.

If you would like me to remove any of my additions just PM me (I might not see your message on the board) and I will edit my post as you desire Wink


- relayer35 - 2010-03-17

therealjoeblow Wrote:Likewise, no way going back to dvdplayer now, using ffdshow for both audio and video, with the resizing/upscaling/sharpening configuration that I described in my (now lost unfortunately) guide.

Cheers
The REAL Joe

Is this the missing filter guide you guys are talking about? Resurected it through Google cache.

ffdshow - resize filter settings
As promised, here is a mini-guide to enabling ffdshow's resize filter for high quality (software) upscaling to w=1920 (ie, 1080p).

NOTE: This is NOT a intended to be comprehensive "I've never played digital media before" guide for newbies, it assumes you have a working dsplayer setup, AND a working knowledge of how to of how to enable both ffdshow's software/directshow filter the dxva filter properly configured to handle the codecs you want it to handle. Infact, if you have ffdshow properly configured, then this resize will benefit any video player, not just xbmc/dsplayer.

Note also that software upscaling is somewhat processor intensive, so if you have an old crappy machine, this might not work too well for you.


1) configure the standard ffdshow directshow decoder to handle xvid and h264 on the codecs tab (using libavcodec), as well as any others you want it to (only exception is MPEG2, use libmpeg2 for that instead of libavcodec). On the H.264/AVC item in the right pane, do NOT enable either of the "skip deblocking" tickboxes at the bottom, otherwise you'll negatively impact image quality in a big way! On the MPEG2 item, enable the "DVD decoding" tickbox at the bottom of the right pane if you want to use ffdshow to view standard DVD's.

I personally use virtually all of the common formats, ffdshow is the only video decoder on most of my machines, if you are using it there generally is *no* need for any other codecs and definitely no need for codec packs. Codec packs of any kind are evil, avoid them like the plague unless you want to fubar your system beyond repair.
Image


2) configure the ffdshow dxva filter to enable DXVA for H264 and VC1. Also enable "Surface Overlay" in post processing if you want subs in DXVA decoded material with ffdshow, otherwise subs won't work.

Image

3) back to the standard directshow filter: select the "Profiles / Preset settings" item from the left pane, go to the right pane and create a "New" profile, and name it something unique (I used "resize_for_w<1280").

Image

4) Still on the new "resize_for_w<1280" profile, enable the "Automatic preset loading" tick box at the bottom, then click the "Preset autload conditions..." button to bring up the autoloading window. Set it exactly as shown in the image above. This will cause this profile to load for all material where the image width is less than 1280 pixels. The default profile (where you hopefully didn't change anything before, but left everything at defaults) will load for all other material. You can tweak the settings if you're comfortable to make loading of this profile more restrictive using filenames, decoder matches, etc. but you really don't need to.

5) Now still with that new "resize_for_w<1280", profile selected (make sure it's hilighted and *not* the default one), on the left pane, enable the tickbox for "Resize & aspect" partway down the page and then click the "Resize & aspect" item to select it. On the right pane, enable exactly as shown in the image (horizontal size set to 1920; "resize always" enabled; "keep original aspect ratio" enabled)

Image

6) Now on the left pane, select the "Settings" sub-item from the "Resize & aspect item", and set as shown (Luma and Chroma methods both set to Lanczos; Number of taps for each slider set to 4.00, Accurate rounding enabled). You can also experiment with Luma sharpen and Chroma sharpen, but I don't use those. Also, you can go higher than 4.00 for the Number of taps for more sharpening, but this also increases processing requirements a lot, and might cause 100% CPU useage and therefore jumpy playback, so use caution. Too much sharpening will negatvely impact image quality anyway. Lanzcos 4 tap is a generally accepted good standard resizer.

Image

7) Finally, to bring it all together, you need a rule in DSPlayer to make it load the DXVA filter for 1080p material, and the normal software directshow filter for other material. Since I use a filenaming convention like "Movie.Name.2010.1080p.BluRay.DTS.x264.mkv", I can use 1080p and 720p in the filename as triggers for rules. If you don't use such a naming convention, you'll have to find another way to trigger the correct rule in DSPlayer:


Code:
<rule filetype="mkv">
      <source filter="mkvsource" />
      <splitter filter="mkvsplitter" />
      <video>
        <video dxva="true" filename=".*1080.*" filter="ffdvideodxvadec" />
        <video filter="ffdvideodec" />
      </video>
      <audio filter="ffdaudiodec" />
    </rule>

That's it. Once you get this done, then the DXVA filter should load for 1080p material, and do nothing else to it. And the ffdshow software directshow filter should load for everything else, and resize it to 1920 pixels wide, with a subtle sharpening and major improvement in quality.

As I said in an earlier post, you can also experiment with post processing and other built-in ffdshow filters for nominal quality XviD material, but that's a bit more involved and I'd recommend you get this resizing method down first.

Cheers
The REAL Joe


The Guide - totalhysteria - 2010-03-17

The guide in google cache.

http://209.85.229.132/search?q=cache:rAb0QCzjaMkJ:forum.xbmc.org/showthread.php%3Fp%3D526315+site:forum.xbmc.org+dsplayer+page+271&cd=2&hl=en&ct=clnk&gl=uk

Also googling " site:forum.xbmc.org dsplayer" will show links to most lost pages of this thread. You can add "page xxx" onto that search term and find most of the pages in the google cache.

Great work on DSPlayer. Got it working great on win7 64bit