View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
30th April 2011, 09:04
I looked into the VobSub problem with ffdshow, and i believe what i do is correct. The MPC-HC renderer works fine with it too, just ffdshow at some point drops subs, why is unclear to me as of now - but the output of vob subtitle packages seems just perfect.
fastplayer
30th April 2011, 09:15
Disappearing VobSubs with ffdshow?
Known issue:
http://sourceforge.net/tracker/?func=detail&aid=2981790&group_id=173941&atid=867360
nevcairiel
30th April 2011, 09:56
Guess we're lucky that VobSubs are ugly anyway. :)
jmone
30th April 2011, 10:35
All true and I've lived with the disappearing VobSubs for ages, what freaks me out is with LAVSplitter I'm now getting Arabic ones appearing! How does that work?
CruNcher
30th April 2011, 12:08
There are several interoperability issues of how .ts stuff is handled between MPC Splitter/Decoder (especially MPCs Video Decoder in combination with interlaced H.264) and Lav splitter i gonna report those results @ both parties not sure who will have to make the step in which direction, though i hope both being open there is some thinking of "we have the same goal" at least i hope :(
ryrynz
30th April 2011, 12:29
Nev, is there any way to have subtitles display but only if the titles and signs track is there?
nevcairiel
30th April 2011, 12:34
Nev, is there any way to have subtitles display but only if the titles and signs track is there?
I have no idea what you are talking about, sorry.
Sebastiii
30th April 2011, 13:03
Hi :)
Don't know if someone have see this, but maybe nev you can look :)
Again a BIG thanks for all you doing man :)
http://sourceforge.net/apps/trac/mpc-hc/ticket/515
Cheers.
ryrynz
30th April 2011, 13:12
I have no idea what you are talking about, sorry.
Whoops, I'll explain:
I have videos which have multiple subtitle streams, one that displays all subs and another which only displays subs for non english spoken parts and signs.
I would like to keep subtitles enabled but have use the latter subtitle stream only, Is there a way I can select subtitles automatically by name? Thanks.
nevcairiel
30th April 2011, 13:13
Sometimes I encounter videos which have multiple subtitle streams, one that displays all subs and another which only displays subs for non english spoken parts and signs. I would like to keep subtitles enabled but have use the latter subtitle stream. Is there a way I can select subtitles automatically by name?
No, by name is not possible. If thats a MKV, get a MKV Header Editor (like mkvmerge/mmg), and flag that stream as "forced" .. if its not a MKV - well, forget it then.
ryrynz
30th April 2011, 13:17
Awesome :thanks:
Nexin
30th April 2011, 15:24
@nevcairiel
Are there plans for elementary streams such as .mpv H264 m4v and others ?
CruNcher
30th April 2011, 16:13
So there are 2 .ts based issues with MPCs Video Decoder DXVA and Lav Splitter (sample bellow)
http://www.mediafire.com/download.php?61ynvmy0x47n5b3
HDPVR->Video Parsing enabled->MPC-HC DXVA = works, though unsync
HDPVR->Video Parsing disabled->MPC-HC DXVA = fails, black screen
HDVPR->Video Parsing disabled->LAV CUVID,Cyberlink DXVA = works, stays sync
HDPVR->Video Parsing enabled ->LAV CUVID,Cyberlink DXVA = works, though unsync
HDPVR->MPC-HC Splitter->MPC-HC DXVA = works, stays sync
2nd problem are these H.264 interlaced streams (sample bellow)
http://www.mediafire.com/download.php?0268ha2ucbp39l9
Interlaced TS Stream->MPC-HC Splitter->MPC-HC DXVA = works
Interlaced TS Stream->LAV Splitter->MPC-HC DXVA = fails (no matter Video Parsing enabled/disabled)
Interlaced TS Stream->LAV Splitter->LAV CUVID,Cyberlink DXVA = works (no matter Video Parsing enabled/disabled)
SamuriHL
30th April 2011, 16:28
DirectVobSub uses the same renderer as MPC-HC itself, so if it didn't work in there, it won't work with directvobsub.
Yea, but you know what's freaky? If I use MPC-HC's internal version of sub handling, I can get subs to work just fine with the Cyberlink Video decoder. It's only when using the "external" registered version that it doesn't seem to work. That's pretty whacked.
pankov
30th April 2011, 17:08
nev,
I'm having problems with the Avatar BD (one of the very few I have).
I'm using the CEE version which has Bulgarian subtitles and I can't make LAV splitter recognize and select them automatically.
I guess the problem is that it doesn't recognize the streams correctly ... but MPC's MPEG splitter somehow manages to do it correctly (see the screenshots bellow).
Do you happen to have the same version of the Avatar? Do you get it to automatically select the German track for example?
http://img190.imageshack.us/img190/8578/avatarstreamslav.th.png (http://img190.imageshack.us/i/avatarstreamslav.png/) http://img856.imageshack.us/img856/6266/avatarstreamsmpc.th.png (http://img856.imageshack.us/i/avatarstreamsmpc.png/)
Mercury_22
30th April 2011, 18:17
DTS(-HD) it's broken in latest Nevcairiel-LAVFSplitter-0.24-17-gf2e0fbc
It's playing at a higher speed and with much noise:confused:
nevcairiel
30th April 2011, 18:20
I can't make LAV splitter recognize and select them automatically.
I guess the problem is that it doesn't recognize the streams correctly ...
Language detection on Blu-rays only works if you actually open the Blu-ray files (a .bdmv or a .mpls), just opening a m2ts will never properly detect this with LAV Splitter.
DTS(-HD) it's broken in latest Nevcairiel-LAVFSplitter-0.24-17-gf2e0fbc
It's playing at a higher speed and with much noise:confused:
You're right, ffmpeg broke it. I'll fix it.
Edit: fixed, and fix submitted to ffmpeg as well.
SamuriHL
30th April 2011, 19:24
Thanks, Nev. I'm building it now for my own purposes.
SamuriHL
30th April 2011, 19:52
Watching Megamind (for the first time...just opened it finally) which is TrueHD. The TrueHD track is breaking up every few minutes. :( Just a small "glitch" and it reconnects immediately but it's a noticeable glitch. sigh.
pankov
30th April 2011, 20:05
Language detection on Blu-rays only works if you actually open the Blu-ray files (a .bdmv or a .mpls), just opening a m2ts will never properly detect this with LAV Splitter.
I simply didn't expect MPC's splitter to be capable of something that LAV one is not.
That's fine with me ... well sort of ... because we'll have to trust that ZoomPlayer (in my case) (or is it LAVSplitter itself?) will select the correct .mpls file.
SamuriHL
30th April 2011, 20:09
Oh, and yes, I have ReClock in the chain. Not sure what the hell's going on with this track, but, it's not a consistent every "xx seconds" or anything like that. It's randomly breaking up.
nevcairiel
30th April 2011, 20:13
Oh, and yes, I have ReClock in the chain. Not sure what the hell's going on with this track, but, it's not a consistent every "xx seconds" or anything like that. It's randomly breaking up.
Does it happen at the same positions every time?
Does it not happen with, like, official 0.24?
SamuriHL
30th April 2011, 20:14
Does it happen at the same positions every time?
Well, we're actually watching it right now so I can't really test that, but, it's a good question. Next time it happens maybe I'll back it up a bit and see.
nevcairiel
30th April 2011, 20:17
Also, if it happens somewhat reproducable, run a debug build, and attach the dbg log tool.
SamuriHL
30th April 2011, 20:20
Ok. I'll do some testing after we're done watching the movie. It hasn't happened again in about 5 or 6 minutes. Some of the places it happens on is pretty bad where it breaks the actual connection. Others are just little pops. It's similar to when Albain was first adding the TrueHD bitstreaming support. UGH.
SamuriHL
30th April 2011, 20:22
It just happened again, so, I backed up a bit. It then happens again in a different place. This is VERY reminiscent of when TrueHD bitstreaming support was being developed.
nevcairiel
30th April 2011, 20:29
I don't get why people bitstream anyway, its not like there is an advantage or anything
This is a MKV, or mpegts/bluray?
SamuriHL
30th April 2011, 20:30
Because I don't want to be at the mercy of a non-existent DTS-HD MA decoder? :) Or hack in a commercial decoder that sometimes works if you sacrifice a chicken properly? :) MUCH easier to bypass all the crap on a PC and let the receiver handle it.
nevcairiel
30th April 2011, 20:34
This is TrueHD. :p
And the ArcSoft decoder works flawless 100% of the time, you just have to spent 15 minutes setting it up at the start. :p
SamuriHL
30th April 2011, 20:36
YEAAAA, that's AWESOME! :D Totally what I wanna be doing to watch a movie. LOL! :D What's odd is that TrueHD was working for me before. So what changed? All the stuff you did for Andy? I can blame him?? :D
nevcairiel
30th April 2011, 20:37
Setup i mean, to install it, not for every movie, shh. :p
The TrueHD changes for him were only for MKV, i'm still guessing you're playing a BD.
SamuriHL
30th April 2011, 20:39
Yea, I'm playing from the BD itself. Haven't had time to rip it yet.
(Oh, and I tried the ArcSoft decoder...had to configure it each time I played a file. Did I do something wrong?)
nevcairiel
30th April 2011, 20:46
Yep, you did something wrong. There is a trick to make the settings stick. :D
Anyhow, comparing TrueHD from MPEG-TS demuxing to other splitters is really not possible, because Gabest for example demuxes the interleaved truehd/ac3, while LAV Splitter removes the ac3. I can only guess that the TrueHD code in ffdshow cannot properly deal with it - back then it was developed against the MPC-HC splitter, and not much else. Decoding TrueHD was always flawless for me, so shrug, dunno!
What you should try is some older versions, the debug log will probably not help much with that issue..
Too bad my dev system doesn't have HD bitstreaming.
SamuriHL
30th April 2011, 21:01
Great. :) I'll see what I can find. Removing the AC3 should be fine since it works with MKV's. So I don't know what's going on with it. Probably some kind of timing thing. Goodie. :)
Andy o
30th April 2011, 21:27
I've been increasingly seeing titles that use the Dolby or DTS matrixing flags though, I don't think the software decoders detect them. I'm not sure if the DTS decoders detect a DTS-ES stream either.
SamuriHL
30th April 2011, 21:28
They don't.
Nev, I can't get the debug version of the splitter to install on my HTPC. I do NOT want to install VC2010 on that machine at all. Is there a debug runtime I need to get it to register?
Andy o
30th April 2011, 21:32
Sorry for the quick OT, BTW Samuri, I just found out that my receiver doesn't play well with DTS-HD 2.0, do you have such a title? Apparently some Pioneer receivers don't do it and require a firmware upgrade.
SamuriHL
30th April 2011, 21:34
I don't have one myself. When I was in best buy last night I actually saw a title that had DTS-HD 2.0. That's a really good time right there.
nevcairiel
30th April 2011, 21:39
They don't.
Nev, I can't get the debug version of the splitter to install on my HTPC. I do NOT want to install VC2010 on that machine at all. Is there a debug runtime I need to get it to register?
On your PC with VS:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x86
There are some sub-folders with dlls in there, just take only the dlls and place them directly in the LAV Splitter dir - or some other folder in path.
You need the CRT ones, *maybe* the MFC ones, the third definitely not.
SamuriHL
30th April 2011, 21:53
Yea, that worked, Nev, thanks. Here's some weirdness going on:
00001443 2.66337371 [2116] LAVSplitter.ax(tid 4b4) 341099 : New clip! offset: -416997 bytepos: 0
00001444 2.66343069 [2116] LAVSplitter.ax(tid 4b4) 341099 : Actual clip change detected in stream 0; time: 416889, old offset: 0, new offset: -416997
00001445 2.66368437 [2116] LAVSplitter.ax(tid 4b4) 341099 : Actual clip change detected in stream 1; time: 417000, old offset: 0, new offset: -416997
00001446 2.77019382 [2116] LAVSplitter.ax(tid c50) 341206 : ::SetPositions() - seek request; current: 23091670; start: 6154610000; stop: 0; flags: 0l
00001447 2.77029181 [2116] LAVSplitter.ax(tid c50) 341206 : ::DeliverBeginFlush on Video Pin
00001448 2.78907371 [2116] LAVSplitter.ax(tid c50) 341225 : ::DeliverBeginFlush on Audio Pin
00001449 2.79906583 [2116] LAVSplitter.ax(tid c50) 341235 : ::DeliverBeginFlush on Subtitle Pin
00001450 2.79919147 [2116] LAVSplitter.ax(tid 4b4) 341235 : Seek Request: 6154610000 (time); 3110860224 (byte), 6205440 (prev byte)
00001451 2.79928350 [2116] LAVSplitter.ax(tid 4b4) 341235 : [BD] libbluray\register.c:372: bd_psr_write(): PSR5 (CHAPTER) 0x1 -> 0x3
00001452 2.79934239 [2116] LAVSplitter.ax(tid 4b4) 341235 : [BD] libbluray\bluray.c:1617: PSR event 5 3 (0DC0D9F8)
00001453 2.79939985 [2116] LAVSplitter.ax(tid 4b4) 341235 : [BD] libbluray\bluray.c:796: Seek to 3110860224 (0DC0D9F8)
00001454 2.79946709 [2116] LAVSplitter.ax(tid c50) 341235 : ::DeliverEndFlush on Video Pin
00001455 2.79966235 [2116] LAVSplitter.ax(tid c50) 341235 : ::DeliverEndFlush on Audio Pin
00001456 2.79973745 [2116] LAVSplitter.ax(tid c50) 341235 : ::DeliverEndFlush on Subtitle Pin
00001457 2.79980969 [2116] LAVSplitter.ax(tid 4b4) 341235 : ::DeliverNewSegment on Video Pin (rtStart: 6154610000; rtStop: 57346872889)
00001458 2.79985070 [2116] LAVSplitter.ax(tid c50) 341235 : ::SetPositions() - seek request; current: 32325003; start: 6154610000; stop: 0; flags: 0l
00001459 2.79989719 [2116] LAVSplitter.ax(tid 4b4) 341235 : ::DeliverNewSegment on Audio Pin (rtStart: 6154610000; rtStop: 57346872889)
00001460 2.79994988 [2116] LAVSplitter.ax(tid c50) 341235 : ::SetPositions() - seek request; current: 32325003; start: 6154610000; stop: 0; flags: 0l
00001461 2.79998541 [2116] LAVSplitter.ax(tid 4b4) 341236 : ::DeliverNewSegment on Subtitle Pin (rtStart: 6154610000; rtStop: 57346872889)
00001462 2.88212347 [2116] LAVSplitter.ax(tid 4b4) 341318 : Actual clip change detected in stream 8; time: 6162406111, old offset: 0, new offset: -416997
00001463 72.26307678 [2116] LAVSplitter.ax(tid 1068) 410687 : ::DeliverBeginFlush on Video Pin
00001464 72.26321411 [2116] LAVSplitter.ax(tid 1068) 410688 : ::DeliverBeginFlush on Audio Pin
00001465 72.27146912 [2116] LAVSplitter.ax(tid 1068) 410697 : ::DeliverBeginFlush on Subtitle Pin
00001466 72.27158356 [2116] LAVSplitter.ax(tid 1068) 410697 : ::DeliverEndFlush on Video Pin
00001467 72.27177429 [2116] LAVSplitter.ax(tid 1068) 410697 : ::DeliverEndFlush on Audio Pin
00001468 72.27184296 [2116] LAVSplitter.ax(tid 1068) 410697 : ::DeliverEndFlush on Subtitle Pin
00001469 72.27194214 [2116] LAVSplitter.ax(tid 1068) 410697 : CLAVOutputPin::Inactive() - de-activated Video pin
00001470 72.27233887 [2116] LAVSplitter.ax(tid 1068) 410698 : CLAVOutputPin::Inactive() - de-activated Audio pin
00001471 72.27332306 [2116] LAVSplitter.ax(tid 1068) 410699 : CLAVOutputPin::Inactive() - de-activated Subtitle pin
00001472 72.27437592 [2116] LAVSplitter.ax(tid 1068) 410700 : ::SetPositions() - seek request; current: 6885125003; start: 6839824825; stop: 0; flags: 0l
00001473 72.27449036 [2116] LAVSplitter.ax(tid 1068) 410700 : ::SetPositions() - seek request; current: 6839824825; start: 6839824825; stop: 0; flags: 0l
00001474 72.27455139 [2116] LAVSplitter.ax(tid 1068) 410700 : ::SetPositions() - seek request; current: 6839824825; start: 6839824825; stop: 0; flags: 0l
00001475 72.51221466 [2116] LAVSplitter.ax(tid 1068) 410937 : [BD] file\file_posix.c:51: Closed LINUX file (0DBEE638)
00001476 72.51254272 [2116] LAVSplitter.ax(tid 1068) 410938 : [BD] libbluray\bluray.c:775: BLURAY destroyed! (0DC0D9F8)
During that "stuff" is when the audio has the little pops. Could this be a seamless branching issue when moving between files?
nevcairiel
30th April 2011, 22:01
During that "stuff" is when the audio has the little pops. Could this be a seamless branching issue when moving between files?
I don't exactly see any weirdness there, but yeah it could be related to clip changes.
I'll try to dig up a TrueHD seamless branching disc.
SamuriHL
30th April 2011, 22:02
I don't exactly see any weirdness there, but yeah it could be related to clip changes.
I'll try to dig up a TrueHD seamless branching disc.
It seems like the only possible explanation I have for what's happening. UGH.
jmone
30th April 2011, 22:50
Update on Subs - A simple workaround for the RLE subs appearing when the should not is to turn them off in FFDSHOW (unchecked "text subtitles"). SamuriHL - I've had not luck tracking down the FFDSHOW Subtitle filter crash stuff, Sorry (I did also install the Cyberlink Decoder but it does not load for me in the filter chain - any hints, also what formats does it decode, not decode, what is the deinterlacing like etc)
nevcairiel
30th April 2011, 22:56
It seems like the only possible explanation I have for what's happening. UGH.
Finding a TrueHD disc with seamless branching is hard. TrueHD is really on the decline, most my discs have DTS-HD, and the others are not seamless branching...
SamuriHL
30th April 2011, 23:03
Finding a TrueHD disc with seamless branching is hard. TrueHD is really on the decline, most my discs have DTS-HD, and the others are not seamless branching...
Doesn't matter, I was wrong anyway. It's not a seamless branching disc. However, that being said, I now remember something. This is a goddamn Dreamworks TrueHD disc. Their mastering techniques *SUCK* and is likely why this is so messed up. sigh. My advice, if you have a Dreamworks disc kicking around (especially their animated ones like Kung Fu Panda, How To Train Your Dragon, Megamind, etc) that those are really the ones to play with. I should have realized this from the start. I had forgotten about this. Hell, I dealt with this very issue recently on a conversion program that added BD support. It's a libbluray problem afaik. POSSIBLY an ffmpeg issue. My guess, however, is that if I opened the m2ts file directly it'd play perfectly. Yea, seriously.
nevcairiel
30th April 2011, 23:05
If the disc is not seamless branching, there really shouldn't be any difference when playing between blu-ray and m2ts.
Well, maybe my bitstreaming code will be better. :D
Short stat recap:
I have around ~100 BDs, out of these i have maybe 5 TrueHD discs, none of which are seamless branching. Hell i have more discs with LPCM. :p
SamuriHL
30th April 2011, 23:07
If the disc is not seamless branching, there really shouldn't be any difference when playing between blu-ray and m2ts.
Well, maybe my bitstreaming code will be better. :D
Man I hope so. :) I'll sit over here in the corner and wait patiently. Uh, wait, no, hurry up! :p :D
And yea, I agree that it shouldn't be different, but, my gut feeling tells me something is wrong in how it's being parsed. With the m2ts it doesn't have chapters, right? You only get that when playing it from an MPLS.
nevcairiel
30th April 2011, 23:07
Correct. The chapters don't influence playback, however. They are just markers for jumping to
SamuriHL
30th April 2011, 23:12
Alright, you were right. I was wrong. As is usual. :D The m2ts file itself makes no difference. It's just suckily mastered. Thanks, Dreamworks. Thanks.
nevcairiel
30th April 2011, 23:26
Man I hope so. :) I'll sit over here in the corner and wait patiently. Uh, wait, no, hurry up! :p :D
Well i can already bitstream plain AC3, next will be default DTS .. after that my poor SPDIF connection to the receiver is done being useful, and i probably have to somehow figure out how to test on the HTPC o.O
I'm also still pondering moving it over into LAV Audio, it wouldn't be that much more work to do it there .. the spdif muxing code is pretty stand-alone, it parses all the info it needs from the audio stream itself, plus the advantage that you can use it with whatever other splitter you might want to use for whatever reason.
I think i'll sleep on that before i develop alot more stuff.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.