MKVMania – Displaying PGS Subtitles in MKVs Using MPC

by Damian on June 24, 2010 · 39 comments

in Guides

About a week ago I posted a guide on how to display PGS subtitles embedded in mkvs using Haali. At the time the only way to display PGS subtitles in mkvs was to use a combination of Haali and FFDShow. Since writing that guide two important changes have come out. The first is that Mosu, the developer of mkvtoolnix, added support for PGS subtitles. This is important as many applications that create mkvs use mkvmerge, so without PGS support there is little incentive for more universal support. The second change is that MPC HC now supports PGS subtitles with its internal mkv splitter. This is important for those who don’t want to install Haali on their system (such as myself).

Files To Download:

Setup:

For Playback in WMP:

1. Download and register MatroskaSplitter.ax from the MPC HC Standalone Filters. I created a folder called “MPC Filters” where I place the filters I need (i.e. C:\Users\Damian\AppData\Roaming\MPC Filters), and then for each filter created a separate folder. An easy way to register this filter is to create simple bat file. To register, open up notepad and type the below. Save file as install.bat in the same directory as where the MatroskaSplitter.ax filter is stored. Double click on the bat file to register.

@%SystemRoot%\System32\regsvr32.exe MatroskaSplitter.ax

2. Install and set up FFDShow. Follow step #2 here.

3. Run Win7DSFilterTweaker and assign ffdshow (DXVA) to both H.264 and VC-1 (obviously pay attention to whether you are using a 32bit or 64bit system)

4. Play back an mkv with embedded PGS subtitles in WMP and the subtitles should appear

Also, if you want to switch between multiple subtitles you can do so via the ffdshow video decoder icon in the taskbar

For Playback in MPC:

1. Install MPC HC. Open MPC HC, go to View -> Options

  • Under “Playback” make sure “Auto-load subtitles” is enabled (this is optional, I have this checked off since I only ever have one subtitle file which would be forced subtitles)

  • Under “Internal Filters” make sure the “Matroska” Source Filter is enabled.

2. Play back an mkv with embedded PGS subtitles in MPC HC and the subtitles should appear

Final Thoughts:

I must really tip my hat to the developers of MPC HC and mkvtoolnix. Within a few days of myself and a few others requesting PGS support on their forum threads they were very quick to respond and add. I personally find Haali too buggy and causes too many conflicts, so now that MPC HC and mkvtoolnix is on board I think we will get to point sooner then later where PGS subtitles in mkvs are universally supported.





Article by

Hi, my name is Damian, and I'm tech gadget addict! Although I always had some interest in technology, it wasn't until I got my EX470 and more importantly found Mediasmartserver.net, that my interest became an addiction. My goal, aside from world domination and to see the Mets/Broncos win another championship, is to set up the perfect digital home where all my media is available at the click of a button. When I am not writing for Mediasmartserver.net you can find me over at my blog at http://www.adigitalhomeblog.com or follow me on twitter


{ 39 comments }

Ken June 25, 2010 at 4:12 am

Damian,

Nice write-up as always. Question, is this setup working for you on your Core i5 system?

Damian June 25, 2010 at 4:57 am

@ Ken,

Yes, I tested this on my core i5 laptop and it works fine (using MPC HC as my player).

SamuriHL June 25, 2010 at 8:09 am

Very nice. Will test this more when I get back tomorrow.

SamuriHL June 30, 2010 at 9:20 am

So I’ve been using this setup for a few days now. LOVE IT. There’s a screwy bug somewhere when using the MPC matroska splitter. ffdshow seems to ignore the default subtitle track setting. So if you select no default tracks, for example, ffdshow simply decides to pick the first one anyway. I’ve asked albain about this but so far no response on it. If we can get that fixed, we’re absolutely golden. Hopefully Mike Eby will fix up Another EAC3To GUI soon to add PGS support. This came along so quickly. I’m quite pleased.

eng June 30, 2010 at 1:40 pm

Damian,
I notice on you pictures that the subs have a tint of green. Is that normal cause I’m getting that on the movies I’ve done. I also noticed on your screen cap pic is the yellow FFVA. I only get the red FFV. It should be FFVA, right? I ran the Win7DSFilterTweaker and did the assignment. And lastly, switching to the matroska splitter, my wmp is playing out of snyc and I hear all the different audio languages at the same time. Any ideas?
Thanks.

