Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd March 2019, 14:08   #23441  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,475
In all cases you have the same container flagging (ProRes also has correct private frames headers flagging, but DNxHR/Cineform not). Best to relay on MOV flagging. In this case: colr, clli and mdcv tags. Those fully describe HDR content.
DNxHR also stores range info in ACLR tag. ProRes has no range info as it should be rather always limited range (although you can make full range file as well). Cineform has no known range flagging either.

Link:

https://drive.google.com/open?id=1Dm...3Pni2cSGvTQ1hq

Values for different standards HDR10, HLG etc are the same as for h265. Mediainfo has support for all those tags.

Last edited by kolak; 22nd March 2019 at 14:11.
kolak is offline   Reply With Quote
Old 24th March 2019, 01:38   #23442  |  Link
aufkrawall
Registered User
 
Join Date: Dec 2011
Posts: 1,754
Was schannel used before gnutls, but dropped due to onging problems with ffmpeg?

mbedtls serves me well in ffmpeg, but I suppose you got good reasons for gnutls.
aufkrawall is offline   Reply With Quote
Old 25th March 2019, 22:29   #23443  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
Hi nevcariel, I'm trying to understand what the best road to bring madVR to Kodi, now that the DSPlayer fork seems to be dead for the foreseeable future.

While inquiring about the possibility of madVR as a binary add-on for Kodi, I got this answer from what used to be the main Kodi videoplayer coder.
At least from a theoretical point of view, it appears that having madVR as an "external" video renderer could be doable.

Which leads me to my question: if I understand things correctly, madVR "counts" on LAV Filters to pass on relevant info for proper HDR playback. Is this correct? Is this info coming from regular FFMPEG or is it your work. In the second case, do you see that part of your work moving upstream to FFMPEG main codebase (as Kodi is based on that too)?

If all of the above doesn't make sense, I'm sorry. Unfortunately I'm not a coder, I'm investigating this only to understand what would theoretically would be possible. Hoping that sooner or later an interested coder might look into it.
ashlar42 is offline   Reply With Quote
Old 25th March 2019, 22:35   #23444  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,049
FFmpeg extracts most of the information already, it would just be a matter of bringing it into a format that madVR understands. This format was defined in collaboration between madshi and myself, and it has no place in FFmpeg. All that would have to be implemented in the adapter between Kodi and madVR.
That said, madVR is not only a video renderer, but a DirectShow one, as such it expects a lot of particular behavior in a particular way, often not very obvious, trying to get Kodi to act like a DirectShow source that pushes data to madVR might be rather prone to a lot of complexity, so its not a task I would take lightly, or enjoy personally, for that matter.

Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 25th March 2019 at 22:38.
nevcairiel is offline   Reply With Quote
Old 26th March 2019, 10:27   #23445  |  Link
oldpainlesskodi
Registered User
 
Join Date: Apr 2017
Posts: 339
Quote:
Originally Posted by nevcairiel View Post
Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!
The current version of Dsplayer still works. The only thing that changes is the lack of any new features from the main Kodi branch, as well as some of the addons.

But, there are a lot of people, myself included, that only use Dsplayer for local file playback, so I'll let go of Dsplayer, with Lav and MadVR, when hell freezes over
__________________
Sapphire RX 5700 XT (21.2.2) Ryzen 7 3700x, PRIME X570-Pro, Win 10 x64 (2004), Silverstone LC13B-E, Onkyo TX-RZ800, LG OLED55BX6LB, Mission M35i speakers, Kodi Dsplayer 17.6 X64
oldpainlesskodi is offline   Reply With Quote
Old 26th March 2019, 12:56   #23446  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
Quote:
Originally Posted by nevcairiel View Post
That said, madVR is not only a video renderer, but a DirectShow one, as such it expects a lot of particular behavior in a particular way, often not very obvious, trying to get Kodi to act like a DirectShow source that pushes data to madVR might be rather prone to a lot of complexity, so its not a task I would take lightly, or enjoy personally, for that matter.
Yeah, even though (sadly) I'm not a coder, I understand it would be a complex task. I hope that the existing DSPlayer codebase could give hints on how to proceed but I'm not sure (as DSPlayer completely substitutes Kodi videoplayer with DirectShow).
Quote:
Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!
Thanks. More than offering $500 in order to make the project go on I cannot do. And I understand that's not the kind of money that could generate motivation for something like this. But thanks for the info you provided and thanks for your wish of good luck.
ashlar42 is offline   Reply With Quote
Old 27th March 2019, 19:06   #23447  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
On a different subject, this time exclusively concerning LAV Filters, I hope you can help me understand something, nevcariel.

