INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: I can't get MC to allow me to use WMVideo Decoder DMO for VC-1 content in an mkv  (Read 4162 times)

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

using v.156, I can't get MC to use LAV Video for mkv file with VC-1 video stream.

I tried adding LAV Video, WMVideo Decoder DMO, then each separate, and each time it's using ffdshow (auto confidured) in playback.  this is under RO w/additional filters.  splitter is Automatic, and using LAV, and renderer is Automatic, and is using EVR.

I get sync issues with ffdshow, and was trying the suggestion of using WMV for this video, but I can't get MC to let me.

I just tried directshow (no RO), and it just "Failed merit based rendering", using File source LAV Vid, WMV and EVR.

I didn't want to upgrade to the newest since it can break subtitles, but I'm gonna test it, i don't expect to need subs soon anyway.

This is being run on a laptop connected as a client (not write rights) to the shared library; the HTPC has it open already.

Changing back from windows merit based to RO w/additional and just LAV and WMV selected crashed MC, and now it's installing the update.

the update crashed, but a retry got it installed okay.

i verified my changes persisted, they did, I tried the video, it 'added additional components' then played fine, but still using ffdshow (auto)

How can I force it to use LAV Video and the Microsoft decoder for VC-1 content?
Logged
pretend this is something funny

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71679
  • Where did I put my teeth?

I'm not the expert on this, but if you mean LAV CUVID, it only works with Nvidia hardware. 
Logged

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

I'm not the expert on this, but if you mean LAV CUVID, it only works with Nvidia hardware. 

thanks Jim, but nope, I'm not talking about LAV CUVID, because I don't have nVidia hardware :(

nevcairiel recently added Video decoding to his suite of useful tools.  it doesn't handle VC-1 content very well (ffmpeg), but it's set by default not to accept it.  nev has said that he prefers the Microsoft WMV decoder for VC-1, because it just works.  I was trying to get that working in MC.

Unfortunately, with RO, I can't get MC to use either LAV or MWV, it always uses ffdshow (auto) for mkv playback.  I thought they were white listed already, and if not, can they be?

thanks
Logged
pretend this is something funny

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14277
  • I won! I won!

You don't see it, but FYI you are already using MS WMV Decoder for VC-1 in RO.  FFDSHOW has a similar setting in it where you can select either libavformat or MS's VC-1 decoder to be used (and it has been configured for MS).
Logged
JRiver CEO Elect

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

Okay, good to know, thanks.

Unfortunately, I get very bad sync issues playing VC-1 content in Red October standard.  Hopefully this can be improved with the Red October settings in the future.

I'm still unclear as to why I am unable to add these filters to Red October, neither gets used in any combination I tried, and the direct show player fails completely now.

I hope the ability to have full control over the filters I use can be restored.  i understand that I begged for Automatic to just work, and it mostly does, thank you.  However, in this case I don't think it's working properly, but I'm totally unable to fix it in MC now, which is not great.

I know it will continue to improve, and I'm not complaining, I'm just trying to get my video working again.

Thanks for the help :)
Logged
pretend this is something funny

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42053
  • Shoes gone again!

Unfortunately, I get very bad sync issues playing VC-1 content in Red October standard.

It might be better to focus on the actual problem instead of a workaround.  There's a chance we can just get it working.

Could you describe your hardware, and the type of VC-1 files?  What does CPU usage look like while playing?
Logged
Matt Ashland, JRiver Media Center

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

It might be better to focus on the actual problem instead of a workaround.  There's a chance we can just get it working.

Good plan, and I hope so too.  however, my actual "issue" is/was that I don't seem to have full control over direct show any longer, and I cannot do any testing of things now.  I think RO is great, but full control should be allowed also, IMHO.

Could you describe your hardware, and the type of VC-1 files?  What does CPU usage look like while playing?