SamuriHL June 30, 2010 at 1:50 pm

The yellow icon indicated DXVA. You most definitely want that. :) Go into the ffdshow dxva configuration and make sure h.264 and vc1 hardware acceleration are checked. It could be that you have it set to display the “old” ffdshow icon in which case it’s not an issue. But make sure DXVA is being used in either case.

Tom July 5, 2010 at 9:26 am

Great guide, but it does not explicity say whether this will work for forced subtitles only. I ripped Avatar with MakeMKV, but I can’t get it to playback with the forced subtitles. The only way it will display the forced subtitles is if subtitles are turned on and it displays subtitles all the way through.

Is this setup supposed to work for just the forced subtitles?

SamuriHL July 5, 2010 at 2:39 pm

What I do is pull the forced subs into a separate subtitle track and set it to default. MakeMKV and Another EAC3To GUI allow you to do that. They basically scan the subtitle tracks for forced subs and extract them into their own track. It’s really slick and works well.

Doug July 5, 2010 at 3:59 pm

Damian, you’re a lifesaver! I’m going to be setting up my home theater/server gear in a couple of months and was thinking it would be nice if I could easily handle my Blus like my music and DVDs. Knowing that I can bitstream, keep subs (important b/c I watch a lot of foreign films), etc. makes me a very happy boy. :) Now if only you could come up with a magical guide for turning a 2 TB hard drive into 4+ TB….

Cheers, and keep up the good work!

SamuriHL July 5, 2010 at 4:04 pm

Damien,

More work for us, my friend.

http://forum.doom9.org/showthread.php?p=1414651#post1414651

I’m going to give it a try in a few minutes to see how well it works. Could be yet another replacement for Haali. I’ll post back the results in a bit.

@Doug – MKV is a more efficient container than ts/m2ts, so, in essence, he did turn your 2 TB drive into a 4+ TB drive. :D

SamuriHL July 5, 2010 at 4:24 pm

No celebration I’m afraid. It can see PGS subs, but, DTS-HD MA created with mkvmerge doesn’t bitstream. A very high pitched buzz comes across for me. This doesn’t happen with MakeMKV files. Frustrating.

Damian July 5, 2010 at 4:59 pm

@ Tom,

I just tested District 9 using MakeMKV. I only have a need for the forced subtitles so I just selected only the forced subtitle tracks (not the entire english subtitles but just the forced subs directly below). Just played the mkv briefly with MPC HC and it picked up the forced subs.

Damian July 5, 2010 at 5:12 pm

@ Doug

As Samuri mentioned, mkv is more efficient then ts/m2ts. You can see a quick writeup I put together comparing sizes, and on average mkv saved 4-5% over m2ts (http://www.mediasmartserver.net/2009/08/21/is-your-container-bigger-than-mine/). Really in my mind the two options are mkv or Blu Ray folder (using a single m2ts/ts makes no sense as you lose all chapter support). For my needs mkv has done the job very nicely.

SamuriHL July 5, 2010 at 5:17 pm

I’ve fixed the DTS issue by remaking it with mkvmerge 4.11. However, I’ve yet to get subs to display. ffdshow can see them but no text shows up. I’m taking one last stab at this and recreating it yet again but with PGS sub compression (using zlib) turned off as that’s been a problem for several players already (cough vlc). They have their own muxer but you need to create a graph to use it and I’m not patient enough for that right now. :D

Damian July 5, 2010 at 5:18 pm

@ SamuriHL,

Hmmm…interesting, almost sounds like the bug we found with Haali where DTS(MA) from MakeMKV works but not from mkvmerge.

Did you hear back from Albain regarding the issue you posted? I haven’t seen him post of Doom9 of later

Damian July 5, 2010 at 5:21 pm

@ SamuriHL,

Can you get the PGS subs to show using MPC HCs subtitle filter in place of FFDShow?

SamuriHL July 5, 2010 at 5:24 pm

I was going to test it with Haali in a minute now that I discovered remuxing fixed it for SMM. No, I haven’t heard from Albain on the default issue. :(

And I fixed subs. I was right…compression kills it. sigh. If I create a new one with PGS subs uncompressed then it works. I’ll let them know. We are making progress though. :)

SamuriHL July 5, 2010 at 5:30 pm

Haali is unchanged with the new mkvmerge 4.1.1 made MKV. Still broken. Can only assume Haali is hopelessly broken on DTS-HD MA bitstreaming and will leave well enough alone. But now we have 2 splitters to play with. Provided you don’t compress the PGS subs for now.

Damian July 5, 2010 at 5:44 pm

Is the compression setting that setting I have been reading about yesterday and today in MKVMerge (Mosu talks about using 4.1.1 but you have to disable extra compression )?

SamuriHL July 5, 2010 at 5:48 pm

That’s right, yes. You click on each PGS sub that you’ve added, and then go to the extras tab. There won’t be anything selected in the compression drop down, but, by default it seems to be enabled. Just set it to none if you want to use the SMM splitter. The MPC splitter seems to be able to handle compressed subs just fine. VLC does not. So, I don’t know on this one what’s the right way to go. You can save space by compressing it, but, then you could be screwed with whatever splitter/player combo you choose. I’m so glad this is straight forward, yea? :D

SamuriHL July 12, 2010 at 1:40 pm

Damien, do you know who’s maintaining the MPC splitter? We need to request a feature. I thought it was ffdshow’s responsibility but I was wrong. The splitter needs to put up an option in the subtitles for “(None)” and default to that when there is not default subtitle track selected. Haali actually does this, that’s how I know it’s not ffdshow’s issue. I don’t know who to contact about it and was hoping you would. This is our last big issue to overcome in playback land. :)

