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 14th August 2010, 14:55   #1  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
LAV Filters - DirectShow Media Splitter and Decoders

LAV Filters 0.78 (released 2023/10/25)
including LAV Splitter, LAV Video and LAV Audio.

-----------------------------------------------------------

Hi folks,

We've been working on this for quite a while already, and i feel its time to release it into the wild for some more comprehensive testing.

LAVFSplitter is a multi-format media splitter that uses libavformat (the demuxing library from ffmpeg) to demux all sorts of media files.
The project has been growing in my mind for quite a while, until i found out that Ti-BEN from the XBMC DSPlayer team was working on this as well,
so we joined forces and developed the first prototype together. Since then some time passed, and this is the third design that came out of
our combined efforts. It is already in use in the XBMC DSPlayer branch as the internal splitter, and now available as a standalone for everyone!

At this point i would like to thank Ti-BEN for his contributions. Without his work on this project, it probably would have stayed a design in my mind.

State of the project
Note that this list only lists properly tested formats/codecs, many others may just work!

Containers
MKV/WebM, AVI, MP4/MOV, MPEG-TS/PS (including basic EVO support), FLV, OGG, and many more that are supported by ffmpeg!

Video Codecs
H264, VC-1, MPEG-2, MPEG4-ASP (Divx/Xvid), VP8, MJPEG and many more.

Audio Codecs
AAC, AC3, DTS(-HD), TrueHD, MP3/MP2, Vorbis, LPCM and more.

Subtitles
VOB, DVB Subs, PGS, SRT, SSA/ASS, Text

BluRay Support
Support for opening BluRay playlists (.mpls), as well as the index.bdmv file, which will try to detect the main movie playlist!
Full support for Seamless Branching Blu-rays as well as HD audio (including native full DTS HD-MA support as of 0.65!)

Other Notable Features
- MKV Edition/Ordered Chapters/Segment linking support
- Full Stream switching
- MKV Embedded Fonts
- Audio Bitstreaming (through LAV Audio)

Note:
Not all containers are equally supported, so some formats may fail in one container and work in another.
Also note that "tested" doesn't mean it won't fail eventually. There are many combinations of codecs, and its impossible to test all of them for me.

How to Use
Here are some guides that include LAV Filters (but are usually not limited to them):

Advanced MPC-HC Setup Guide (by mindbomb)
Watching H.264 videos using Compute Unified Device Architecture (CUDA)

Those guides are in no way "official", and I do not guarantee for the accuracy of these guides, but they should get you started.
If you know about a good guide that should be added here, please say so!

Feedback
When reporting problems, please always state the Container Format, the Codec, and the Decoder you're trying to use. If possible, a short sample will help greatly to resolve any issues!
Please report issues on the GitHub project page: https://github.com/Nevcairiel/LAVFilters/issues

Download
The source can be found on the GitHub project pages:
https://github.com/Nevcairiel/LAVFilters (development repository)

LAV Filters work on 7/8/8.1 and Windows 10. Older versions of Windows are not supported.
Note that some functionality may require newer operating systems (primarily hardware acceleration options).

Binaries for the most recent version are available here:
Version 0.78: Installer (both x86/x64) -- Zips: 32-bit & 64-bit
Download 3D Plugin: 32-bit & 64-bit

Debug Symbols: 32-bit & 64-bit
The debug symbols can be used to help determine the cause of crashes, usually you only need them when trying to create a crash dump.

You can find the slightly modified/tuned version of ffmpeg used for LAV Filters here:
https://gitea.1f0.de/LAV/FFmpeg

Nightly testing builds are available here:
https://files.1f0.de/lavf/nightly/

Previous releases are available on GitHub:
https://github.com/Nevcairiel/LAVFilters/releases

Changelog
0.78 - 2023/10/25 - Release Notes
Code:
LAV Splitter
- NEW: Added identification of DTS:X in DTS HD-HRA streams
- NEW: Support for various stream flags in Matroska containers (Hearing Impaired, and more)
- Changed: Text-based subtitle selection now uses case-insensitive matches (ASCII characters only)
- Fixed: Many stream titles in MP4 files weren't being read properly

LAV Video
- NEW: Support for decoding SMC video
- Fixed: HLG video streams could have their HLG flag overriden in some circumstances