I'm experimenting in using Google Drive as a source for video content (paid tier, not the free one). I am seeing some "strange" behavior when using LAV Splitter. If I open videos from Kodi, they generate a limited number of accesses on opening the file (3 or 4 typically). If I open them from MPC-HC, using LAV, I see potentially many more "download events", as Google calls them. I have the impression that this might be linked with the number of chapters in a given mkv file, but I'm not sure. Does any of this ring any bell? Is LAV "calling" a file multiple times before opening it for playback?
Thanks.
ashlar42 is offline   Reply With Quote
Old 27th March 2019, 23:08   #23448  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,049
Opening a file and reading its headers involves a number of seeks - in particular with MKV files (and also MP4 files), because they contain header information both in the beginning, and at the end of the file.
Over HTTP, a seek is a new request, so depending on the exact file structure, this could be a few requests. I have already optimized LAV to avoid seeks during straight playback, so that after it was opened and probed, it will play it straight through from start to finish in one request - however seek requests during startup cannot really be avoided without removing features.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 28th March 2019, 11:37   #23449  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
Quote:
Originally Posted by nevcairiel View Post
Opening a file and reading its headers involves a number of seeks - in particular with MKV files (and also MP4 files), because they contain header information both in the beginning, and at the end of the file.
Over HTTP, a seek is a new request, so depending on the exact file structure, this could be a few requests. I have already optimized LAV to avoid seeks during straight playback, so that after it was opened and probed, it will play it straight through from start to finish in one request - however seek requests during startup cannot really be avoided without removing features.
Thanks for your reply. I was imagining something similar. The only thing I don't understand is why, apparently, Kodi's internal VideoPlayer is generating less requests. Could that have to do with (lack of) MKV branching support (editions.... how are the multiple versions of a movie inside a single file called). Maybe LAV needs to check for that and Kodi doesn't?
This is just "academic" curiosity, by the way. Your reply was thorough and I surely don't want LAV to remove features.
ashlar42 is offline   Reply With Quote
Old 28th March 2019, 11:41   #23450  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,570
Maybe it reads the beginning and end of file in bigger chunks into the buffer and then seeks to the specific header elements from that buffer?
sneaker_ger is offline   Reply With Quote
Old 29th March 2019, 20:20   #23451  |  Link
groen
Registered User
 
Join Date: May 2011
Posts: 16
Can lav filters work on freebsd or is there a freebsd build? If not what is lacking in freebsd that means there can not be a lav filters for freebsd? Thank you.
groen is offline   Reply With Quote
Old 29th March 2019, 20:21   #23452  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,049
LAV Filters is Windows-only. It uses key windows components to function, as such there will never be a build for anything but Windows. In fact its entire premise is being a DirectShow filter - no DirectShow on BSD, no LAV Filters.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 8th April 2019, 15:27   #23453  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,000
I am testing LAV Filters support for DSF/DSD/DXD high resolution audio and have some issues,

In graph studio:
1. I add LAV Splitter Source
2. I specify a previously downloaded sound ".dsf" file from here: http://www.2l.no/hires/
3. I connect the newly exposed Audio pin on the source filter to LAV Audio Decoder.
4. I try to connect the LAV Audio Decoder to the "default directsound" audio renderer and get an error:

Quote:
[Window Title]
Connecting Pins

[Main Instruction]
VFW_E_UNSUPPORTED_AUDIO (0x8004025C)

[Content]
Cannot play back the audio stream: the audio format is not supported.
Connecting Pins (decimal -2147220900)
I tried with mixing enabled and disabled with no difference.
I suspect it may be the high bitrate not being supported by the audio driver, but I have hoped some down-mixing fallback would be in place for such cases.
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 8th April 2019, 15:47   #23454  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,049
LAV does not offer resampling, so whatever audio renderer you are using would need to cope with the DSD sampling rates. On that note, downsampling is not the only thing you should be doing. DSD is full of ultrasonic noise, and you absolutely should apply a strong low-pass filter to get it out of the signal before resampling it, otherwise it'll cause audible distortions.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 8th April 2019, 17:23   #23455  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
nevcariel, is there a possibility in the future for LAV Filters to offer an option to cache completely a file on a local hard drive for playback? Kodi's VideoPlayer offers this but I'm not sure if this is something that, in the DirectShow world, would be handled by the source/splitter filter or if it needs to be handled by the player itself.
Hoping this has not been asked in the past. Thank you.
ashlar42 is offline   Reply With Quote
Old 8th April 2019, 17:53   #23456  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 6,882
you can already do something like that with the queue settings it's using the ram for that.