Damian July 12, 2010 at 1:47 pm

@ SamuriHL,

I only know of the main MPC thread on Doom9 which I am sure you are aware of. That is where I initially requested PGS subtitle support for MPC and within a few days it was there :-)

However, that thread is massive and honestly it is very hard to tell who (i.e what developers) are actually listening. My guess would be to post there, if no response bump your post a few times, and then no luck try to pm a developer. I can jump in on your post as well to get the support rolling

SamuriHL July 12, 2010 at 1:58 pm

Awesome. Thanks! Also, FYI, I switched my machines to use the 64 bit version of WMP now so I don’t have to mess with the 32 bit nonsense anymore. All is working perfectly! I’m so happy right now. If we can get this subtitle thing fixed we’ll be good to go.

robp July 26, 2010 at 7:46 pm

Just wanted to share a little trick I discovered today:

I really liked Damian’s idea of checking off the “Auto-load subtitles” box, and only keeping the forced subtitles – thereby always displaying forced subtitles, and not having to manually select them when they are needed. However, I also like to keep normal subs, whether there are forced subtitles or not. So, I was left choosing between the convenience of checking off the “Auto-load” box (and keeping only forced subs), or keeping all subs for when I might want them (and having to manually select the forced subs). Here’s the trick I came up with to solve my dilemma:

I created a blank srt file which I named “blank subtitles.srt”, and using mkvmerge I place it above the normal subs in the “Tracks, chapters, and languages” box. Now, when MPC auto-loads the first subtitle stream, it’s blank, and I still have the option of selecting the normal subs when I want to. If a movie does have forced subs, then there’s no need for the blank subs – just place the forced subs above the normal subs, and the forced subs will auto-load.

SamuriHL July 26, 2010 at 7:49 pm

Very nice. However, I’m hopeful the concept of defaults will be fixed in the SMM splitter soon. In theory if there are no subs set to default, it shouldn’t be playing subs (I asked for an option of “none” to appear but we’ll see how he does it). But your idea is a nifty one for sure.

robp July 27, 2010 at 10:03 am

Yeah, I was pretty disappointed the first time I tried using the “default” and “forced” tags, and realized they had no effect.

It would be nice if SMM can get it working. It’d be even nicer if I could get SMM working for me…. but that’s a discussion for somewhere else.

lostclusters August 13, 2010 at 8:37 pm

What would be the necessary changes needed to do the under XP? I am sure that Win7DSFilterTweaker will not work under XP.

lostclusters August 14, 2010 at 2:07 am

What would be the necessary changes needed to do this under XP? I am sure that Win7DSFilterTweaker will not work under XP.

SamuriHL August 14, 2010 at 8:36 am