LAV Audio
- Fixed: TrueHD bitstreaming of Atmos tracks could cause output timestamps to be off, confusing some audio renderers
For the full changelog, see CHANGELOG.txt in the download!

Last edited by nevcairiel; 3rd March 2024 at 23:19.
nevcairiel is offline   Reply With Quote
Old 14th August 2010, 14:55   #2  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Known issues

Audio Decoder
- DTS Express and other "core-less" DTS-HD streams cannot be bitstreamed

Frequently asked Question

Q: Will you write a Subtitle Filter?
A: Its possible, nothing has been determined yet. But its not likely going to be anytime soon.

Q: Can LAV Audio decode DTS-HD?
A: Yes! As of 0.65 DTS-HD is fully supported!

Q: I do not get any audio when using ffdshow as a post processor. What gives?
A: When using ffdshow as post-processor, under some circumstances, you might need to force ffdshow to only use one output format. In this case, i recommend turning off all output formats in ffdshow, except one, preferably either 24-bit int or 32-bit float.

Q: GraphEdit crashes after i installed LAV Video!
A: This is a GraphEdit bug. It will crash as soon as one filter supports more then 100 formats. There is nothing to be done. Personally, i suggest using GraphStudio instead!

Building LAV

Building LAV requires Visual Studio 2015 Update 3, and a recent version of mingw-w64 GCC with a MSYS environment and YASM.

You can get the GCC i use to compile here: http://files.1f0.de/mingw/
I recommend to combine it with MSYS2, or a MSYS package from XhmikosR (http://xhmikosr.1f0.de/tools/msys/)

Last edited by nevcairiel; 27th December 2016 at 19:25.
nevcairiel is offline   Reply With Quote
Old 14th August 2010, 16:38   #3  |  Link
b66pak
Registered User
 
b66pak's Avatar
 
Join Date: Aug 2008
Location: The Land Of Dracula (Romania - EU)
Posts: 934
thanks a lot...
_
__________________
if you ask a question and somebody give you the correct answer don't forget to leave a "thank you" note...
Visit The Land Of Dracula (Romania - EU)!
b66pak is offline   Reply With Quote
Old 14th August 2010, 19:07   #4  |  Link
pdanpdan
Registered User
 
Join Date: Apr 2005
Location: Bucharest, Romania
Posts: 145
I only tested it for mkv with h264 video and multiple AAC audio tracks and subtitle tracks. Everything seems to work fine, except:
I found 2 problems
- the track title is not displayed anywhere (even though this filter shows much more info than any other)
- in mkv files, the default track flag is not respected
And a request:
- can you please implement stream selection order priority by language list?

Thank you,
PDan
pdanpdan is offline   Reply With Quote
Old 14th August 2010, 19:16   #5  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Smart stream selection is not implemented yet, but that will be done, including configurable language priorities and default/forced flags.
Name of the streams is one thing on my list as well, right now the whole stream naming just dumps the descriptive codec info from libavformat into there.
nevcairiel is offline   Reply With Quote
Old 14th August 2010, 23:30   #6  |  Link
liquidskin76
Registered User
 
liquidskin76's Avatar
 
Join Date: Dec 2008
Posts: 233
Hey nev,

About to test now. Can't wait to see the finished splitter and see it in mpc-hc!

Are mkv chapters supported yet? Also, how about sup and sub/idx subtitles?

Thanks

Last edited by liquidskin76; 14th August 2010 at 23:43.
liquidskin76 is offline   Reply With Quote
Old 15th August 2010, 08:45   #7  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Chapters are not yet supported, but thats one of the things to do next.
For the subtitles, well, try it. If it works, yay, if it doesnt, send me a sample =)
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 18:08   #8  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
LAVFSplitter 0.3
- Added Chapter support
- Improved stream descriptions
- 64-bit support

Download: 32-bit & 64-bit
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 18:16   #9  |  Link
Sebastiii
Registered User
 
Join Date: Oct 2009
Location: France
Posts: 615
Thanks Nev
__________________
HTPC : i7 920 6Go Win10(x64) / Nvidia 1050Ti / P6T Deluxe / Harman-Kardon AVR-355.
Sebastiii is offline   Reply With Quote
Old 15th August 2010, 19:28   #10  |  Link
_xxl
ffdshow user
 