queue memory is the file size and queue packets the maximum number of "frames".
huhn is online now   Reply With Quote
Old 9th April 2019, 08:51   #23457  |  Link
juffi
Registered User
 
Join Date: Jul 2007
Posts: 16
3D MVC problems with Intel

My setup: MPC-HC / MPC-BE (v1.5.3, build 4455), LAV Filters (0.73.1.30-git), MadVR. Intel NUC7i3BNK, Intel i3-7100U, Intel graphics driver 25.20.100.6618. Windows 10 Pro 1809.

3D MVC used to work a few week ago with the earlier Intel driver (v 6577). Now, when I start playback of an iso image, MPC-BE says: "Starting playback crashed". After 10 seconds or so playback starts without any audio. Changing playback position, and most any change, freezes playback completely. Closing the application thru task manager.

3D playback works nicely with Kodi. PowerDVD works but there is strange motion judder.

Is this LAV Filters problem or something else? Maybe caused by a Windows 10 change.
juffi is offline   Reply With Quote
Old 9th April 2019, 11:48   #23458  |  Link
ashlar42
Registered User
 
Join Date: Jun 2007
Posts: 433
Quote:
Originally Posted by huhn View Post
you can already do something like that with the queue settings it's using the ram for that.

queue memory is the file size and queue packets the maximum number of "frames".
Yeah, I know about that and we've discussed this briefly here in the past weeks.

My problem is that nowadays RAM cannot necessarily be enough for current media (even with 32GB, which is currently, I believe, kind of the upper limit for "sane" installations). Summed to the fact that settings there are rather... opaque about how they actually impact cache size (I'm not sure they are limitless and I'm not sure how the two values interact among each other in order to define cache size, if there's clear documentation I must have missed it).

But mainly the first point. The second is more of a "if there was a "cache everything to disk as fast as possible" option everything would be easier for people with that kind of necessity".
ashlar42 is offline   Reply With Quote
Old 9th April 2019, 11:52   #23459  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,049
I don't have any plans for such a feature, sorry. Someone could write a file source filter that sits before LAV that does that, if one really wanted to.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 9th April 2019, 15:54   #23460  |  Link
el Filou
Registered User
 
el Filou's Avatar
 
Join Date: Oct 2016
Posts: 733
Quote:
Originally Posted by ashlar42 View Post
nowadays RAM cannot necessarily be enough for current media (even with 32GB).
Apart from Blu-rays I don't see any media that wouldn't fit in 32 GB of RAM and even then, using a reasonable buffer of 24 GB you could buffer from 1/4 to 1/2 of the movie. Are you saying your network is so bad that 24 GBs of buffer still would cause drops? If yes then I would advise on manually copying your file to local storage before playback, or just permanently moving your media storage to the playback device.
Quote:
settings there are rather... opaque about how they actually impact cache size (I'm not sure they are limitless and I'm not sure how the two values interact among each other in order to define cache size, if there's clear documentation I must have missed it).
The settings are not opaque at all as they were described in detail the last time we discussed it:
https://forum.doom9.org/showthread.p...30#post1865530
Even just the tooltips in LAV config are pretty self-explanatory.
Basically: set Maximum Queue Memory to the max RAM you want to use for buffering, then use the highest bitrate (and feature-length playtime) file you have to test while increasing Maximum Queue Packets until the player process uses up that amount of RAM.
I just did a test again: with a 25 Mbps UHD mkv, you need a ~20.000 paquet queue for a 2 GB buffer (which already holds 10 minutes of material), and it takes just 30 seconds of playback for MPC-HC to fill it up (from local HDD). Something like a 250.000 paquet queue should let you fill up a 24 GB buffer (leaving a bit of RAM for the other apps ).
__________________
HTPC: Windows 10 1909, MediaPortal 1, LAV Filters, ReClock, madVR. DVB-C TV, Panasonic GT60, 6.0 speakers Denon 2310, Core 2 Duo E7400, GeForce 1050 Ti
el Filou is offline   Reply With Quote
Reply

Tags
decoders, directshow, filters, splitter

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.