View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
LigH
4th December 2014, 15:20
Please read before posting; the "blacklisting feature not (yet) implemented in the 'author released' version" was already discussed one page ago (http://forum.doom9.org/showthread.php?p=1700725#post1700725)... it is an addition in a codec pack.
Thank you for the codec's FourCC, though. "FMP4" is a hint towards ffmpeg's generic MPEG4 ASP codec.
COOLak
4th December 2014, 15:24
Please read before posting; the "blacklisting feature not (yet) implemented in the release build" was already discussed one page ago (http://forum.doom9.org/showthread.php?p=1700960#post1700960)...
Thank you for the info, I have edited my message accordingly.
"FMP4" is a hint towards ffmpeg's generic MPEG4 ASP codec.
Would you please point me to this codec's ID in the Splitter's "Input Formats" section so I could disable it?
bouwew
5th December 2014, 17:34
Is it me, or do the latest two LAV-nightlies crash MPC-BE and MPC-HC while closing the applications?
Source: pan.baidu.com and http://tmod.nmm-hd.org/LAVFilters/
0.63.7 is ok, 0.63.12 an .13 are not OK.
nevcairiel
5th December 2014, 17:46
Works fine here. What are you playing before the close?
HotShot
5th December 2014, 18:02
Is it me, or do the latest two LAV-nightlies crash MPC-BE and MPC-HC while closing the applications?
Source: pan.baidu.com and http://tmod.nmm-hd.org/LAVFilters/
0.63.7 is ok, 0.63.12 an .13 are not OK.
The same here, Stereoscopic Player chrashes reproducible while fastforwarding, switching tracks and closing, since v0.63.12 ...
bouwew
5th December 2014, 19:01
Doesn't matter what I play, happens always.
I play an .mkv, then close the player app via File, Exit or Alt-F4, followed by the Windows error message telling me MPC-xx has crashed. Somehow during the closing of the app LAV causes it to crash.
Happens also with MediaPlayerDotNet_x86.
Will test in more detail tomorrow...
LigH
5th December 2014, 19:03
Would you please point me to this codec's ID in the Splitter's "Input Formats" section so I could disable it?
I have no clue how the original LAV Filters can be configured to ignore a specific content format; but as far as I remember from previous explanations, this would be the responsibility of the decoder rather than the splitter not to register as matching filter. The splitter is responsible for containers, not for contents. Which container this video uses is not available in your cut report above.
In the "LAV Video Configuration", you will find a selection of video formats the decoder shall be responsible for. But there seems to be no exclusive option for FMP4, only a general option for MPEG-4 Part 2 (means, including DivX 4+ and Xvid) or MS MPEG4 (DivX 3 and its MS ancestors).
clsid
5th December 2014, 19:22
@COOLak, disable "AVI" in the splitter.
COOLak
5th December 2014, 19:55
@COOLak, disable "AVI" in the splitter.
The container of the video is .wmv, and I couldn't find it in the splitter's settings.
nevcairiel
5th December 2014, 23:46
Doesn't matter what I play, happens always.
I play an .mkv, then close the player app via File, Exit or Alt-F4, followed by the Windows error message telling me MPC-xx has crashed. Somehow during the closing of the app LAV causes it to crash.
Happens also with MediaPlayerDotNet_x86.
Will test in more detail tomorrow...
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
LigH
6th December 2014, 00:13
WMV is a variant of ASF.
Still, I doubt that the splitter is the better location than the decoder to exclude such files.
the_weirdo
6th December 2014, 04:46
The container of the video is .wmv, and I couldn't find it in the splitter's settings.
Those cutscenes of Worms Clan Wars have "wmv" extension, but they're actually AVIs.
bouwew
6th December 2014, 11:07
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
Indeed, I was bitstreaming.
Thanks for the fix! Will test when the corresponding build is available.
HotShot
6th December 2014, 21:05
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
With v0.63-16-git-r3354 my problems with a crashing Stereoscopic Player are gone - thanks!
romulous
7th December 2014, 03:20
Hi nev,
What media-types does LAV Video support for ProRes? I know {68637061-0000-0010-8000-00AA00389B71} is one, but it appears that ProRes has multiple media-types, as per the uuid list for MPC-BE:
https://github.com/jeeb/mpc-be/blob/master/include/moreuuids.h (search for ProRes, and there appears to be about 15 by my count)
Thanks,
romulous
nevcairiel
7th December 2014, 09:53
There is exactly 5 ProRes mediatypes, matching the 5 ProRes profiles.
apch - 68637061
apcn - 6e637061
apcs - 73637061
apco - 6f637061
ap4h - 68347061
bouwew
7th December 2014, 09:56
With v0.63-16-git-r3354 my problems with a crashing Stereoscopic Player are gone - thanks!
Same here, problem solved!
romulous
7th December 2014, 10:43
There is exactly 5 ProRes mediatypes, matching the 5 ProRes profiles.
apch - 68637061
apcn - 6e637061
apcs - 73637061
apco - 6f637061
ap4h - 68347061
Thanks, was creating a ProRes profile for Zoom Player, and wanted to be sure I had the right values.
(Oddly, the ProRes whitepaper from Apple - December 2013 version - says there are 6 profiles, not 5. Those being 4444 XQ, 4444, 422HQ, 422, 422 LT and 422 Proxy - maybe two of those have the same value.)
nevcairiel
7th December 2014, 10:47
Seems like 4444 XQ is relatively new, that would be ap4x then, but I don't know if it can even decode that.
Sarasa
7th December 2014, 11:01
Not sure if I’m the only one, but when I try to use “LAVFilters-0.63-15-git-r3353(87805fe)” or “LAVFilters-0.63-16-git-r3354(2bf8910)” (from tmod) or the equivalent down from betaking.
And launch LAV Splitter it give me an error >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
The specified module could not be found
With LAV Video configuration >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVVideo.ax
The specified module could not be found
But I don't have that problem with "LAVFilters-0.63-13-git-r3351(3eb2028)" or the equivalent down from betaking.
A bug when they compiled the source ?
betaking
7th December 2014, 14:08
Not sure if I’m the only one, but when I try to use “LAVFilters-0.63-15-git-r3353(87805fe)” or “LAVFilters-0.63-16-git-r3354(2bf8910)” (from tmod) or the equivalent down from betaking.
And launch LAV Splitter it give me an error >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
The specified module could not be found
With LAV Video configuration >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVVideo.ax
The specified module could not be found
But I don't have that problem with "LAVFilters-0.63-13-git-r3351(3eb2028)" or the equivalent down from betaking.
A bug when they compiled the source ?
dou you test LAVFilters-0.63.0_x86.7z? I test no problem
PS:my firend test install exe have no problem too!
wanezhiling
7th December 2014, 14:36
Not sure if I’m the only one
Fine here, check your system, administration right etc.
Sarasa
7th December 2014, 16:55
Oh well, I will stay with the 3351 version for the moment, work correctly with my files :)
@betaking
I install the two version LAVFilters-0.63.0_x86.7z & LAVFilters-0.63.0_x64.7z
and when I try to launch either config, same message.
I also tried some minute ago your LAVFilters-0.63.0.exe and it give me
C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
Unable to register the DLL/OCX:RegSvr32 failed with exit code 0x3
@wanezhiling
Tried with "Run as administrator" even if I have already full Admin Right
I also tried a Clean Boot, same result.
06_taro
8th December 2014, 07:58
Have you restricted unsigned exes? tmod does not not have coding signature, while nev's vanilla builds have.
mzso
8th December 2014, 12:22
It's relevant because if 2 players are having the same problem, chances are it could be the media causing it.
Well, if no-one examines the file I linked we'll never know. Anyway in HTML5 it's a re-encode and the decoder they use might be the same or have the same origin as LAV.
nevcairiel
8th December 2014, 14:08
Well, if no-one examines the file I linked we'll never know. Anyway in HTML5 it's a re-encode and the decoder they use might be the same or have the same origin as LAV.
The file does have screwed up timestamps.
On several occasions, the timestamps go backwards for a bit, and then jump back forward to their proper time.
To ensure proper audio/video sync, LAV will try to obey input timestamps as good as possible, which results in audible glitches in this sample.
If such problems are short enough, LAV can detect and simple ignore them, but if the problem persist for a bit and only corrects itself later, LAV thinks there was a timestamp gap or something like that, and has to adjust accordingly.
So in short, timestamps are wrong.
PS:
Other decoders may ignore small timestamp offsets and not show the glitches because of that, but that might easily result in out-of-sync audio instead, so its not an option really.
NikosD
8th December 2014, 14:33
Tried latest LAV x64 0.63.18 after the FFMpeg update and those pesky 10bit HEVC UHD files from Samsung, are still stuttering during playback.
Any info on that ?
Sarasa
8th December 2014, 15:44
Well after some reinstall (MSYS fullpack from xhmikosr site) and tweaking again build.bat, I was able to finally compile it myself.
I had some gcc error before when I was trying to compile it, but not when compiling vsfilter.
And after compiling from rev 3350 (62f5a08) to 3356 (de098da), I can confirm that the last revision that work for me before finding the WHY was > 3351 (3eb2028)
Now why it give me an error ? Well I don't install the audio part (LAVAudio.ax & avresample-lav-2.dll), but it seem that since revision 3352 (cbed09b) nevcairiel have added an dependency for it and you need it to be in the folder even if you don't use it or if you use the installer have it installed to not have the error ;)
nevcairiel
8th December 2014, 15:51
Now why it give me an error ? Well I don't install the audio part (LAVAudio.ax & avresample-lav-2.dll), but it seem that since revision 3352 (cbed09b) nevcairiel have added an dependency for it and you need it to be in the folder even if you don't use it or if you use the installer have it installed to not have the error ;)
Technically I didn't add a dependency myself, the dependency comes through the Opus decoder, which needs a resampler to function and uses avresample for this task.
LAVAudio.ax is not required if you really don't want it.
DoctorJ
8th December 2014, 16:59
I am testing LAV on Windows 8.1. Is there a way to get it to use the LAV decoders by default, during install or otherwise? It appears the MS decoder is always being used but LAV splitter is loading. Testing with graphedit.
:thanks:
Vasilich
8th December 2014, 17:20
DoctorJ, look there http://www.codecguide.com/windows7_preferred_filter_tweaker.htm
DoctorJ
8th December 2014, 17:25
DoctorJ, look there http://www.codecguide.com/windows7_preferred_filter_tweaker.htm
Yep, know about filter tweaker but I was hoping for something more end user and less tweaking. Does not make sense to make a decoder install package that does not default to being used after install.
nevcairiel
8th December 2014, 17:33
Mostly because many actual players disregard the "preferred" codec thing Microsoft came up with, plus overriding this option can break a bunch of things (mostly TV related in WMC/WMP), so as a consequence for many players not actually needing it, and it possible breaking things.. it works just fine like this.
Additionally, those entries are actually thoroughly protected by the OS, and modifying them is a tad bit annoying.
DoctorJ
8th December 2014, 18:54
Mostly because many actual players disregard the "preferred" codec thing Microsoft came up with, plus overriding this option can break a bunch of things (mostly TV related in WMC/WMP), so as a consequence for many players not actually needing it, and it possible breaking things.. it works just fine like this.
Additionally, those entries are actually thoroughly protected by the OS, and modifying them is a tad bit annoying.
My player uses the preferred so using filter tweaker is the only way to get LAV to work. If it can be done by filter tweaker then can it be done on install? Need something an end user can install and be done with.
clsid
8th December 2014, 19:38
Changing the preferred DirectShow decoders is pretty safe. The options that can break stuff are mostly the ones that disable the MS codecs. Live TV needs the MS DTV-DVD video decoder.
mzso
8th December 2014, 19:55
The file does have screwed up timestamps.
On several occasions, the timestamps go backwards for a bit, and then jump back forward to their proper time.
To ensure proper audio/video sync, LAV will try to obey input timestamps as good as possible, which results in audible glitches in this sample.
If such problems are short enough, LAV can detect and simple ignore them, but if the problem persist for a bit and only corrects itself later, LAV thinks there was a timestamp gap or something like that, and has to adjust accordingly.
So in short, timestamps are wrong.
PS:
Other decoders may ignore small timestamp offsets and not show the glitches because of that, but that might easily result in out-of-sync audio instead, so its not an option really.
Huh. Good to know.
Are these timestamps in the container file (meaning mkvmerge's fault)?
(I would have tried with ffmpeg but the concat filter was not designed for human beings, and I didn't find any usable gui-s.)
nevcairiel
8th December 2014, 20:36
Yes, the timestamps are in the container.
betaking
10th December 2014, 05:16
can not comp last git
filler56789
10th December 2014, 12:53
^ Fixed:
http://code.google.com/p/lavfilters/source/detail?r=3e5b69263d27f8a1fa0621b141f542485d718a9a
THP
10th December 2014, 13:42
I was wondering if anyone has been able to correctly decode the Samsung Transformers 4K clip (http://demo-uhd3d.com/fiche.php?cat=uhd&id=22)?
I think there is an issue with the LAV splitter/source with that clip. Every +-2 seconds, there seems to be a hickup in the motion, as if there is a frame missing or being skipped. The reason I think it's a problem in the splitter/source filter is that I've tried using different HEVC/h265 decoders in a graph and all of them showed this behavior, of course always using the LAV splitter/source.
What I didn't find was an alternative to LAV splitter/source which works with this specific file so I could say for sure that the problem is indeed with the LAV splitter/source filter.
nevcairiel
10th December 2014, 14:09
From what I can tell, there is a bug in the FFmpeg/OpenHEVC HEVC decoder that causes that, any software based on that would suffer from the problem. Its not a source filter issue.
Of course the alternative might be that the HEVC stream is actually not 100% compliant, which causes these hicups.
THP
11th December 2014, 10:43
Hmm, interesting, so if I would want to create a valid stream starting from this faulty stream, which tools could I use? I have tried TSDoctor before on this stream, but the HEVC stream wasn't detected properly. I don't know of a any other tools that support HEVC content.
It does seem though that some players (f.e. a HW player, unknown SoC) are capable of handling this type of files. Could be that Samsung purposely introduced an error/fault in it to prevent it from being played correctly on other devices.
NikosD
11th December 2014, 14:13
All 5 HEVC files (4K and UHD) from the link below, don't work with HW Intel HEVC decoder and don't fall back to SW decoder properly.
A black screen with audio only using signature system and MPC-HC x64 v1.7.7.128
They work fine in HW with PotPlayer.
http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do
Same problem still with LAV 0.63.18 in both internal and external LAV.
Is it the Intel's driver ?
James Freeman
11th December 2014, 16:13
Audio question,
Should I downmix to Stereo using LAV or let windows (DirectSound) do it?
I generated a test file with all 5.1 channels hitting -0.1 at the same time, DirectSound does a good job downmixing the matrix and playing them all together, the master fader hits -0.1.
I can't play my test file using LAV because its a multichannel WAV.
Is there a way to force LAV and MPC-HC to play WAV files too?
EDIT:
Figured a way.
I exported FLAC instead of WAV.
LAV downmix is exactly to spec.
DirectSound pans rear channels a little closer to the center and not exactly -3db compared to L/R.
DirectSound also mixes the LFE -10db below the L/R channels which lowers the volume of the overall mix.
nevcairiel
11th December 2014, 16:34
I prefer LAVs downmixing over DirectSound because it generally results in a louder mix, and since I generally only use it when i'm at a laptop with somewhat weak speakers, a bit of extra volume without needing after-the-fact boosting or something is always welcome.
James Freeman
11th December 2014, 16:52
I use the "Normalize Matrix" function to keep the original dynamics, LAV mix is a little louder because I omit the LFE completely whether DirectSound has a good mix but not exactly to spec and its also keeps the LFE in which is not very good for the Stereo mix.
Thanks nev.
NikosD
11th December 2014, 17:41
Tried latest LAV x64 0.63.18 after the FFMpeg update and those pesky 10bit HEVC UHD files from Samsung, are still stuttering during playback.
Any info on that ?
I was wondering if anyone has been able to correctly decode the Samsung Transformers 4K clip (http://demo-uhd3d.com/fiche.php?cat=uhd&id=22)?
From what I can tell, there is a bug in the FFmpeg/OpenHEVC HEVC decoder that causes that, any software based on that would suffer from the problem. Its not a source filter issue.
Of course the alternative might be that the HEVC stream is actually not 100% compliant, which causes these hicups.
Since that bug was first mentioned here http://forum.doom9.org/showthread.php?p=1695243#post1695243 almost 2 months ago and because we still don't know what's going on, I decided to do a further investigation.
I tried LAV x64 0.59 - 0.60 - 0.61 - 0.62 versions.
I found out that up to 0.61 version, ALL Samsung clips play just fine.
0.62 version broke that, so I think it's something between those two versions 0.61 - 0.62, probably an FFMpeg update introduced a bug in HEVC decoding, in order to be faster.
Since then, all FFMpeg versions, even latest have this bug.
Case solved (from user point of view)
clsid
11th December 2014, 18:16
You can find old builds of FFmpeg here:
http://ffmpeg.zeranoe.com/builds/win32/static/
You could use that to further narrow down when the problem was introduced.
You can submit a bug report here:
http://trac.ffmpeg.org/
NikosD
11th December 2014, 18:25
Thanks, but I'm not familiar with those procedures.
That's why I wrote case solved - from user point of view - hoping for a developer to investigate it further.
clsid
11th December 2014, 21:16
The procedure is very simple.
1) Test playback with FFplay to find last working and first broken version.
command: ffplay samplefile.mp4
2) Generate FFmpeg output log (preferably with the newest build you can find):
command: ffmpeg -i samplefile.mp4 2> output.txt
3) Submit a bug report. Just give a clear description of the problem and copy/paste the entire log. Adding the date and/or git hash of the last working and first broken build will make their life easier. Upload a sample to www.datafilehost.com (that is their preferred host) and include the link.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.