I'm about to announce Red October over at AVSForum. Here's my draft for your comment...
[Edit -- Posted at AVSForum here:
http://www.avsforum.com/avs-vb/showthread.php?t=1343013end Edit]
DirectShow and Red October (Not the movie)Some of you may know that I'm the original employee at JRiver. We publish JRiver Media Center, one of several DirectShow capable video players. I want to say a few words about our experience with DirectShow and some of you will no doubt be wondering why. I'll try to explain.
But let's start first with what I understand DirectShow to be. Then I'll go on to what I think it's weaknesses are, and eventually to our new solution.
Years ago, Microsoft launched DirectShow technology, a method of handling audio and video with what I'll call "interchangeable parts". Any player that was DS compatible could theoretically load and use any DS filters. In theory it offered a way to standardize processing and playback of media.
For the less technical, a "filter" is a piece of software that can be strung together with others to create a "graph", something like a chain of beads. At the beginning there may be a reader (to read the file), then a spltter (to separate audio from video), various decoders (to decompress the audio and video), and a renderer (to paint the picture on the screen).
Microsoft also devised a "merit" system to allow competing filters to nominate themselves for insertion in the graph. This is one of the big problems with DirectShow, in my opinion. It allows bad filters to be chosen instead of good filters, so it causes a lot of problems at playback time.
Novice users find the normal Windows merit-based DirectShow system difficult. They need to understand that these additional "pieces" are required in order to get even the most common video formats to work. Once you have a working setup, it is difficult to keep everything up-to-date. It is also difficult for the developer to stay on top of best practices with the system.
We've wrestled with these problems for several years. Each machine usually has a number of filters installed, and they often don't work well when the graph is built. Our solution has been a little lame, I admit. When a user had a problem, we suggested installing CCCP, a well known filter "pack" that included "good" versions of ffdshow, haali, and other filters. This often worked.
We also pointed users to an excellent DirectShow Playback Guide, written by one of our expert users, glynor. You can see what a wall of text it is here:
http://wiki.jriver.com/index.php/DirectShow_Playback_GuideUsually one of these two remedies worked, but not always.
So we began thinking about including our own filter pack and setting it up ourselves. About the same time, LAV and madVR came to our attention.
As a result of a lot of hard work and cooperation with a number of developers and users, in the latest build of JRiver Media Center 16, we now have our own new DirectShow technology that we call Red October. It has these modes:
Red October Standard -- MC16 automatically downloads, installs, and configures known good versions of LAV Splitter, LAV Audio Decoder, ffdshow, and EVR. We build the graph and don't allow anything else. This results in video playback that just works.
Red October HQ -- Same as above, but adding madVR as the renderer. This is more processor intensive, so it only works well on pretty good CPU's -- i3 or above. Using madVR with MC16's VideoClock feature results in no dropped frames regardless of the source fps or display frequency.
For those who like to tinker, we added three advanced modes:
Red October Standard with additional filters -- Our base plus your additional filters.
Red October HQ with additional filters -- Our base plus yours again.
Windows Merit Based -- the same as the original Windows DirectShow selection.
In addition, Red October uses its own location and settings for all filters, and we "register" them ourselves, so there is no conflict with other players. Red October also ignores the Windows Merit system (while leaving it in place for other players) and RO has a white list for additional good filters. The Red October system is completely independent of everything else on the PC.
MC16 can now set a default that we know will work. Even a novice can now get the highest quality DirectShow playback without suffering the pain of DS configuration. And the DirectShow tweaker will still find room to play.
We're very grateful to nevcairiel, madshi, jmone, glynor, SamuriHL, and many others who helped guide this and upon whom we depend for their
sage expert advice.
I am extremely grateful to John Thompson and Matt Ashland, who helped create this amazing new system. It's one of the best projects JRiver has ever done.
Jim Hillegass