View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
14th August 2010, 14:55
LAV Filters 0.81 (released 2026/01/12)
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 (http://www.avsforum.com/avs-vb/showthread.php?t=1357375) (by mindbomb)
Watching H.264 videos using Compute Unified Device Architecture (CUDA) (http://imouto.my/watching-h264-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/11. 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.81: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.81.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.81.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.81-x64.zip)
Download 3D Plugin: 32-bit (https://files.1f0.de/lavf/plugins/libmfxsw32-v3.7z) & 64-bit (https://files.1f0.de/lavf/plugins/libmfxsw64-v3.7z)
Debug Symbols: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.81-symbols.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.81-x64-symbols.zip)
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.81 - 2026/01/12 - Release Notes (https://forum.doom9.org/showthread.php?p=2027092#post2027092)
LAV Splitter
- NEW: Support for APV (Advanced Professional Video) video streams
- Fixed: VVC in MP4 without CTTS did not play properly
- Fixed: AV1 streams with invalid metadata did not get handled correctly
LAV Video
- NEW: Support for decoding APV (Advanced Professional Video)
- Changed: Re-designed pixel format mapping to be based on a heuristic rather then hard-coded, improving support for rarely-used formats
- Fixed: Deinterlacing of 4:2:2 videos was broken in 0.80
LAV Audio
- Fixed: Bitstreaming TrueHD from Blu-rays with seamless branching could result in out-of-sync audio, or a noticeable gap
For the full changelog, see CHANGELOG.txt (https://github.com/Nevcairiel/LAVFilters/blob/master/CHANGELOG.txt) in the download!
nevcairiel
14th August 2010, 14:55
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/)
b66pak
14th August 2010, 16:38
thanks a lot...
_
pdanpdan
14th August 2010, 19:07
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
nevcairiel
14th August 2010, 19:16
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.
liquidskin76
14th August 2010, 23:30
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
nevcairiel
15th August 2010, 08:45
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
15th August 2010, 18:08
LAVFSplitter 0.3
- Added Chapter support
- Improved stream descriptions
- 64-bit support
Download: 32-bit (http://files.1f0.de/lavf/LAVFSplitter-0.3.zip) & 64-bit (http://files.1f0.de/lavf/LAVFSplitter-0.3-x64.zip)
Sebastiii
15th August 2010, 18:16
Thanks Nev :)
_xxl
15th August 2010, 19:28
Great work! LAVFSplitter could be added to MPC-HC?:thanks:
nevcairiel
15th August 2010, 19:35
Its the plan to replace the majority of the internal splitters in MPC-HC at some point when its more complete. :)
_xxl
15th August 2010, 19:45
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!
nevcairiel
15th August 2010, 19:53
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?
stax76
15th August 2010, 19:58
Exiting news, thanks a lot. Would it be possible to configure which formats it should handle?
nevcairiel
15th August 2010, 19:59
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.
tetsuo55
15th August 2010, 20:00
_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.
nevcairiel
15th August 2010, 21:21
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.
STaRGaZeR
15th August 2010, 21:47
Looks awesome, keep pushing it!
Underground78
15th August 2010, 21:53
@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 ! :)
STaRGaZeR
15th August 2010, 22:47
Only 1 pin per stream type (video, audio, subs) + stream switching = win ;)
STaRGaZeR
16th August 2010, 01:12
Impressions after some light testing:
- SSA, ASS, PGS subtitles don't work (in MKV)
- Stuttering when opening videos, disappears after a few seconds. Sometimes it happens after a seek too
- MKV default flags are ignored
- MP4 files hang MPC without displaying a single frame
- Needs an option for "No subtitles", like Haali
ffdshow as decoder.
nevcairiel
16th August 2010, 07:13
- SSA, ASS, PGS subtitles don't work (in MKV)
Subtitles haven't been tested extensively, i know that TEXT subtitles work, although i thought i saw PGS work as well.
I don't usually watch stuff with subtitles, do you have a sample with ASS and/or SSA? They seem to only really be used with animes, some area of videos that i don't watch and/or have at all.
Edit: nvm, i found a ssa sample on some matroska page.
- Stuttering when opening videos, disappears after a few seconds. Sometimes it happens after a seek too
I saw that too occasionally. I might have an idea whats causing this and how to fix it, but i'm not 100% sure. It never was really extreme for me that it would really annoy me. I'll keep an eye on it.
- MKV default flags are ignored
Like i said in an earlier post, smart selection of streams is not implement yet. It'll just pick the first stream of every type.
Once thats implemented it'll respect default and forced flags in addition to language priorities. Hopefully everything in a sane manner. ;)
- MP4 files hang MPC without displaying a single frame
What video codec? What audio codec? Sample? :)
I tested on some MP4 with h264 video, not sure what audio codec was in there, though.
- Needs an option for "No subtitles", like Haali
Indeed, i wanted to get this in the last version, but it somehow slipped by.
Thanks for your testing.
liquidskin76
16th August 2010, 08:11
- Stuttering when opening videos, disappears after a few seconds. Sometimes it happens after a seek too
I can confirm this one too. Stuttering can last as long as a few seconds. That and the crash when closing bug are the only 2 bugs i've come across so.
DTS-HD appears to be working fine!
All my tests are limited to mkv/h264.
STaRGaZeR
16th August 2010, 13:00
Subtitles haven't been tested extensively, i know that TEXT subtitles work, although i thought i saw PGS work as well.
I don't usually watch stuff with subtitles, do you have a sample with ASS and/or SSA? They seem to only really be used with animes, some area of videos that i don't watch and/or have at all.
I was using ffdshow subtitle filter. Indeed plain text subs are working. The problem with ASS and PGS may be that the splitter it's not correctly formatting the output data. I guess this because when changed to ASS/PGS tracks I get ocasional text on screen, like ·"·"$·"$%"!"!·"$&&/((, with the same font, location, etc. Looks like ffdshow still thinks it's receiving plain text subs.
Like i said in an earlier post, smart selection of streams is not implement yet. It'll just pick the first stream of every type.
Once thats implemented it'll respect default and forced flags in addition to language priorities. Hopefully everything in a sane manner. ;)
Yup, just testing the stuff. Haali looks like a great reference for this (without its bugs :p)
What video codec? What audio codec? Sample? :)
I tested on some MP4 with h264 video, not sure what audio codec was in there, though.
Sure, sample here (http://www.mediafire.com/?6zbphx7h6rzr6vb). All of them are H.264+AAC, your typical MP4 file. It's 5 years old, but newer ones behave the same here.
Oh and another suggestion for when you implement the property page, a bitrate graph would look great, I've always found Haali's one very informative.
This splitter is going to be a bomb when it's finished ;)
hoborg
16th August 2010, 13:04
Hm, i got cannot register message - missing module.
Should this splitter be working on WinXP?
BTW, there is no problem to register MPC-HC filters...
nevcairiel
16th August 2010, 13:05
You need the VS2010 runtime (link in the first post), but yes, its working on my work laptop which runs XP.
hoborg
16th August 2010, 13:08
You need the VS2010 runtime (link in the first post), but yes, its working on my work laptop which runs XP.
Oh, i missed that...
:thanks:
EDIT:
Here is my quick tests:
Nearly all of my video samples will freeze Graphstudio on end of video or if i stop playback, some videos freeze durning playback.
I can post samples if interested.
RealMedia seems to be not supported.
Do you have plan to add support for pure audio formats too (like FLAC, DTS, MPC, AC3)?
But great work, even lot of MOV files are now splitted corectly :)
nevcairiel
16th August 2010, 13:49
The freeze issue will be fixed in the next version. And yeah, real is a messy format, while it seems to detect the streams just fine, i cannot get it to connect to the realmedia decoders. Silly things!
I'm not sure how pure audio formats behave right now. I do assume in some places that i have a video stream, or at least i think i do. I'll check that. :)
I'll try to fix some subtitle issues and push out a new version later today, so the freeze bug is no longer annoying everyone.. :)
roozhou
16th August 2010, 14:32
@nevcairiel
Why is there a 4M+ avcodec-52.dll in your package? It is as big as libavcodec.dll in ffdshow. Can you remove some unused codecs and optimized assembly functions for a smaller package?
nevcairiel
16th August 2010, 14:42
Not 100% sure what happens when i remove codecs, i believe avformat uses them to probe input formats. Sure, its a bit wasted space, but ultimately the goal is to integrate this into MPC-HC, which already has avcodec.
Its not something i really worry about at this point in time. Maybe later on i can look into slimming this down.
tiben20
16th August 2010, 18:22
for the build size it might be the --enable-runtime-cpudetect that make the binary so big. I'm not sure if its really needed but there only one way to figure it out :P
nevcairiel
16th August 2010, 18:43
I wasn't sure what would happen if i compile it on my i7 and then someone runs it on a cpu without sse4 for example, so i turned it on. I could of course turn all the optimizations off, i don't think avformat uses them much, thats more of a codec thing.
nevcairiel
16th August 2010, 19:22
LAVFSplitter 0.4
- Improved SSA Subtitle support
- Fixed freeze-on-stop issue
Download: 32-bit (http://files.1f0.de/lavf/LAVFSplitter-0.4.zip) & 64-bit (http://files.1f0.de/lavf/LAVFSplitter-0.4-x64.zip)
Please test, especially subtitles! Thanks! :)
Sadly the "No Subtitles" option once again eluded me, but i wanted to get this one out today because of the freeze issue. Next version, i promise!
roozhou
16th August 2010, 19:26
@nevcairiel
CPU type is determined by -march in --extra-cflags. I use "-march=athlon-xp -mfpmath=sse" and it will run on Pentium3, Athlon-xp and all later CPUs. "--disable-encoders --disable-runtime-cpudetect --disable-asm" will greatly reduce binary size.
nevcairiel
16th August 2010, 19:54
@nevcairiel
CPU type is determined by -march in --extra-cflags. I use "-march=athlon-xp -mfpmath=sse" and it will run on Pentium3, Athlon-xp and all later CPUs. "--disable-encoders --disable-runtime-cpudetect --disable-asm" will greatly reduce binary size.
Thanks! I already had encoders disabled, and turning off asm and runtime-cputdetect made the files about 10% smaller again. Its still a total of over 4MB though.
STaRGaZeR
16th August 2010, 20:07
LAVFSplitter 0.4
- Improved SSA Subtitle support
- Fixed freeze-on-stop issue
Download: 32-bit (http://files.1f0.de/lavf/LAVFSplitter-0.4.zip) & 64-bit (http://files.1f0.de/lavf/LAVFSplitter-0.4-x64.zip)
Please test, especially subtitles! Thanks! :)
Sadly the "No Subtitles" option once again eluded me, but i wanted to get this one out today because of the freeze issue. Next version, i promise!
Freeze-on-stop fixed, SSA/ASS working fine now :)
However, there's still something missing: fonts included in MKV. SSA/ASS subs that use fonts included in the MKV are displayed in the default subtitle renderer font, which is in most cases Arial.
nevcairiel
16th August 2010, 20:10
However, there's still something missing: fonts included in MKV. SSA/ASS subs that use fonts included in the MKV are displayed in the default subtitle renderer font, which is in most cases Arial.
Yeah, about that..
How do i tell the subtitle renderer about that font, exactly?
What do other splitters do? Just install the font system-wide?
Also, i would need a sample with this, as i don't have one.
BTW:
Can you test PGS as well? It seemed to work fine on my sample.
JarrettH
16th August 2010, 21:20
Can't wait to see this implemented :thanks:
STaRGaZeR
16th August 2010, 22:10
Yeah, about that..
How do i tell the subtitle renderer about that font, exactly?
What do other splitters do? Just install the font system-wide?
Also, i would need a sample with this, as i don't have one.
BTW:
Can you test PGS as well? It seemed to work fine on my sample.
Dunno, but they don't install the font, or at least it isn't in Windows/Fonts after or during playback.
Famous sample in this post: http://forum.doom9.org/showthread.php?p=1209289#post1209289
The issue with PGS is interesting. I have a MKV with SRT and PGS, the first track is SRT. If I play it, SRT subs look good. But, if after displaying a single SRT line I switch to the PGS track, I get this: http://img84.imageshack.us/img84/9356/avatarmq.png. Now, if just after opening the sample I switch to the PGS track, PGS subs look fine. But again, if I switch to the SRT track, nothing will appear. Stream switching bug here it seems.
Sample here: http://www.mediafire.com/?ucid8fzk282jm8b
Underground78
16th August 2010, 22:54
Hello,
I've started to test the new splitter with this the sample available in this ticket : [MPEG PS/TS/PVA Splitter] Switching between audio tracks is not immediate (http://sourceforge.net/apps/trac/mpc-hc/ticket/327). The bug report is also valid with LAVFSplitter 0.4, switching between the audio tracks takes much more time than it does when playing with VLC.
There is also a new bug that appears with the same sample (TS - MPEG2 - ffdshow) : seeking is not possible.
Hope it will help improving this promising new splitter. :)
Ger
16th August 2010, 23:06
This thread is very welcome news. :thanks:
I've prepared a batch of 6 TS samples recorded from different Scandinavian DVB channels and one feed, highlighting a few issues. Not all issues are directly splitter related, but I thought I'd include everything for reference. May be useful.
In addition to the samples, there are some screenshots included from other players (VLC and DVBViewer) explaining what is correct and what is wrong.
There is also a text file with further explanations of common issues and of each individual sample, with results from my tests with various splitters/decoders/players.
Some bugs and missing features are also pointed out in the internal MPC-HC and ffdshow H264 DXVA decoders and the MPC-HC MPEG-2 decoder and DVB-subtitle renderer (and even a few issues in Haali splitter, VLC and DVBViewer). If other MPC-HC devs (or the project manager) wants to download the samples to look at these decoder/subtitle issues, please do so. I have not posted any of these issues (including the splitter issues) to the bug tracker yet (I just finished writing this up and recording samples today). So unless someone else have already posted these bugs with different samples, they are not there. I will try to add them there eventually, but I don't know yet when I'll have time for that. So feel free to grab the samples and/or add your own bug reports/tickets in the meantime.
All TS recordings seem to have one important issue in common with the new LAVFSplitter: The duration is wrong (example: the HD sample is reported as over an hour long, but is just over a minute in reality) and the MPC-HC slider doesn't work. Probably related issues.
Most other splitter issues are subtitle related, one is audio related, and there are some aspect ratio issues.
I haven't really tested the responsiveness (when skipping etc.) compared to Haali/Gabest splitters yet because of the freezing issues in v0.3, and the fact that the slider isn't working yet, so I'll save that for another day.
Sharebee 145 MB multipart rars: Part1 (http://sharebee.com/660b792b) - Part2 (http://sharebee.com/370dd3be) - Part3 (http://sharebee.com/d4bbe007)
or
Megaupload single 340 MB file: TS-Samples-2010-08-18.rar (http://www.megaupload.com/?d=YOOL90PV)
All LAVFSplitter tests are with version 0.3. BTW thanks for fixing the freeze issue in 0.4 which was admittedly a little annoying during the testing. :)
Anyway, good luck with the new splitter. Hopefully everything you need to know about the samples is explained in the screenshots and the text file. Feel free to ask if it isn't or if you need more samples/testing.
Edit: Didn't see Underground78's post when i posted, but it seems to address some of the same issues.
Edit2: Made a copy/paste mistake in the text file. The test results for the 4:2:2 sample was wrong (that particular sample is not splitter related or aspect ratio related - only a comparison of MPEG-2 decoders, if they support MPEG-2_422 or not). Fixed text file (only) here (http://www.mediafire.com/?f6q3658gfa3z68j). Will also re-upload a full sample pack with the fixed text file, but it will take a few hours.
Edit3: Replaced the single rar zshare file with a multipart rar on Sharebee (fixed text included). Also a single file Megaupload alternative.
nevcairiel
17th August 2010, 07:32
Now, if just after opening the sample I switch to the PGS track, PGS subs look fine. But again, if I switch to the SRT track, nothing will appear. Stream switching bug here it seems.
This is weird. The splitter does send the new media type in the next packet after the switch, which the filter should pick up and act accordingly. I'll test this, i don't think i actually had a sample with different sub types before, so thanks!
[MPEG PS/TS/PVA Splitter] Switching between audio tracks is not immediate (http://sourceforge.net/apps/trac/mpc-hc/ticket/327). The bug report is also valid with LAVFSplitter 0.4, switching between the audio tracks takes much more time than it does when playing with VLC.
Fixed this, a silly bug was breaking proper audio stream switching. It'll now stop the graph and reconnect the audio filter, so that media type changes are handled properly. This will however cause a brief interruption of playback - but then, you don't change audio streams while watching, you change them once and then watch. :)
For the broken seeking, i don't know.
If the duration is reported wrong, its a bug in libavformat itself, and would explain the broken seeking.
I can imagine this happening with files that were cut out of a big file. Are your samples out of a file that had the original length before, by any chance?
Underground78
17th August 2010, 07:59
Fixed this, a silly bug was breaking proper audio stream switching. It'll now stop the graph and reconnect the audio filter, so that media type changes are handled properly. This will however cause a brief interruption of playback - but then, you don't change audio streams while watching, you change them once and then watch. :)
Thank you for looking at this !
For the broken seeking, i don't know.
If the duration is reported wrong, its a bug in libavformat itself, and would explain the broken seeking.
I can imagine this happening with files that were cut out of a big file. Are your samples out of a file that had the original length before, by any chance?
Well all the TS files I deal with are DVB-T captures but MPC-HC internal splitter does report the correct length for the sample #327 for example.
hoborg
17th August 2010, 08:01
Updated with 0.8
Hi.
i did some more test with 0.8.
Some FLV cannot be split, they have blackscreen or play at wrong speed (noticed if they are VBR based) All of them working fine using Cyberlink FLV spliter, VBR problem can be reproduced if MPC FLV splitter is in use.
Some MPG files not working corectly, there are coruption on begin or they fail to start playback (no such problems when using "MPC - Mpeg Splitter (Gabest)"
Coruption:
http://hobring.esero.net/saf/lavf/bugs0.7/mpg.coruption.jpg
All problematic samples can be downloaded here (http://hobring.esero.net/saf/lavf/bugs0.7/).
STaRGaZeR
17th August 2010, 11:53
This is weird. The splitter does send the new media type in the next packet after the switch, which the filter should pick up and act accordingly. I'll test this, i don't think i actually had a sample with different sub types before, so thanks!
Do you stop the graph and reconnect when switching subtitles like you do now with audio? That would ensure proper handling of the new format. Haali does this for all kind of tracks right?
nevcairiel
17th August 2010, 12:18
Do you stop the graph and reconnect when switching subtitles like you do now with audio? That would ensure proper handling of the new format. Haali does this for all kind of tracks right?
I tried to do this, but there were complications, so currently its not doing this. Its basically doing what the gabest Mpeg splitter does, it just sends the new pin media type and starts sending new data.
Its on my list to try to get to work again.
STaRGaZeR
17th August 2010, 12:32
I think that's the best solution. Changing the media type and wait for the decoder to adapt itself is just asking for trouble. It could work with one filter but not with another. Thanks for looking into it :)
Ger
17th August 2010, 12:53
For the broken seeking, i don't know.
If the duration is reported wrong, its a bug in libavformat itself, and would explain the broken seeking.
I can imagine this happening with files that were cut out of a big file. Are your samples out of a file that had the original length before, by any chance?
All six samples I posted are recorded "as is" from regular TV-channels (plus one 4:2:2 feed), either using Dreambox or DVBViewer. None of them are cut or treated in any way after recording. So they should be "run of the mill" TS files in that sense.
All are reported as zero-length in MPC-HC+LAVFsplitter 0.4, except the HD sample which is reported as over an hour long when it's actually just over a minute.
The slider does work on the HD sample, but is still wrong because it thinks the clip is much longer than it is, so yes, I'm pretty sure the slider will fix itself for all samples once the duration is corrected. Feel free to use my samples as you wish, if you want to pass some upstream to libavformat devs.
Gabest/Haali/Mediainfo all get the duration right, but Haali also gets other stuff (ie. aspect ratio) right more often than Gabest. Haali has a default setting set to scan 45000 TS packets, which seems to work well, but don't how relevant that is.
nevcairiel
17th August 2010, 14:17
I think that's the best solution. Changing the media type and wait for the decoder to adapt itself is just asking for trouble. It could work with one filter but not with another. Thanks for looking into it :)
Well, audio is a bit different in that regard, as the audio decoder filter can change between streams. So i delete it and let the GraphBuilder rebuild the graph.
Now with subtitles and ffdshow.. I can't do the same, as ffdshow is also the video decoder, and deleting that one isn't working out too good. But then, i don't really have to, as basically all subtitle renderers i know are used for all kinds of subtitles. So i'll see if i can just disconnect the pin and cause a reconnect that will make the filter initialize itself again without doing the full delete magic.
Sadly this area isn't really covered by any documentation i found, and all other splitters that seem to handles this properly are closed source, so bear with me while i try different approaches. =)
nevcairiel
17th August 2010, 16:58
I found the problem with TS file durations, was kinda a "oops" on my side, heh. :)
And like expected seeking is working fine with the proper durations.
@Ger:
Man that zSHARE page is a mess.
Still downloading.... previously it just stopped at 20% or so and i had to restart. If it does that again, screw it =P
How about splitting the files and uploading to rapidshare or something?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.