I don’t know what needs to be changed for XP. What hardware are you trying to bitstream with under XP? ATI 5xxx cards won’t work. Xonar would if you have the right audio renderer from TMT. I have NO idea about Clarkdale.

lostclusters August 14, 2010 at 12:51 pm

I will not be bitstreaming with this machine but it is an Alienware ALX running XP sp3, with a QX6700 running @ 3.2GHz, dual NVidia GTX 260′s (about three years old). I use this as my primary PC. I use it for my day to day PC needs but also for testing purposes. Sometimes weird things happen and it is good to have another PC to test files to aid in troubleshooting. My HD HTPC is made of the following:

i3 530 G0 CPU
Saphire HD 5670
G.Skill DDR3 1600
ASRock H55M/USB3 rev 1.02
Seagate Barracuda 7200.12 500GB
PC Pwr & Cooling Silencer Mk II 500w

W7 ultimate
CCC 10.7
Intel IME (what installs from windows update)
DirectX Runtime
TMT3 Platinum .180
madFlac 1.8
MPC-HC 1.3.1249.0
ffshow 3517
Reclock 1869

SamuriHL August 14, 2010 at 1:10 pm

So you’re just trying to get the other machine set up to use ffdshow dxva/subtitles/audio decoding then? I don’t know how to configure it in XP. It’s been a very long time since I even looked at an XP machine.

lostclusters August 14, 2010 at 2:17 pm

Hats off to you Damian/dbone, I got this working in like five minutes on my HD HTPC. A quantum leap forward for mkvs everywhere. This solves a huge problem I was having with my issue with forced subtitles and I am most appreciative of your efforts. Thanks again!

Damian August 14, 2010 at 2:47 pm

Great news!!!

djphatic September 11, 2010 at 12:33 pm

Unticking “Auto-load subtitles” doesn’t work for me, not sure if I am doing something differently?

I have a mkv with one pgs stream, the stream is the forced only subtitles from the main subtitle stream. I can only get the subtitles to appear if the Auto-load subtitles option is enabled. With this option disabled I cannot get ffdshow to display any subtitles even when the subtitles option is selected in ffdshow DXVA.

Damian September 11, 2010 at 12:37 pm

There appears to be many issues where the forced subtitle flag is not being respected. I know for sure that the MPC internal splitter does not respect this flag, so you need to have the subtitles enabled in MPC HC. This may be the same issue with FFDShow. Since I only ever have the forced subs if present it isn’t an issue to me, but I am surprised that not many players/filters acknowledge this

djphatic September 11, 2010 at 12:55 pm

With the Auto-load subtitles open enabled, it appears to take note of whether a subtitle stream is set as forced as when I open a blu-ray via BDMV the subtitle streams are loaded but none appear on screen unless I select one of them.

Subtitles and forced flags are a real pain outside of using DVD/Blu-ray software such as TMT without remuxing.

SamuriHL September 11, 2010 at 1:35 pm

It’s a splitter issue for MKV. It’s being worked on by at least 2 splitter developers that I know of. LAVF will have it when it’s done and SMM will also have support for it. Until the splitters support it, there’s nothing you can really do automatically.

Geoff October 2, 2010 at 6:51 am

One small issue, my hardware will not allow DXVA! So I am stumped it seems!

Luis December 1, 2010 at 6:23 pm

Hi there,

First off, thanks for all the guides, i’ve followed this one in my laptop and desktop and everything worked out fine, but i’ve run into a problem with a friends laptop running vista.

I was trying to follow the guide with haali, since the win7dsfiltertweaker only runs on 7 and couldnt get it to work, the mkv runned fine, the ones with SRT embed worked ok, the ones PGS subs played without displaying the subs, so i’ve tried using the MPC matroska and somewhere along the line the laptop stoped reproducing the MKV’s alltogether, the file opens but it doesnt play, no error or anything, the time just doesnt move and the window stays black, it stays on 00:00, or at whatever time i move the slider to.

I’ve tried uninstall all the things i’ve installed, the MPC-HC, haali, ffdshow…And even everything else i’ve found here (it had CCCP installed)

Now it only has the ffdshow, with the standalone filter and MPC-HC

Oh and its the same on windows MP.

Thanks ind advance

Comments are closed, visit the forums to continue the discussion.

Previous post:

Next post: