View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
Manni
15th December 2019, 13:24
I personnaly use Jriver for audio only. I much prefer Kodi for TV shows and movies : 3d cases, animated posters, cinéma experience, sagas, scrapping, flexibility, look and feel, widgets like imdb top 250 and so on. As a french guy, I had to wait until Jriver 24 for multi language scrapping. TV shows posters are not scrapped in my native language but in english. A shame for a paid software.
I asked many times the Jriver team on the feature request post (forums) to use the mouse wheel for volume control but they don't want their users to use their mouses like they want. Too bad for a so simple thing. They are very nice for asking me every year to pay in avance a license for the next release without the possibility to ask a so simple parameter.
In fact, I would much prefer paying nevcareil or someone else for integrating blu Ray menus in MPC-HC rather than paying a 26th license to the Jriver team. Good developpers need to be supported and motivated.
I like MPC-HC and lav filters for mkv but it lacks some features for blu rays.
Just my personnal opinion
I don’t use jRiver as a front end as it wouldn’t meet my needs either for my Movie collection. I only use it as an external player for BD / UHD BD Menus.
I don’t know if Kodi supports external players, I don’t use it.
I use MyMovies, and used to use that front end in MCE, now I only use MyMovies for the collection management and I use CMC as a front-end, as it integrates tightly with MyMovies and provides what I need as a front end for a 3000+ movie and TV Show collection.
I asked the developer of CMC to add support for jRiver and many other things in the last few months, he is extremely responsive and it’s a pleasure to suggest new features and see them implemented. The software has made incredible progress in just a few months, and the cost is very reasonable.
CMC was 70% there when I started using it less than a year ago, it’s now 90% there. The main features still needed to catch up with what is possible with MyMovies under MCE are lights control and WOL for the servers, and it will have all I need that jRiver as a front-end couldn’t deliver. Still, jRiver is the best player for my needs, and the price is entirely justified in my view for “just” a player if the front end doesn’t suit you. :)
If you already have jRiver, I would investigate getting it supported by KODI as an external player or taking a look at CMC (Chameleon Media Centre) with MyMovies.
Sorry for the slight off topic, let’s get back to LAV :)
Olivier C.
15th December 2019, 14:12
I will try Jriver as an external player in KODI. Thanks for your advice Manni.
hubblec4
15th December 2019, 15:48
@ Olivier
Thanks for sharing the disc. It seems all streams available in both editions, but you are right, the french/spanish sound is sometimes silent(different to the extended edition).
Technical there is no problem to mux this BD with chapterEditor to a multi-edition-mkv.
Matroska has a feature which uses TrackUIDs per chapter, but this is not supported in LAV-Splitter.
Olivier C.
16th December 2019, 01:48
@ Olivier
Thanks for sharing the disc. It seems all streams available in both editions, but you are right, the french/spanish sound is sometimes silent(different to the extended edition).
Technical there is no problem to mux this BD with chapterEditor to a multi-edition-mkv.
Matroska has a feature which uses TrackUIDs per chapter, but this is not supported in LAV-Splitter.
Thanks for your feedback hubblec4.
Olivier C.
16th December 2019, 03:41
Harry Potter and the Deathly Hallows - Part 1
Harry Potter and the Deathly Hallows - Part 2
These Blu-rays contain Making-Of, commentaries (i.e. the longest playlist on each BD, i.e. 00200.MPLS).
LAV can not deliver any sound in french (my native language), german, dutch, and italian.
Aleksoid1978
16th December 2019, 04:58
Harry Potter and the Deathly Hallows - Part 1
Harry Potter and the Deathly Hallows - Part 2
These Blu-rays contain Making-Of, commentaries (i.e. the longest playlist on each BD, i.e. 00200.MPLS).
LAV can not deliver any sound in french (my native language), german, dutch, and italian.
Can you send PM "copy" of this BD.
Olivier C.
16th December 2019, 13:43
Can you send PM "copy" of this BD.
It's done
Blight
18th December 2019, 16:46
I have a (verified) user report about LAV being extremely slow to seek in certain matrsoka files while Win10's "Movies and TV" app seeks fine, here is the full report:
-------
Long time registered user of Zoom Player, but new to OBS and streaming in general. To try and keep this short, I've been recording with OBS Studio (v24.0.3 x64) into MKV files. When I attempt to play the files in Zoom Player (14.5 Max 1450) they will start perfectly fine and play perfectly fine but when I attempt to seek into the file it will take some time to start playing again. If I seek towards the beginning it's somewhat minimal, but increases drastically (exponentially?) if I try to seek further into a larger / longer file. It will also happen if I alter the window size or jump into/out of fullscreen mode. This happens when encoded with H264 or H265, and I've tried different renderers in ZP (MadVR, ENV) to no avail. When I play the same files with the baked-in Win 10 "Movies and TV" app it seeks without any sort of delay no matter what time I jump to in the video. Sad panda.
One important note that may be (very) relevant - I'm encoding on an AMD RX580 utilizing AMF (obs-amd-encoder-2.6.0.0) so these videos lack B-Frames as described here (https://github.com/obsproject/obs-amd-encoder/wiki/hardware-support#AVCSVC_H264-5). It doesn't specifically mention that H265 lacks B-Frames under the "HEVC (H265)" heading but when I analysed an H265 video with ffprobe is does specify "has_b_frames=0" so I assume neither encoder generates them.
I made an hour+ video of only black and silence, and the issue definitely remains. As you will (hopefully) see the delay becomes much more prevalent the further into the video you attempt to seek.
-------
Here is the sample file:
https://inmatrix.com/temp/AMD_RX580_B-Frame_Test.rar
huhn
18th December 2019, 19:12
this file seeks "instantly" on my system using 64 bit mpc-hc and madVR.
i use madVR decoder queue as an indicator because it is a blank video.
tested with software and d3d11 using an 1060.
feel free to say him polaris can't encode HEVC with B frames is a well known fact.
el Filou
18th December 2019, 19:36
On my system it seeks instantly with MPC-HC (32-bit), but with MediaPortal (also 32-bit) I have the same issue as Blight, which is strange as both are using the latest LAV nightly's with Splitter Source as well as decoders (tested with software and DXVA2 cb).
However, I've noticed another issue: with both players it takes a very long time to stop playback, especially with MPC-HC where it gets wrose the more you've seek during playback and can take up to 150 seconds with very high CPU usage by the player process.
I found that remuxing the file with MKVToolNix and removing the 3 tag tracks that are present (no idea what they're for) fixes this second problem with MPC-HC, but not the seeking problem with MediaPortal.
huhn
18th December 2019, 20:24
i can confirm the closing issue only visible in the task manager.
one core is 100 % for at least 10 sec+.
Pat357
18th December 2019, 23:00
I had the same very slow seek with both MPC-HC & MPC-BE configured to use LAV. It took >5 sec to seek from start to 75% from the file.
Was very disturbing.
Then I changed an option in MPC-HC player under Options -> Tweaks -> fast seek (keyframes), enabled this option and seeking is almost perfect.
So, I guess the issue is not LAVfilters, but an option in the player to allow the use of keyframes for seeking.
Does ZP have such option ?
Note : with the MPV player, I have quick seeking, but the player reports something interesting :
[mkv] This is a broken file! Packets with incorrect keyframe flag found. Enabling workaround.
nevcairiel
19th December 2019, 08:53
The file is broken, because it doesn't flag any audio frames as keyframes, which in an AAC stream like this one, every single one should be. Whichever software wrote it is broken (the metadata of the file says it was written by libavformat from ffmpeg, so presumably whichever app feeds libavformat forgot to set the keyframe flag).
Regardless, I've added a workaround specifically for such files, similar to what mpv does, and simply assume that audio always has keyframes. So it should work now.
Blight
19th December 2019, 18:22
Thanks nev, I asked the person reporting this issue to pass along your findings so it can also be fixed at the source.
zerowalker
30th December 2019, 23:03
Try to remultiplex the file to a new MKV with MKVToolnix or ffmpeg; if the problem persists, it's more probably the content for this file.
Anyway, different media players may use differently robust techniques (one may fail in case of issues where another may be able to skip). If you use LAV Filters with a generic media player, the DirectShow API may be the culprit; MPC-HC (and probably MPC-BE too) uses LAV Filters with another native API. And VLC uses the same core libraries but with an own "playback engine".
Muxing it with ffmpeg works, which is the odd thing cause it's made by ffmpeg to begin with (it's from OBS, so ffmpeg is used programatically somehow).
Yeah get that they can bruteforce, but i would like to know what is wrong, if it's actually right ant the mediaplayers are wrong, or vice versa.
I will give a random sample that has the issue, it won't be really detectable cause of it's size, but it might help see what is wrong.
EDIT:
Here's a link to it: https://drive.google.com/open?id=1zpIVHwx5tlJYnWM3CmMOQ8dsAyH3sEjQ
sneaker_ger
30th December 2019, 23:24
Looks it's exactly the same problem as reported by Blight in post #23750 (which nevcairiel added a workaround for in the recent nightly). So the file is broken. You can see the difference in MKVToolNix GUI's Info Tool (in the clusters you see that no AAC frame is marked as key frame in the original as opposed to a proper remux).
zerowalker
31st December 2019, 01:00
Looks it's exactly the same problem as reported by Blight in post #23750 (which nevcairiel added a workaround for in the recent nightly). So the file is broken. You can see the difference in MKVToolNix GUI's Info Tool (in the clusters you see that no AAC frame is marked as key frame in the original as opposed to a proper remux).
Ah, could this perhaps be fixed when the file is made?
I don't have experience with how ffmpeg handles this programatically but perhaps someone here does, if so i could talk to the developer of OBS and perhaps get it solved with the help of both.
Cause solving the source seems like the best solution, even if there's a workaround.
nevcairiel
31st December 2019, 13:26
Of course this could be solved when the file is made. OBS should mark audio frames as keyframes when encoding/muxing the audio, and it would all be fine. If they were using ffmpeg for encoding, it should do that automatically, but I assume they have some abstraction between encoding and muxing, and the keyframe flag is lost in there.
zerowalker
31st December 2019, 15:20
Of course this could be solved when the file is made. OBS should mark audio frames as keyframes when encoding/muxing the audio, and it would all be fine. If they were using ffmpeg for encoding, it should do that automatically, but I assume they have some abstraction between encoding and muxing, and the keyframe flag is lost in there.
Indeed they use it, and i recall the developer not getting why it would mess up as ffmpeg handles it.
Not sure how it muxes it and it might be as you say that it's lost there, will try to get some info on that.
jespermart
6th January 2020, 00:59
I will try Jriver as an external player in KODI. Thanks for your advice Manni.
Did you manage to use Jriver as an external player in Kodi, if yes could you please post your playercorefactory file
VictorLS
15th January 2020, 21:14
Does ffmpeg (or any other audio decoder) support (play) Dolby AC-4 I've received from 19e2 SAT (German test UHD HLG (http://forum.doom9.org/showthread.php?t=176909) channel)?
Full TS records by AltDVB, CrazyScan and PID_0x0201.bin and mpg's by TSReader (459MB total) https://transfiles.ru/ehlj6
Dolby AC-4 only audio must be in PID_0x0201.bin file.
el Filou
16th January 2020, 02:46
See this thread where nevcairiel said there was work in ffmpeg to implement it, but obviously with no idea of when it would be complete: https://forum.doom9.org/showthread.php?p=1863107
v0lt
16th January 2020, 08:05
Does ffmpeg ... support (play) Dolby AC-4
No.
https://trac.ffmpeg.org/ticket/8349
VictorLS
16th January 2020, 10:44
Thanks guys!
richardpl
16th January 2020, 12:27
My fork of FFmpeg plays ac4 just fine.
LigH
16th January 2020, 13:59
Interesting. Can you share any details (configuration, embedded libraries, required patches)?
VictorLS
16th January 2020, 18:07
My fork of FFmpeg plays ac4 just fine.
Even PID_0x0201.bin from https://transfiles.ru/ehlj6 ?
If so I ask you same questions as LigH ;)
VictorLS
19th January 2020, 08:26
My fork of FFmpeg plays ac4 just fine.
Can you although upload (may be in PM) your compiled fork of FFmpeg to test AC4 streams by myself?
clsid
19th January 2020, 17:09
sample (https://www.sendspace.com/file/9in80k) + CUVID + RGB32 output = bug
With madVR it crashes, with other renderers it just hangs on start.
max79
19th January 2020, 20:35
@nevcairiel
I humbly ask for help. Problem with "LAV Splitter Source", on HLS live streams it didn't output the highest possible by quality audio track for the specified language(please see "picture (https://dl.dropboxusercontent.com/s/0lr3qfucn7r1yy6/LAVissueAT.png)"). My settings was like this:
1) "Prefer Audio Stream with the Highest Quality": enabled
2) Preffered Language for Audio: rus
I try to check two TV-stream examples:
First have such audio streams:
1) Russian [rus] (stereo 192kb/s)
2) Russian [rus] (5.1, 384kb/s) [default]
Second have such audio streams:
1) Russian [rus] (5.1, 384kb/s)
2) Russian [rus] (stereo 192kb/s) [default]
Filter always output audio stream marked as [default] on both examples. Seems setting-"Prefer Audio Stream with the Highest Quality" just ignored in such cases. How can I configure filter for automatically choosing the best by quality track for the specified language: Second stream in first example and First stream in second example?
Any feedback would be appreciated.
max79
19th January 2020, 20:48
@nevcairiel
can you please tell me where I can find a list of actual parameters(with their detailed description) for the "LAV Splitter Source" for URLs, like this one:
http://ServerName/?overrun_nonfatal=1
lvqcl
20th January 2020, 00:06
Look here: http://ffmpeg.org/ffmpeg-protocols.html
max79
20th January 2020, 00:18
Look here: http://ffmpeg.org/ffmpeg-protocols.html
thank you!
bacondither
21st January 2020, 12:46
@nevcairiel
When Git initializes the submodules for LAV Filters I get "fatal: remote error: access denied or repository not exported: /libudfread.git".
Seems like videolan moved it to GitLab.
Changing the libbluray .gitmodules URL to new url would fix it.https://code.videolan.org/videolan/libudfread.git
Keep on rocking! :)
sat4all
22nd January 2020, 11:52
@nevcairiel
As you know, most if not all bollywood movies use a sample rate of 96000hz for dolby truehd tracks, using lav audio decoder it produces stuttering/crackling but with other players like mpv, dvdfab, kodi it plays fine.
Would please check, let me know if you need a sample.
p.s: i'm using passthrough.
Thanks
VictorLS
22nd January 2020, 13:05
Can LAV Filters process MPEG-7 (https://en.wikipedia.org/wiki/MPEG-7) transmitted from German 19e2 satellite? If yes, what version from?
max79
22nd January 2020, 17:48
@nevcairiel
Filter always output audio stream marked as [default] on both examples. Seems setting-"Prefer Audio Stream with the Highest Quality" just ignored in such cases. How can I configure filter for automatically choosing the best by quality track for the specified language: Second stream in first example and First stream in second example?
I'm noticed that after recording such TV-stream in .TS-file container, filter didn't see [default] mark in this case and and automatically choose the best by quality track. Please fix.
VictorLS
22nd January 2020, 18:17
MPEG-7 (https://en.wikipedia.org/wiki/MPEG-7) transmitted from German 19e2 satellite
Here's my record of that stream 19e2_12670v23500mis171continuousMPEG-7_20200122.ts (18 MB) https://yadi.sk/d/734HyAxzWVrkCg but I guess that's really broken stream and will be happy if I'm wrong in that assumption ;)
max79
23rd January 2020, 07:37
Look here: http://ffmpeg.org/ffmpeg-protocols.html
The question still remains - will these parameters work in "LAV Splitter Source"(at the end of URL) or not? Seems at least "user_agent"-parameter didn't work as it should if running URL like this:
http://ServerName/?user_agent=Mozilla (http://ServerName/?user_agent=Mozilla)
Does any guys in charge here to explain whether this parameter should work in DirectShow player through the filter?
el Filou
29th January 2020, 23:01
Can you although upload (may be in PM) your compiled fork of FFmpeg to test AC4 streams by myself?If I'm not mistaken, richarpl is an ffmpeg dev. He probably has a private branch with added AC-4 support but support still not 100% ready for release?
nussman
30th January 2020, 17:38
He wants money for his private branch:
https://forum.doom9.org/showthread.php?t=176038&page=2
richardpl
30th January 2020, 17:47
I'm also asking money for Blacmagick RAW decoder, so anybody interested?
VictorLS
1st February 2020, 00:14
el Filou
Thanks
My fork of FFmpeg plays ac4 just fine.
It's a pity you haven't reply on my questions (http://forum.doom9.org/showthread.php?p=1895965#post1895965)
So you'll make LAV Filters with your fork of FFMpeg also with
1. LAV Splitter can recognize AC-4 (and desirable MPEG-7 (http://forum.doom9.org/showthread.php?p=1896658#post1896658)) streams so show them in LAV Splitter's properties in players while playing video with AC-4 track I've uploaded here (http://forum.doom9.org/showthread.php?p=1895965#post1895965);
2. LAV Splitter supports support true streaming directshow interfaces (as I understand like i.e. Elecard MPEG Push Demultiplexer) http://www.smartdvb.net/bb/viewtopic.php?f=13&t=1768#p6902
3. LAV Video Decoder can deinterlace quasi-interlaced h265 streams (discussed here before (http://forum.doom9.org/showthread.php?p=1881908#post1881908));
4. LAV Video Decoder has built-in correct HLG to HDR10 (or even better directly to BT.709 colorspace as mpv does) conversion (not just passing to renderer but if you can write HLG to BT.709 shader (http://forum.doom9.org/showthread.php?t=176909) tell me too)
features together let's talk about price (may be in PM) ;)
nussman
1st February 2020, 01:47
I am not a license expert, but imho this is violating GNU GPL (https://github.com/Nevcairiel/LAVFilters/blob/master/COPYING). So no need for this nonsense here ... :rolleyes:
VictorLS
1st February 2020, 08:54
I am not a license expert, but imho this is violating GNU GPL...
Thanks for your tip - mostly I've just wanted to tell what I (and many SAT amateurs) want to be implemented in FFMpeg and therefore in LAV Filters in a future ;)
richardpl
1st February 2020, 12:52
Thanks for your tip - mostly I've just wanted to tell what I (and many SAT amateurs) want to be implemented in FFMpeg and therefore in LAV Filters in a future ;)
If you or anyone want to get something implemented in FFmpeg, than pay me. otherwise code will stay in my fork and not in FFmpeg.
VictorLS
1st February 2020, 13:38
If you or anyone want to get something implemented in FFmpeg, than pay me
a) Why I must even think to pay (btw from Russian Crimea due to West civilization sanctions it's very hard to do) you if you're even haven't answered my simple question (http://forum.doom9.org/showthread.php?p=1895965#post1895965) (better upload videoproof by any videocamera for that) - I even don't sure you've downloaded my samples (it has expired already)?
b) Are you sure you can to implement all four wishes from my previous post (http://forum.doom9.org/showthread.php?p=1897864#post1897864)?
c) As I understand you're don't write shaders. Am I right?
richardpl
1st February 2020, 13:54
a) Why I must even think to pay (btw from Russian Crimea due to West civilization sanctions it's very hard to do) you if you're even haven't answered my simple question (http://forum.doom9.org/showthread.php?p=1895965#post1895965) (better upload videoproof by any videocamera for that) - I even don't sure you've downloaded my samples (it has expired already)?
b) Are you sure you can to implement all four wishes from my previous post (http://forum.doom9.org/showthread.php?p=1897864#post1897864)?
c) As I understand you're don't write shaders. Am I right?
I write shaders, but not for you, bye.
NikosD
2nd February 2020, 09:51
If you or anyone want to get something implemented in FFmpeg, than pay me. otherwise code will stay in my fork and not in FFmpeg. Usually, in forums like doom9 where a lot of users come to find answers, workarounds or even solutions to their issues caused by the use of computers, mainly problems around video use here, it's kind of weird and unfamiliar to see someone writing posts like yours.
Most of us here are trying to help without asking money, even developers and professional developers like nevcairiel - I'm not - who is the developer of LAV filters.
I respect your time and effort to write code, but i really don't think you are asking money in the right place.
So, eventually, my wish is that nobody will "bite" from your teasing efforts to make money from doom9 forum and leave this place quitely, as you will find nothing here to gain profit.
richardpl
2nd February 2020, 10:33
Usually, in forums like doom9 where a lot of users come to find answers, workarounds or even solutions to their issues caused by the use of computers, mainly problems around video use here, it's kind of weird and unfamiliar to see someone writing posts like yours.
Most of us here are trying to help without asking money, even developers and professional developers like nevcairiel - I'm not - who is the developer of LAV filters.
I respect your time and effort to write code, but i really don't think you are asking money in the right place.
So, eventually, my wish is that nobody will "bite" from your teasing efforts to make money from doom9 forum and leave this place quitely, as you will find nothing here to gain profit.
There are other commercial products which are discussed here so I see point here to discuss my FFmpeg commercial fork.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.