View Full Version : Jellypie Media Center
dukey
28th January 2012, 23:51
So 4 years ago I wrote my own media center solution entirely from scratch, for my living room. I've been using it privately for years now. It was based upon directshow and had my own high quality opengl renderer. It could do colour conversion with pixel shaders and hardware deinterlacing. It had a few down sides, my sliced texture uploading for interlaced images was unbelievably slow, on ATI cards, even top of the range ones, whilst all nvidia cards were fine. But the big problem is playing DVDs. Microsoft only allows the dvd navigator to connect to microsoft video renders. There are some ugly ways around this but not for any sort of commercial solution.
Anyway fast forward 4 years, and something like 10 internal versions later I am releasing this into the world. The new version is written in direct X and uses my high quality EVR presenter. You should be able to get DXVA2 and hardware accelerated de-interlacing out the bag with it. It's designed to be super lightweight, and of course being directshow you can use whatever codecs you want. FFDshow, Lav filters, reclock, etc ..
The user interface looks something like this :)
http://i.imgur.com/sSir0.jpg
There is a config program bundled with it which you can use to choose whatever folders/network drive etc you want to stream your content from.
http://i.imgur.com/nY3pk.png
The program has a few nice features, you can watch DVDs just copied to folders as long as they aren't encrypted. And if you want to stream anything from CD/DVD it'll talk to your drive at the lowest level to control it's speed for super quiet playback.
Not entirely figured out what we are going to do with this in terms of price. Might give away the basic program and charge an incredible $10 for a version that plays DVDs too. Undecided.
Last point, this program DOES NOT RUN ON XP. You need windows Vista/7.
You can download the beta version here:
http://www.jellypiemc.com/jellypie-mc-beta-demo.zip
CruNcher
29th January 2012, 00:55
is it concepted as a Media Center only or Kind of a Hybrid (Zoomplayer,PowerDVD,TotalMediaTheatre) ?
dukey
29th January 2012, 01:05
It's roughly designed as a DivX DVD player / media streamer for your living room. It's not a desktop media player like zoomplayer or media player classic.
CruNcher
29th January 2012, 01:46
So the main differentiators to other solutions like MediaPortal or Xbmc is currently the Custom EVR Presenter and the small footprint ? (any comparisons with Custom Presenter like MPC-HC, MPC-HC experimental, Potplayer use them in terms of footprint features ?)
It had a few down sides, my sliced texture uploading for interlaced images was unbelievably slow, on ATI cards, even top of the range ones, whilst all nvidia cards were fine.
Hehe you aren't the only one that finds this a shame, many devs on Doom9 encountered these Slow copy issues with ATIs Hardware early on ;)
Microsoft only allows the dvd navigator to connect to microsoft video renders. There are some ugly ways around this but not for any sort of commercial solution.
Same for this Restriction
It could do colour conversion with pixel shaders and hardware deinterlacing.
So currently it supports Deinterlacing but no Shaders ?
Dont get me wrong i just wondering why someone like you doesn't join in to other projects and enhance them rather to start basicly from scratch all over again having ported you custom EVR to for example Mediaportal or Xbmc which are a lot more advanced as Media Centers would seem much more efficient ;)
The interface in Jellypie MC is designed to be simple. One of the problems with other media center soultions is that their interfaces are often so complex that they can only be configured by pointy headed techie types. Another guinine problem is that some intefaces are so over engineered and glitzy that they place real demands on the CPU of the host machine in order to display smoothly. Their are few things more irritating than waiting for a sluggish media centre interface to respond when all you want to do is watch a movie or catch up with your favourite TV show.
This is the reason that we decided to keep the interface in Jellypie MC as minimal as possible. It allows you to comfortably browse for your media while relaxing on a sofa or reclining in bed. Options for configuring the GUI (graphical user interface) are minimal and simple. You can change the font and you can change the background.
We believe that the core of a media centre is not the visual appeal of its interface. The interface needs to be functional and easy to use and not get in the way of the experience of watching the media.
A lot of truth here (though their are projects on both sides Xbmc as well as Mediaportal to improve performance)
also imho first of all a good Media Center needs to be Content Centric as content is that what you want to see not the Center, that's just the tool to consume it so in those regards i fully agree with your goals :)
Though some visual feedback is efficiency wise needed but you allways have to be very carefull where the edge to overdoing it is (though some people even love to be flooded with unnecessary information and thus why Xbmc and Mediaportal offer this), for example a simple text browsing tree system isn't efficient for a Media Center where content is in the focus, and with a flood of content (content fragmentation) even a pure visual feedback is not going to be enough :)
dukey
29th January 2012, 17:24
Dont get me wrong i just wondering why someone like you doesn't join in to other projects and enhance them rather to start basicly from scratch all over again having ported you custom EVR to for example Mediaportal or Xbmc which are a lot more advanced as Media Centers would seem much more efficient
Well, I already do plenty of open source work for one.
http://winlirc.sourceforge.net/ is my open source project.
I just wanted to make something unique, without being bound by someone else's existing design.
One thing I want to look into is modifying VS Filter to output subtitles on a seperate RGBA pin. That way we can get DXVA with subtitles. It would technically work with any renderer that supports multiple input pins, VRM9 EVR etc. Just need to tell the renderer to support 2 input pins and graph build will probably do the rest. Just need to get my head around the code.
CruNcher
29th January 2012, 22:10
subtitles could indeed need a lot of work if compared to VLC (teletext subtitle support,closed captions,correct dvbsub) for example most Dshow based stuff is years away, but this also depends heavily on the splitter, DXVA subtitle support would be indeed unique :)
starla
31st January 2012, 22:06
DXVA subtitle support would be indeed unique :)
MPC-HC, MediaPortal... probably some others as well allow DXVA to be used with subtites enabled.
nevcairiel
31st January 2012, 22:17
So does ffdshow when using its DXVA decoder (although its a bit bugged)
dukey
31st January 2012, 23:13
The ffdshow dxva subtitles didn't work properly at all. The subtitles basically destroyed the picture.
http://i.imgur.com/M9fuW.jpg
haruhiko_yamagata said ..
I don't have DXVA enabled video card and I don't know how albain has implemented DXVA + subtitles.
It looks like DXVA decoder is referencing the frames which subtitles are drawn by ffdshow. If it is true, it is almost impossible to fix.
In the future, I may implement hardware overlay, but not sure. It may be the only way to fix it.
nevcairiel
1st February 2012, 08:09
Like i said, its bugged. :)
dukey
1st February 2012, 20:00
Well,
I had a go at subtitles with my own filter. More of a proof of concept example but basically it works.
http://i.imgur.com/thFS8l.jpg (http://imgur.com/thFS8)
CruNcher
1st February 2012, 23:26
Yes right to the Renderer, but how to get it working with EVR ? :)
dukey
3rd February 2012, 17:34
exactly the same way.
EVR supports up to 16 streams. But to use DXVA with subs is a little more restrictive with the pixel formats of the sub images. Not sure why exactly. Not a deal breaker though.
http://i.imgur.com/BilqG.jpg
Interestingly EVR has a tonne of options to play with. I never realised you could do stuff like non linear stretches with it.
http://i.imgur.com/bpuzY.png
setarip_old
4th February 2012, 19:47
@dukey
Hi! Not entirely figured out what we are going to do with this in terms of price. Might give away the basic program and charge an incredible $10 for a version that plays DVDs too.Not even a bit of playback capability regarding Blu-ray/AVCHD/.TS/.M2TS, five years after its introduction? I'd suggest that a "new" DVD player first being brought forth during the waning days of DVDs should probably be offered as freeware...
dukey
4th February 2012, 20:18
If you install the lav filters, transport stream (.ts) files should play fine as well as .M2TS and pretty much everything else.
Blu-ray playback with menus would be really nice. But sadly the only way I can see to do this is to get a license to use power dvd or windvd navigators. It might be years before we see any proper open source solution that is usable. Not even windows media player plays blu-rays.
dukey
11th February 2012, 02:34
So I had a little time to work on this subtitle thing. I've knocked together a proof of concept filter that works, nearly out of the box with EVR and DXVA. It doesn't currently work with VRM7/9 because it doesn't support the AI44 pixel format type. But something like AYUV would probably work work with those renderers.
Anyhow this is it working out of the box with MPC-HC. You need EVR/custom to use this. It works out of the box because mpc-hc sets EVR to have 3 input pins, presumably for DVD rendering.
http://i.imgur.com/oHyQC.jpg
It only works for embedded SRT subtitles.
Dll and source here:
http://jellypiemc.com/JellypieSubtitles.zip
CruNcher
12th February 2012, 05:21
Nice work Dukey but is it really needed to start from scratch wouldn't adapting vobsub be a more efficient option ?
I think a OSD or Teletext could be renderered the same way on top of the surface as well ?
dukey
13th February 2012, 01:31
Well if you check out the zip file above, it's hardly any code. Just prototyping to see what works and what doesn't. Modifying VSFilter would be the ideal option. I don't especially want to rewrite the wheel :p Other option is to start something from scratch and use some open source libs like
http://code.google.com/p/libass/
The video pin should simply pass through, then the text pin should decode to AI44 and maybe AYUV.
Edit:
About teletext yeah sure I don't see why not. Only trouble with OSD is that you might not be able to disable it unless the video of input pin 0 is updated.
dukey
3rd March 2012, 01:51
Well, I finished version 0.9 alpha of my DXVA compatible subtitle filter.
Download here:
http://jellypiemc.com/Jellypie_Subtitle_Filter.zip
It currently only works with EVR, and EVR needs to be configured to use 2 input pins.
It'll work out of the box with MPC-HC.
Feedback/bug reports welcome :)
Inspector.Gadget
4th March 2012, 05:12
Interestingly EVR has a tonne of options to play with. I never realised you could do stuff like non linear stretches with it.
:eek:
How did you get to that option panel? I never see anything that cool in Graphedit or Graphstudio for EVR...
CruNcher
4th March 2012, 12:43
you need to install the evr panel that comes with the directx sdk same procedure like with the vmr panel back in xp times
Inspector.Gadget
4th March 2012, 17:51
you need to install the evr panel that comes with the directx sdk same procedure like with the vmr panel back in xp times
Do you have a link that describes how to do that? Being able to manipulate that image on playback, for example in MPC-HC, would be incredible.
CruNcher
4th March 2012, 18:06
sorry from the Windows SDK http://msdn.microsoft.com/en-us/windows/aa904949.aspx you need those 2 files
proppage.dll
evrprop.dll
register them and you have the property page available for the vmr/evr renderer (custom or native)
Inspector.Gadget
4th March 2012, 18:13
Thanks CruNcher! Thus ends my derail of this thread :D
dukey
4th March 2012, 18:33
Thanks cruncher, yeah that is it. The dlls are included in the windows SDK. You need both proppage and the other. Proppage is included in windows XP, but for some reason missing in later versions of windows.
I've included the dlls in
http://jellypiemc.com/Jellypie_Subtitle_Filter.zip
Saves your downloading a 1gig sdk :)
Enjoy
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.