_xxl's Avatar
 
Join Date: Oct 2005
Location: Romania
Posts: 818
Great work! LAVFSplitter could be added to MPC-HC?
_xxl is offline   Reply With Quote
Old 15th August 2010, 19:35   #11  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Its the plan to replace the majority of the internal splitters in MPC-HC at some point when its more complete.
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 19:45   #12  |  Link
_xxl
ffdshow user
 
_xxl's Avatar
 
Join Date: Oct 2005
Location: Romania
Posts: 818
I had just tested LAVFSplitter 0.3 with MPC-HC 2235 (VS 2008 build) and some random XVID in avi sample. Internal avi splitter is disabled. MPC-HC stops responding when I try to exit, also it takes a lot time to seek. Thanks for your work!
_xxl is offline   Reply With Quote
Old 15th August 2010, 19:53   #13  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Are you sure its really using it? AVIs have generally always worked rather good.
You can check the filters menu, if the last entry has a sub menu that shows streams, its probably active, as no other avi splitter does that.
Also, x86 oder x64?
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 19:58   #14  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Exiting news, thanks a lot. Would it be possible to configure which formats it should handle?
stax76 is offline   Reply With Quote
Old 15th August 2010, 19:59   #15  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Yes, that will be in there as well. I'll build a typical property page for the filter where you can select what formats it should be handling, and some other options for preferred languages, and similar things.
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 20:00   #16  |  Link
tetsuo55
MPC-HC Project Manager
 
Join Date: Mar 2007
Posts: 2,317
_xxl, please provide a sample too if you can

@all, think of this as a full replacement with all the features the current splitters have.
But its only a begin, and obviously not everything is in there yet.
__________________
MPC-HC, an open source project everyone can improve. Want to help? Test Nightly Builds, submit patches or bugs and chat on IRC
tetsuo55 is offline   Reply With Quote
Old 15th August 2010, 21:21   #17  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,336
Quote:
Originally Posted by _xxl View Post
I had just tested LAVFSplitter 0.3 with MPC-HC 2235 (VS 2008 build) and some random XVID in avi sample. Internal avi splitter is disabled. MPC-HC stops responding when I try to exit, also it takes a lot time to seek. Thanks for your work!

I found the issue why it was causing MPC-HC to freeze on shutdown, fixed for next version, sorry about that.
Still wondering why your seeking was slow. Seems pretty good for AVIs for me.

Last edited by nevcairiel; 15th August 2010 at 21:29.
nevcairiel is offline   Reply With Quote
Old 15th August 2010, 21:47   #18  |  Link
STaRGaZeR
4:2:0 hater
 
Join Date: Apr 2008
Posts: 1,302
Looks awesome, keep pushing it!
__________________
Specs, GTX970 - PLS 1440p@96Hz
Quote:
Originally Posted by Manao View Post
That way, you have xxxx[p|i]yyy, where xxxx is the vertical resolution, yyy is the temporal resolution, and 'i' says the image has been irremediably destroyed.
STaRGaZeR is offline   Reply With Quote
Old 15th August 2010, 21:53   #19  |  Link
Underground78
Registered User
 
Underground78's Avatar
 
Join Date: Oct 2004
Location: France
Posts: 567
Quote:
Originally Posted by tetsuo55 View Post
@all, think of this as a full replacement with all the features the current splitters have.
But its only a begin, and obviously not everything is in there yet.
Really interesting ! I understand why all the slitters related bug reports have been assigned to nevcairiel now ...

I will test if the issues I reported earlier about the MPEG TS Splitter are fixed with the new splitter. Thank you very much for your work nevcairiel !
Underground78 is offline   Reply With Quote
Old 15th August 2010, 22:47   #20  |  Link
STaRGaZeR
4:2:0 hater
 
Join Date: Apr 2008
Posts: 1,302
Only 1 pin per stream type (video, audio, subs) + stream switching = win
__________________
Specs, GTX970 - PLS 1440p@96Hz
Quote:
Originally Posted by Manao View Post
That way, you have xxxx[p|i]yyy, where xxxx is the vertical resolution, yyy is the temporal resolution, and 'i' says the image has been irremediably destroyed.
STaRGaZeR 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 12:57.


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