It's playing on my wimpy laptop, over wireless G; clearly not the best solution, but it still doesn't seem right to me.  Here is what i see, followed by file and machine specs.  The HTPC machine shows the same issues, and also loses audio sync while playing this video.  the sync issue actually seems to vary in how far out of sync they get, but after 5-8 minutes of watching the video, it's annoyingly out of sync.  it seems the video follows the audio by about 1/2 second or so.  It doesn't seem to keep getting worse, it seems something is trying to keep them in sync, as it sometimes feels worse than other times, all while watching about 20 minutes of the movie.

I'll post HTPC specs later is you want them, but it's a dual core CPU and HD5550 Radeon card, and seems to handle RO HQ fine in everything else.

In pasting all this, I noticed that it says progressive content, but this looks like de-interlacing problems in the mouth and collar.  Upon watching again, this looks like it was "on TV" in the movie, so I'm not sure if this is encoded with artifacts (there are much worse ones in later TV schenes), or if the filter just isn't recognizing the change in the stream, and it's actually supposed to de-interlace this part properly??



Filter Graph Info:

    Filter 'JRiver Audio Renderer'
        CLSID: {A4002F8E-510F-442C-8AD3-F9C7B23FB394}
        Host:
        Input Pin 'In'
            Connected to pin 'Output' of filter 'LAV Audio Decoder (auto-configured)'
            Major type MEDIATYPE_Audio  Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx

    Filter 'JRiver Subtitle Renderer'
        CLSID: {F74E834C-9C98-43ED-89B1-19A9DF82E774}
        Host:
        Input Pin 'In'
            Connected to pin 'Subtitle' of filter 'LAV Source Splitter'
            Major type Unknown GUID Name: {E487EB08-6B26-4BE9-9DD3-993434D313FD}  Sub type Unknown GUID Name: {04EBA53E-9330-436C-9133-553EC87031DC}, Format type Unknown GUID Name: {04EBA53E-9330-436C-9133-553EC87031DC}

    Filter 'Enhanced Video Renderer'
        CLSID: {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
        Host: c:\windows\syswow64\evr.dll
        Input Pin 'EVR Input0'
            Connected to pin 'Out' of filter 'ffdshow Video Decoder (auto-configured)'
            Major type MEDIATYPE_Video  Sub type MEDIASUBTYPE_YV12, Format type FORMAT_VideoInfo2
        Input Pin 'EVR Input1'

    Filter 'ffdshow Video Decoder (auto-configured)'
        CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
        Host: C:\Users\Chris\AppData\Roaming\J River\Media Center 16\Plugins\ffdshow\ffdshow.ax
        Input Pin 'In'
            Connected to pin 'Output' of filter 'JRiver Video Monitor'
            Major type MEDIATYPE_Video  Sub type Unknown GUID Name: {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}, Format type FORMAT_VideoInfo2
        Output Pin 'Out'
            Connected to pin 'EVR Input0' of filter 'Enhanced Video Renderer'
            Major type MEDIATYPE_Video  Sub type MEDIASUBTYPE_YV12, Format type FORMAT_VideoInfo2
        Input Pin 'In Text'

    Filter 'LAV Audio Decoder (auto-configured)'
        CLSID: {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}
        Host: C:\Users\Chris\AppData\Roaming\J River\Media Center 16\Plugins\lav\LAVAudio.ax
        Input Pin 'Input'
            Connected to pin 'Output' of filter 'JRiver Audio Monitor'
            Major type MEDIATYPE_Audio  Sub type Unknown GUID Name: {00002001-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
        Output Pin 'Output'
            Connected to pin 'In' of filter 'JRiver Audio Renderer'
            Major type MEDIATYPE_Audio  Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx

    Filter 'JRiver Video Monitor'
        CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
        Host:
        Input Pin 'Input'
            Connected to pin 'Video' of filter 'LAV Source Splitter'
            Major type MEDIATYPE_Video  Sub type Unknown GUID Name: {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}, Format type FORMAT_VideoInfo2
        Output Pin 'Output'
            Connected to pin 'In' of filter 'ffdshow Video Decoder (auto-configured)'
            Major type MEDIATYPE_Video  Sub type Unknown GUID Name: {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}, Format type FORMAT_VideoInfo2

    Filter 'JRiver Audio Monitor'
        CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
        Host:
        Input Pin 'Input'
            Connected to pin 'Audio' of filter 'LAV Source Splitter'
            Major type MEDIATYPE_Audio  Sub type Unknown GUID Name: {00002001-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
        Output Pin 'Output'
            Connected to pin 'Input' of filter 'LAV Audio Decoder (auto-configured)'
            Major type MEDIATYPE_Audio  Sub type Unknown GUID Name: {00002001-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx

    Filter 'LAV Source Splitter'
        CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
        Host: C:\Users\Chris\AppData\Roaming\J River\Media Center 16\Plugins\lav\LAVSplitter.ax
        Output Pin 'Video'
            Connected to pin 'Input' of filter 'JRiver Video Monitor'
            Major type MEDIATYPE_Video  Sub type Unknown GUID Name: {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}, Format type FORMAT_VideoInfo2
        Output Pin 'Audio'
            Connected to pin 'Input' of filter 'JRiver Audio Monitor'
            Major type MEDIATYPE_Audio  Sub type Unknown GUID Name: {00002001-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
        Output Pin 'Subtitle'
            Connected to pin 'In' of filter 'JRiver Subtitle Renderer'
            Major type Unknown GUID Name: {E487EB08-6B26-4BE9-9DD3-993434D313FD}  Sub type Unknown GUID Name: {04EBA53E-9330-436C-9133-553EC87031DC}, Format type Unknown GUID Name: {04EBA53E-9330-436C-9133-553EC87031DC}

=========================================================================================

General
Unique ID                        : 318352319431951926366644292433520692277 (0xEF806D2E2E47213B5A7D2AF406310C35)
Complete name                    : V:\Movie\State_of_Play\title01.mkv
Format                           : Matroska
Format version                   : Version 2
File size                        : 23.2 GiB
Duration                         : 2h 7mn
Overall bit rate                 : 26.2 Mbps
Encoded date                     : UTC 2011-08-23 23:26:49
Writing application              : MakeMKV v1.6.14 win(x64-release)
Writing library                  : libmakemkv v1.6.14 (1.2.0/1.1.0) win(x64-release)

Video
ID                               : 1
Format                           : VC-1
Format profile                   : AP@L3
Codec ID                         : WVC1
Codec ID/Hint                    : Microsoft
Duration                         : 2h 7mn
Bit rate                         : 22.9 Mbps
Width                            : 1 920 pixels
Height                           : 1 080 pixels
Display aspect ratio             : 16:9
Frame rate                       : 23.976 fps
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Compression mode                 : Lossy
Bits/(Pixel*Frame)               : 0.461
Stream size                      : 20.3 GiB (87%)
Language                         : English

Audio
ID                               : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Format profile                   : MA / Core
Codec ID                         : A_DTS
Duration                         : 2h 7mn
Bit rate mode                    : Variable
Bit rate                         : 2 761 Kbps / 1 510 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 24 bits
Compression mode                 : Lossless / Lossy
Title                            : Lossless
Language                         : English

Text #1
ID                               : 3
Format                           : PGS
Codec ID                         : S_HDMV/PGS
Codec ID/Info                    : The same subtitle format used on BDs/HD-DVDs
Language                         : English

Text #2
ID                               : 4
Format                           : PGS
Codec ID                         : S_HDMV/PGS
Codec ID/Info                    : The same subtitle format used on BDs/HD-DVDs
Language                         : Spanish

==============================================================

Media Center 16.0.160.0 Registered -- C:\Program Files (x86)\J River\Media Center 16\

 Workstation 6.1 Service Pack 1 (Build 7601)
Intel Pentium III 2093 MHz MMX / Memory: Total - 2025 MB, Free - 202 MB

Internet Explorer: 9.0.8112.16421 / ComCtl32.dll: 5.82.7601 / Shlwapi.dll: 6.1.7601 / Shell32.dll: 6.1.7601 / wnaspi32.dll: N/A
Ripping /   Drive D: HL-DT-STBDDVDRW GGC-H20L  Mode:ModeSecure  Type:Auto  Speed:Max
  Drive E:   Mode:ModeSecure  Type:Auto  Speed:Max
  Digital playback: Yes /  Get cover art: Yes /  Calc replay gain: Yes /  Copy volume: 100
  Eject after ripping: Yes /  Play sound after ripping: No 

Burning /  Drive D: Slimtype DVD A  DS8A4SH     Addr: 1:0:0  Speed:40  MaxSpeed:40  BurnProof:Yes
  Test mode: No /  Eject after writing: Yes /  Direct decoding: Yes /  Write CD-Text: Yes
  Use playback settings: No /

Portable Device Info
  Removed devices:


Interface Plugins:
  TiVo Server
Logged
pretend this is something funny

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42053
  • Shoes gone again!

Can any player play a 1080p VC-1 file on your laptop?  It may just be too much work for it.  You could enable hardware acceleration in Options > Video, but there's a good chance your laptop won't support it.  Getting the latest video driver might help.

I just tried libavcodec and the Microsoft decoder, and if anything the Microsoft decoder is faster.  Red October Standard already uses this.

It's possible our audio renderer could be better about allowing frame drops or something when a computer can't keep up?  Playback might chop, but at least lip-sync would stay good.  You could test Options > Video > Advanced > Audio playback device and choose a system renderer instead of the JRiver renderer.  Does that behave any better?
Logged
Matt Ashland, JRiver Media Center

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10789

For the best result, you should use the real Microsoft decoder, the WMVideo Decoder DMO, and NOT the wmv9 mode in ffdshow. Its quite a bit faster, and works better in general.
Logged
~ nevcairiel
~ Author of LAV Filters

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42053
  • Shoes gone again!

For the best result, you should use the real Microsoft decoder, the WMVideo Decoder DMO, and NOT the wmv9 mode in ffdshow. Its quite a bit faster, and works better in general.

That's simple enough.

How should the Microsoft Decoder DMO rank compared to LAV CUVID or DXVA?

Is the best approach to enumerate the splitter output pin (IEnumMediaTypes) and try the Microsoft DMO if the type is WVC1?

Is there ever a need for a de-interlacer (which ffdshow would provide)?

Thanks.
Logged
Matt Ashland, JRiver Media Center

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10789

On RO Standard, you don't need a deinterlacer, as EVR does that. On RO HQ, you will need one on interlaced streams, which do exist on Blu-rays, mostly in documentaries or concerts.

The MS decoder is a software decoder, so i would put it below the hardware decoders.
Although both ffdshow or MPC-HC DXVA decoders do not support VC-1 interlaced either, but thats really alot of trouble to deal with, you cannot detect interlaced properly before playback starts...

Anyhow, for a default, i would just check the output pin for the WVC1 type, and if its set use the MS DMO decoder. On RO Standard you're set then.
For RO HQ, you are still lacking deinterlacing, which ffdshow would provide, so maybe just stick to it completely there - RO HQ assumes a faster system anyway.
Logged
~ nevcairiel
~ Author of LAV Filters

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42053
  • Shoes gone again!

Thanks nevcairiel.

Next build will have this:
Changed: Red October Standard uses the Microsoft video decoder for WVC-1 content.
Logged
Matt Ashland, JRiver Media Center

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

Thank you both for your help with this.

I'm very happy for this improvement to Red October, mainly since I trust Nev to know what's "best" in this case, from all his extensive testing :) :)



Is the direct show machinery inside MC still planned to be improved/fixed so I can use whatever filters I want; like it used to be?

I wanted to try LAV and MAD video decoding shortly after their releases, but with the white listing, and the regular direct show just failing altogether, I can't do anything that isn't "approved" by Red October now.

I hope direct show (and adding filters to RO) can be 'fixed' in time to allow the freedom we used to have (even though it will rarely get used, I still prefer full control where possible)

thanks, and I'll report back about these changes after they are released :)
Logged
pretend this is something funny

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10789

LAV Video should be whitelisted, if you want to try it.
Logged
~ nevcairiel
~ Author of LAV Filters

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

LAV Video should be whitelisted, if you want to try it.

yeah, I thought I'd read that, however, it was several days/a week after you released it before it got white listed, so I was unable to try it in MC before then, and the direct show (without RO) isn't working at all, so I had no way to try it until it got white listed.

I just checked again, and added LAV Video and WMVideo filters to RO standard, and it will not use either of those for playing back the VC-1 encoded file above, however, if I play this file, it does use LAV Video, and plays fine.

Code: [Select]
General
Unique ID                        : 198637571370649869675300560334734724233 (0x95703465CC33E98AB852809A7C3B8C89)
Complete name                    : V:\Formula 1\Formula1-2011-10-  Qualifying.mkv
Format                           : Matroska
Format version                   : Version 2
File size                        : 2.86 GiB
Duration                         : 1h 23mn
Overall bit rate                 : 4 878 Kbps
Encoded date                     : UTC 2011-07-23 22:06:14
Writing application              : mkvmerge v4.3.0 ('Escape from the Island') built on Sep  5 2010 10:30:51
Writing library                  : libebml v1.0.0 + libmatroska v1.0.0

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 4 frames
Codec ID                         : V_MPEG4/ISO/AVC
Duration                         : 1h 23mn
Bit rate                         : 4 589 Kbps
Width                            : 1 280 pixels
Height                           : 720 pixels
Display aspect ratio             : 16:9
Frame rate                       : 50.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.100
Stream size                      : 2.69 GiB (94%)
Writing library                  : x264 core 115 r1947 b5a8ad7

that tells me that LAV Video is white listed, and that it works with RO w/additional, but that if the content is VC-1, MC is rejecting them both.  I assume because you have VC-1 off by default now (v0.33), and because Matt preferred the ffdshow decoder, prior to the conversation you 2 just had.

it also suggests to me that the Microsoft filter had not been white listed for the reasons above, but now will be, and will be default.  A good solution I think.

however, it still doesn't address the concern of not really having full control over what gets used.  I know Matt has a lot of other fires (scraping metadata?) burning brighter now that RO solves nearly all use cases, but I really hope that full control will be restored.  The rate you and Madshi are developing is astounding, and since I watch both of those threads on doom9 daily, I sometimes see an improvement I'd like to try, but currently I have to wait for it to get into RO, or use another player  :'(

Anyway, thanks to you both (and Madshi and others) for all that you do to make lossless quality videos so much easier than it was just 6 months ago, I'm seriously very impressed, and appreciative of your efforts! :)
Logged
pretend this is something funny

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10789

Since LAV Video is not configured by RO, you can just change its configuration and enable VC-1, and it should stick.
Logged
~ nevcairiel
~ Author of LAV Filters

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day

Since LAV Video is not configured by RO, you can just change its configuration and enable VC-1, and it should stick.

yes, thanks, that works. :)

Now that I've realized that RO will allow LAV Video if not playing a VC-1 stream, I configured LAV to handle it and now LAV Video does get included in the graph for playback on the VC-1 mkv file, and for 15 seconds, seemed fine.

I'm curious to know how you're decoding the file with LAV Video?

Are you just using the Microsoft decoder thru a dll call (probably wrong term), or is it using an "inferior" decoder (ffmpeg?) which may still suffer the sync issues?

I just re-read your thread (which is what got me wanting to try this decoder), and it sounds like you no longer have sync issues using the Microsoft decoder with LAV 0.33, but you refuse VC-1 by default, which makes me think you want the Microsoft decoder to do this job, but I can't with RO (yet)

if that's all correct, I'm still not sure what is decoding this file inside LAV.

I'm just trying to understand it all a little better; thanks again.
Logged
pretend this is something funny

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14277
  • I won! I won!

LAVVideo uses ffmpeg.  So for VC-1, LAVVideo does not support interlaced content and it may not be as quick as the MS decoder (which is why nevcairiel has by default got VC1 support turned off).
Logged
JRiver CEO Elect
Pages: [1]   Go Up