View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
HomeY_
9th February 2011, 20:46
These m2ts files with DTS-HD MA were from Blurays.
Can anyone also reproduce this?
Bat
I can't. I've been testing with Blu-rays and all movies with DTS-HD output LPCM here.
Sebastiii
9th February 2011, 21:18
I'm trying to figure out the video-does-not-start issue some people keep reporting.
Can someone reproduce it 100%?
If yes:
- What player?
- What decoders?
- What renderers?
- Any other filters in the graph?
- Sample it happens with?
Hi,
- Player Mediaportal.
- FFDShow Video Decoder / Microsoft DTV Video Or other.
- EVR Renderer.
- Screenshot link (Audio Switcher or Not is the same).
To make video appear -> Needed Seek or Pause/Play or Switch Audio Stream. (it seems related arround Audio Stream inside Lav but i'm not sure @ 100%)
Sometimes it's start or start after a few second between 5 to 60.
With MPC Splitter (MKV or MPEG) -> all always start
Also all is always working in Graphstudio.
Really hard to find why :(
Seb.
Screenshot1 (http://img227.imageshack.us/img227/9947/mplavnoscreen.jpg)
Screenshot1 (http://img706.imageshack.us/img706/5873/mplavnoscreen2.jpg)
mindbomb
10th February 2011, 01:54
I've also noticed that m2ts files with DTS-HD MA tracks spllitted by LAVSplitter and decoded by LAVadio just outputs bursts of static noise. I don't know if MKV with DTS-HD MA also does the same, because I don't have any file that way.
But I do know that MKV with regular DTS plays ok.
These m2ts files with DTS-HD MA were from Blurays.
Can anyone also reproduce this?
Bat
are you sure you were using lavfsplitter?
I think i experienced this with the mpc internal splitter.
jmone
10th February 2011, 06:21
Did some testing of the lavc audio decoder and again - looks like a bunch of good work that has resulted in a solid decoder. The following were played from a bunch of different test files in ACI, TS, M2TS, MKV, and MPG containers and the tracks all played well with good lipsync. The following outlines the original Audio Codec --> lavc output (as reported by Reclock). The only filters used in the test were lavf Source Filter --> ffdshow Video Decoder, lavc Audio Decoder --> madVR Video Renderer, Reclock Audio Renderer.
48KHz/16Bit AC3 --> 48KHz PCM IEEE Float
48KHz True HD --> 48KHz/24Bit PCM
48KHz/20Bit DTS --> 48KHz PCM IEEE Float
48KHz/24Bit DTSMA --> 48KHz PCM IEEE Float
96KHz/24Bit DTSMA --> 48KHz PCM IEEE Float
48KHz/16Bit PCM --> 48KHz/16Bit PCM
48KHz/24Bit PCM --> 48KHz/24Bit PCM
96KHz/24Bit PCM --> 96KHz/24Bit PCM
44.1KHz/16Bit FLAC --> 44.1KHz/16Bit PCM
48KHz/24Bit FLAC --> 48KHz/24Bit PCM
44.1KHz/16Bit MP2 --> 44.1KHz/16 Bit PCM
44.1KHz MP3 --> 44.1KHz PCM IEEE Float
48KHz/4Bit ADPCM --> 48KHz/16 Bit PCM
From these results I can conclude that the lavc audio decoder is capable of outputting high bit rate (eg 96khz) and sample rate (24 bit) multi channel PCM streams. What I am unsure of is where the output is IEEE Float what internal bit depth was used AND if if the full DTS-MA was decoded or just the DTS "Core". If it is only decoding the Core (which I would expect as to my knowledge there is no open source DTS-MA decoder), can we have an option to disable this support so we can load instead the Arcsoft HD Audio decoder to handle DTS-MA?
Thanks
Nathan
jmone
10th February 2011, 06:45
Thanks - I'll do some more testing and report back. I'm using JR Media Center as my Direct Show player and I can select what combination of filters for it to try to build a graph with. With a quick play, I'm getting some working really well, some where it is not connecting, and some where it is hanging. I'll give a fuller update tommorow with luck.
FYI - If I load DirectVobSub the subs stay on. They only "disapper" when just using the subs option in FFDSHOW.
nevcairiel
10th February 2011, 08:06
I might have figured out the cause of the videos not starting. The MPC-HC splitters all have some funny code to interpolate timestamps when none exist, and i didnt implement anything like that yet. The files i tested all seem to have no proper timestamps on the first few video frames, thus causing the renderer to fail, as it doesnt know when to show them.
Going to investigate some more.
From these results I can conclude that the lavc audio decoder is capable of outputting high bit rate (eg 96khz) and sample rate (24 bit) multi channel PCM streams. What I am unsure of is where the output is IEEE Float what internal bit depth was used AND if if the full DTS-MA was decoded or just the DTS "Core". If it is only decoding the Core (which I would expect as to my knowledge there is no open source DTS-MA decoder), can we have an option to disable this support so we can load instead the Arcsoft HD Audio decoder to handle DTS-MA?
It only decodes the Core (as you can see, its the only format in your test that comes out as lower sample rate as the input, core only has 48khz). There will be options in the future to disable certain formats.
All the decoders outputting float actually decode in full 32-bit float, there is no conversion being done.
Most lossy decoders actually work internally in float, its just a matter of disabling the conversion to int16 that ffmpeg has setup for all codecs. Lossless decoders (TrueHD, FLAC) decode in integer, as you can see in the output as well.
I've also noticed that m2ts files with DTS-HD MA tracks spllitted by LAVSplitter and decoded by LAVadio just outputs bursts of static noise. I don't know if MKV with DTS-HD MA also does the same, because I don't have any file that way.
But I do know that MKV with regular DTS plays ok.
These m2ts files with DTS-HD MA were from Blurays.
Can anyone also reproduce this?
Bat
I know that AC3Filter does not like DTS-HD MA streams, or at least did not use to like them. The MPC-HC splitters had some ugly code to rip out the HD extensions. I don't think its my job to fix broken decoders, so i don't have that.
Are you sure AC3Filter didnt sneak into the playback somewhere?
jmone
10th February 2011, 09:12
I might have figured out the cause of the videos not starting. The MPC-HC splitters all have some funny code to interpolate timestamps when none exist, and i didnt implement anything like that yet. The files i tested all seem to have no proper timestamps on the first few video frames, thus causing the renderer to fail, as it doesnt know when to show them.
Going to investigate some more.
The thing that gets me is is you go a seek back to the begining these "odd" files play.
It only decodes the Core (as you can see, its the only format in your test that comes out as lower sample rate as the input, core only has 48khz). There will be options in the future to disable certain formats.
Great news!
Thanks
Nathan
jmone
10th February 2011, 09:32
Dumb Q - you have a ffmpeg based spliiter, AV, and you by any change working on a Direct Show Video Decoder as well?
bjd
10th February 2011, 10:59
I might have figured out the cause of the videos not starting.
Appreciate the time and effort going on into developing these excellent filters further
I've also noticed that m2ts files with DTS-HD MA tracks spllitted by LAVSplitter and decoded by LAVadio just outputs bursts of static noise.
Tried on several .m2ts files and cannot replicate.
Sebastiii
10th February 2011, 11:34
I might have figured out the cause of the videos not starting. The MPC-HC splitters all have some funny code to interpolate timestamps when none exist, and i didnt implement anything like that yet. The files i tested all seem to have no proper timestamps on the first few video frames, thus causing the renderer to fail, as it doesnt know when to show them.
Going to investigate some more.
Hi :)
It's really nice,
Thanks,
Seb
nevcairiel
10th February 2011, 13:50
Dumb Q - you have a ffmpeg based spliiter, AV, and you by any change working on a Direct Show Video Decoder as well?
Not quite yet. Maybe one day i will. But video decoding is much more complex then audio decoding. ;)
bjd
10th February 2011, 14:01
can we have an option to disable this support so we can load instead the Arcsoft HD Audio decoder to handle DTS-MA?
If you are using Mpc-Hc
http://forum.doom9.org/showthread.php?p=1475512#post1475512
nevcairiel
10th February 2011, 16:32
I managed to fix two seperate issues that caused some files not to play.
One was related to the seeking code. The seek logic preferred to seek to a keyframe, but in some files seeking to time 0 does not work when the first frame starts with a slightly different time, but ffmpeg didn't set the proper start time. This seemed to primarily affect AVI files.
The second issue was treating timestamps of the value 0 as "broken" and nulling them out. Now if a file happens to start with exactly time 0 (not many do, actually), it would null this value out, and the renderer would receive an invalid time.
I'll test some more samples, maybe there are more bugs in there somewhere.
nevcairiel
10th February 2011, 17:04
LAV DirectShow Filters 0.14
General
- The project and filters have been renamed slightly for consistency
LAV Splitter
- The settings have been moved to a different place in the Registry. You will need to re-apply them.
- Improved MPEG-TS duration calculations.
- The settings will now always be properly saved and loaded.
- Disabled the limit of 20 Streams per file.
- Fixed two seperate issues that caused files to not start playing.
LAV Audio Decoder
- Property Page for Configuration and Status has been added
- Dynamic Range Compression is now off by default, but configurable.
- Media Type creation has been improved, fixes filter connection issues.
- Processing of UINT8 Samples has been fixed.
- Fixed a crash with some Audio codecs.
- Fixed Channel Order for 7.1 Streams
- Increased the decoders Merit
- Added support for decoding QT PCM
Known issues:
- TrueHD in m2ts files cannot be decoded by LAV Audio when using the MPC-HC internal MPEG Splitter. (This will most likely never be fixed, the splitter is just doing it wrong).
Download: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.14.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.14-x64.zip)
First off, like mentioned above:
The registry key for LAVSplitter has changed. I did not bother to write some migration logic, because there is only like 3 settings. Remember to redo them if you had something specific in there.
Also, the files have been renamed again for consistency, so remember to register the filters again with the included .bat files. (I should do an installer, huh)
This version adds a property page for the Audio Decoder. The main purpose is to get some statistics displayed, which will hopefully help in debugging.
Additionally, you can configure DRC on there.
Requantization, and therefor disabling of certain output formats, has been moved to the next version.
I hope most of the "does not start" issues have been resolved!
bjd
10th February 2011, 17:07
:thanks::thanks:
Stebet
10th February 2011, 17:42
A small issue with the audio decoder.
It doesn't work with Expression Encoder and AC3, EE reports file type not supported.
EE works fine with AC3Filter and ffdshow (except for the fact that they don't always return exatcly the same data so 2-pass encoding using AC3 as source fails).
nevcairiel
10th February 2011, 17:52
A small issue with the audio decoder.
It doesn't work with Expression Encoder and AC3, EE reports file type not supported.
EE works fine with AC3Filter and ffdshow (except for the fact that they don't always return exatcly the same data so 2-pass encoding using AC3 as source fails).
I can only guess that the EE does not like float input from the decoder. To confirm this theory, you could try the following:
In ffdshow config, turn off every output format, except Floating Point, and see if it still connects. If it doesn't, thats it. ;)
Stebet
10th February 2011, 18:02
Does the audio filter require ffdshow to be installed? Or am I misunderstanding something?
Also, another bug, and a rather serious one I think. There seems to be a big memory leak in the splitter for large MKVs.
Expression Encoder errored out pretty fast on a big 2 hour long 1080p MKV (H.264 video, AAC audio) with an out of memory error on the very first pass (I have 8GB ram, but EE is a 32bit process I think).
That does not happen with Haali's Matroska splitter (EE stays at around 400MBs)
adam777
10th February 2011, 18:03
Thanks for the new version, nevcairiel.
A small, cosmetic bug - properties tab (http://img27.imageshack.us/img27/7923/propg.png) should read "LAV Splitter", not "LAVFSplitter".
Ger
10th February 2011, 18:16
Yes, thanks indeed. I guess it's LAVS and LAVAD (or LAVA?) for short now then. ;)
All of my previously affected AVIs start normally now. :)
Don't have any mkv/other files with the black screen issue so I'll leave the feedback on that to someone else.
On another note, if you want another "rare material challenge", I do actually have a weirdly muxed mov (http://www.multiupload.com/UGKOVHFRU8) with a black screen issue, but that is not related to the newly fixed stuff. The issue in this case is that there are several video tracks listed (mjpeg, qtrle and mpeg4), and the one selected by default by the splitter (mjpeg) doesn't seem to contain any actual video, so manually changing to the highest bit rate video track (mpeg4) shows the video. I guess one or both of those listed low bit rate video tracks are actually text (shown when this file is started with the MPC-HC splitter).
Maybe the splitter can be changed to prioritize mpeg4 over mjpeg and qtrle as the default video track, or prioritize the highest bit rate video track if that makes more sense?
Another issue is that all tracks, audio, video and subs seem to be listed twice by LAVS. MediaInfo only lists them once.
FWIW, the header says "Compiled by Revver Inc. TMS v2.0", whatever that is.
Virtual_ManPL
10th February 2011, 18:29
LAVFSplitter 0.14 fixed bug #23 (https://github.com/Nevcairiel/LAVFSplitter/issues/closed#issue/23) and bug #29 (https://github.com/Nevcairiel/LAVFSplitter/issues/closed#issue/29)
Thank you nevcairiel !!! :devil:
Now can you look in bug #31 (https://github.com/Nevcairiel/LAVFSplitter/issues/#issue/31) ?
Looks similar, but it wasn't fixed in 0.14, odd...
Can someone confirm this also ?
bjd
10th February 2011, 18:35
Can confirm the .mkv LAV Splitter -> ffdshow Audio no play issue under Vista/XP I was experiencing in 0.14 is fixed :).
Ger
10th February 2011, 18:51
One more observation. All of the TS samples I've recorded myself still have the correct duration in 0.14, but the 44 second Portugese sample from here (http://sourceforge.net/tracker/index.php?func=detail&aid=3133869&group_id=86862&atid=581181) now gets a 20+ hours duration in LAVS 0.14.
I'm 99% sure the duration was correct in 0.13 with this sample, so I think this is a regression in 0.14.
EDIT: Unlike LAVS, MediaInfo actually lists several video tracks with this sample. Maybe that's the reason for the miscalculation.
EDIT2: Aha. The bug report says it's actually a recording of a full DVB-T mux, not just a single channel, so I guess there really are multiple video tracks in there then. They just don't appear in LAVS.
EDIT3: Sorry about the repeated edits. Yes, I can change between the video tracks with the MPC-HC splitter. Black screen on the last one, but I guess that could possibly be an encrypted channel.
jmone
10th February 2011, 20:39
nevcairiel - great stuff and thank you for the very timely response:
1) The file not starting issue is Fixed for me on Blu-muxs in MKV, M2TS etc
2) The Rename makes sence
3) The filter config page for the LAV Audio Splitter is great as we can see what is happening
I've got some more testing to do on:
- DVB-T recordings - seems to have some issues not playing (I see another post on this so I'll test properly and report back)
- Disappearing Subs when just using FFDSHOW but works fine with DirectVobSub
Thanks
Nathan
jmone
10th February 2011, 20:45
If you are using Mpc-Hc
http://forum.doom9.org/showthread.php?p=1475512#post1475512
Thanks for that (I'm actually using JR's Media Center). While I can change merits, I'm hoping for a selectable option to enable/disable support in the new filter diag box to keep it user friendly for the "average" user. That said....anything that works for now is a good thing as I can always document how to do it and post it on the JR forum!
The "real" answer of course if for a Clever Crow to workout the DTS-MA code....
nevcairiel
10th February 2011, 20:52
One more observation. All of the TS samples I've recorded myself still have the correct duration in 0.14, but the 44 second Portugese sample from here (http://sourceforge.net/tracker/index.php?func=detail&aid=3133869&group_id=86862&atid=581181) now gets a 20+ hours duration in LAVS 0.14.
I'm 99% sure the duration was correct in 0.13 with this sample, so I think this is a regression in 0.14.
EDIT: Unlike LAVS, MediaInfo actually lists several video tracks with this sample. Maybe that's the reason for the miscalculation.
EDIT2: Aha. The bug report says it's actually a recording of a full DVB-T mux, not just a single channel, so I guess there really are multiple video tracks in there then. They just don't appear in LAVS.
EDIT3: Sorry about the repeated edits. Yes, I can change between the video tracks with the MPC-HC splitter. Black screen on the last one, but I guess that could possibly be an encrypted channel.
Its probably multiple programs then. I do not handle those fully yet.
bjd
10th February 2011, 21:26
can also confirm the 32bit int DVD LPCM issue is also resolved, and reclock reports 24/96 :)
Plutotype
10th February 2011, 23:18
Hi newcairel,
:thanks:
It looks like the major bugs have been fixed. Regarding the splitter, the mpeg-ts file lenght problem is still present though, maybe you will look into it later.
I would like to ask, is it possible to assign some keyboard keys in MPC-HC to change the audio tracks at the splitter during the playback?
Thanks
Plutotype
pankov
11th February 2011, 00:17
nevcairiel,
I like the new filter/file names but I have to report that both uninstall_xxx.bat files are not working in the v0.14 zip. It's not a problem for me, cause I manually edited them and everything is fine now, but nevertheless it'll be nice to fix it for the next version
;)
jmone
11th February 2011, 02:54
nevcairiel, here is a link to two sample DVB-T recordings: http://www.megaupload.com/?d=3FB75RIH
1) "MPEG MPEG.TS": SD (576i PAL) Channel broadcasting MPEG Video and Audio. Plays fine with both Haali and LAV Splitter
2) "MPEG DD.TS": HD (1080i PAL) MPEG Video and DD Audio. Plays fine with Haali, but Crashes or Plays with no Audio / Video with LAV Splitter
Here is an example of the Filters used when it plays with no Audio or Video
Filter Graph Info:
Filter 'ReClock Audio Renderer'
CLSID: {9DC15360-914C-46B8-B9DF-BFE67FD36C6A}
Host: c:\program files (x86)\reclock\reclock.dll
Input Pin 'In'
Connected to pin 'Out' of filter 'ffdshow Audio Decoder'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx
Filter 'Enhanced Video Renderer'
CLSID: {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
Host: c:\windows\syswow64\evr.dll
Input Pin 'EVR Input0'
Connected to pin 'Out' of filter 'ffdshow Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_YUY2, Format type FORMAT_VideoInfo2
Input Pin 'EVR Input1'
Filter 'ffdshow Audio Decoder'
CLSID: {0F40E1E5-4F79-4988-B1A9-CC98794E6B55}
Host: c:\program files (x86)\ffdshow\ffdshow.ax
Output Pin 'Out'
Connected to pin 'In' of filter 'ReClock Audio Renderer'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx
Input Pin 'In'
Connected to pin 'Output' of filter 'J. River Media Proxy Audio'
Major type MEDIATYPE_Audio Sub type Unknown GUID Name: {00000055-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
Input Pin 'In2'
Filter 'ffdshow Video Decoder'
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Host: c:\program files (x86)\ffdshow\ffdshow.ax
Input Pin 'In'
Connected to pin 'Video Output 1' of filter 'Microsoft DTV-DVD Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_NV12, Format type FORMAT_VideoInfo2
Output Pin 'Out'
Connected to pin 'EVR Input0' of filter 'Enhanced Video Renderer'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_YUY2, Format type FORMAT_VideoInfo2
Input Pin 'In Text'
Filter 'J. River Media Proxy Audio'
CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
Host:
Input Pin 'Input'
Connected to pin 'Audio' of filter 'LAV Splitter'
Major type MEDIATYPE_Audio Sub type Unknown GUID Name: {00000055-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
Output Pin 'Output'
Connected to pin 'In' of filter 'ffdshow Audio Decoder'
Major type MEDIATYPE_Audio Sub type Unknown GUID Name: {00000055-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
Filter 'Microsoft DTV-DVD Video Decoder'
CLSID: {212690FB-83E5-4526-8FD7-74478B7939CD}
Host: c:\windows\syswow64\msmpeg2vdec.dll
Input Pin 'Video Input'
Connected to pin 'Output' of filter 'J. River Media Proxy Video'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_MPEG2_VIDEO, Format type FORMAT_MPEG2_VIDEO
Input Pin 'Subpicture Input'
Output Pin 'Video Output 1'
Connected to pin 'In' of filter 'ffdshow Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_NV12, Format type FORMAT_VideoInfo2
Output Pin '~Line21 Output'
Filter 'J. River Media Proxy Video'
CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
Host:
Input Pin 'Input'
Connected to pin 'Video' of filter 'LAV Splitter'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_MPEG2_VIDEO, Format type FORMAT_MPEG2_VIDEO
Output Pin 'Output'
Connected to pin 'Video Input' of filter 'Microsoft DTV-DVD Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_MPEG2_VIDEO, Format type FORMAT_MPEG2_VIDEO
Filter 'LAV Splitter'
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Host: c:\users\mum and dad\downloads\lavfilters-0.14\lavsplitter.ax
Output Pin 'Video'
Connected to pin 'Input' of filter 'J. River Media Proxy Video'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_MPEG2_VIDEO, Format type FORMAT_MPEG2_VIDEO
Output Pin 'Audio'
Connected to pin 'Input' of filter 'J. River Media Proxy Audio'
Major type MEDIATYPE_Audio Sub type Unknown GUID Name: {00000055-0000-0010-8000-00AA00389B71}, Format type FORMAT_WaveFormatEx
jmone
11th February 2011, 03:51
There will be options in the future to disable certain formats.
One suggestion would be to allow the user to select for each format between:
* Decode (my prefered option)
* Passthrough (the bitstreamers would love this)
* Disable (eg when you want to decode with another filter like with DTS-HD going to the Arcsoft HD Audeio Decoder)
nevcairiel
11th February 2011, 08:17
Bitstreaming will not be done in the audio decoder. I will implement that in the splitter. Its basically a muxer task, not a decoder task, and its alot easier to implement in there.
jmone
11th February 2011, 08:34
Fine with me...which ever filter makes sence.
pankov
11th February 2011, 10:39
nevcairiel,
when you say that you'll implement the bitstreaming in the splitter what exactly do you mean?
Will this be another media type/subtype?
I'm a little concerned how will this work in ZoomPlayer's Smart Build situation, which if you forget about the current issue with LAV Splitter has been great feature for the years past.
nevcairiel
11th February 2011, 10:57
There will be a configuration option in the splitter to enable output of AC3, DTS(-HD), TrueHD formats in IEC 61937 format. That means, the splitter would directly connect to the audio renderer, and directly send the compressed audio out to the sound card for bitstreaming. Just the decoder is skipped. Not much different from PCM audio, no decoder needed.
jmone
11th February 2011, 11:11
From my own POV - I want to decode all audio...I just wish that some bright spark is working on decoding DTS-HD (the next best is I have the hacked Arcsoft HD Audio filter installed, so I just need it to play nice with the LAV decoder / splitter)
jmone
11th February 2011, 11:27
I still don't get the forced subs being selected correctly. I have a test MKV where I mux a single PGS/SUP stream as both "Default" and "Forced" with Language as eng (English) in mkbmerge GUI V4.5.0. I have LAV Splitter set to Subtitles = "eng" and Subtitle Selection Mode as "Only Forced Subs" with "Only with matching language" unchecked.
Despite this LAV Splitter selects No Subs as the default (see pic). It all works fine if I manually change the stream to select the subs. Any ideas what I'm doing wrong?
nevcairiel
11th February 2011, 11:30
Does the Stream selection list show the forced flag on the appropriate stream? If not, it just did not figure out that the stream is forced. If it shows it, thats just a bug, and i'll fix it.
(Also, the image won't be approved for some hours, maybe even days)
jmone
11th February 2011, 11:40
Does this http link work better?
http://forum.doom9.org/attachment.php?attachmentid=12005&d=1297420045
jmone
11th February 2011, 11:41
Let me know if you want a 30 sec sample uploaded
robpdotcom
11th February 2011, 12:12
Does the Stream selection list show the forced flag on the appropriate stream? If not, it just did not figure out that the stream is forced. If it shows it, thats just a bug, and i'll fix it.
Not sure if this helps:
I haven't had a chance to test with 0.14, but with 0.13 it did show the forced flag - it just didn't select the stream.
Virtual_ManPL
11th February 2011, 16:28
Try to remove 2 folder keys with LAV name in registry, because now splitter create new key folder with modified name. Works fine here now, when I do that.
robpdotcom
11th February 2011, 19:27
I haven't had a chance to test with 0.14, but with 0.13 it did show the forced flag - it just didn't select the stream.
Tested with 0.14.... same result:
http://img140.imageshack.us/img140/4720/subtest.th.png (http://img140.imageshack.us/i/subtest.png/)
My settings:
http://img573.imageshack.us/img573/2655/subtest2.th.png (http://img573.imageshack.us/i/subtest2.png/)
nevcairiel
11th February 2011, 20:03
If it shows the [forced] flag after the name, all is good on that side, and the selection is just bugged. I'll fix it.
jmone
12th February 2011, 01:51
I've just did more test recording into TS format of a bunch of DVB-T (using JR Media Center) and tested their playback and can group them as follows (with very short sample files here http://www.megaupload.com/?d=Y0JL82MK ):
* SD (720 or 704x576i MPEG2) / 2CH MPEG1 Audio (sample file SD_MPEG): Plays fine with LAV and Haali
* HD (1440x576i MPEG2) / 2.0 or 5.1CH DD Audio (sample file HD_DD): Plays fine with Haali but no Video with LAV (a seek will bring up a single still frame).
FYI - These TS files are full of DVB-T PID, TXT steams etc and can be "cleaned-up" by remuxing with tsMuxeR
Files marked as MPEG-TS (No PAT/PMT): These ones don't play at with either Haali or LAV and can not be opened in tsMuxeR (they will play fine in MPC-HC using the MPC - Mpeg Source (Gabest) splitter). I'm guessing but the lack of a PAT/PMT is giving issues to recognise what the streams are in the container, even though there is normally only a single Video / Audio and no text streams (http://en.wikipedia.org/wiki/MPEG_transport_stream). Sample file is called SD_MPEG_NoPAT_PMT.TS
Thanks
Nathan
jmone
12th February 2011, 05:22
Sorry in advance for the vague nature of this one. I've HD-DVD converted to a Blu-ray structure using Clown BD (eac3to and tsmuxer front end). The resultant 00000.m2ts file is 2h 21mn long (according to Media Info), and 2:21:00 when using the Haali Splitter, yet when using LAV Splitter it is reported as 4mn :29sec. While it will play through to the end there is no way to seek anywhere post the 4:29sec mark. Sorry I can not provide a sample (or it will be less than the 4:29 - which seems a very odd number to me).
Media Info if that helps
General
ID : 1 (0x1)
Complete name : X:\Output\BDMV\STREAM\00000.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 20.7 GiB
Duration : 2h 21mn
Overall bit rate : 21.0 Mbps
Maximum Overall bit rate : 35.5 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : VC-1
Format profile : AP@L3
Codec ID : 234
Duration : 2h 21mn
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
Mode extension : CM (complete main)
Muxing mode : Stream extension
Codec ID : 131
Duration : 2h 20mn
Bit rate mode : Variable / Constant
Bit rate : Unknown / 640 Kbps
Maximum bit rate : 3 042 Kbps / 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossless / Lossy
Language : English
Text #1
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
Language : English
Text #2
ID : 4609 (0x1201)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
Language : English
jmone
12th February 2011, 06:27
LAV Audio decoder does not like it when you change audio format without rebuilding a new graph. Eg if you switch a TV stream from say MPEG to DD, LAV Audio Decoder just plays the last audio frame(s) over and over till you switch back. In comparison FFDSHOW Audio goes "silent", but AC3 Filter handles the dynamic change just fine.
nevcairiel
12th February 2011, 10:34
LAV Audio decoder does not like it when you change audio format without rebuilding a new graph. Eg if you switch a TV stream from say MPEG to DD, LAV Audio Decoder just plays the last audio frame(s) over and over till you switch back. In comparison FFDSHOW Audio goes "silent", but AC3 Filter handles the dynamic change just fine.
With what source filter did you do that? I tried with several filters, and i couldn't produce any issues.
Sorry in advance for the vague nature of this one. I've HD-DVD converted to a Blu-ray structure using Clown BD (eac3to and tsmuxer front end). The resultant 00000.m2ts file is 2h 21mn long (according to Media Info), and 2:21:00 when using the Haali Splitter, yet when using LAV Splitter it is reported as 4mn :29sec. While it will play through to the end there is no way to seek anywhere post the 4:29sec mark. Sorry I can not provide a sample (or it will be less than the 4:29 - which seems a very odd number to me).
BluRay m2ts are known to have that problem. Its a bug in ffmpeg, nothing i can do.
In general, avformat has many issues with MPEG-TS files that are non-standard. This includes BluRay files, which are not standard mpeg transport streams in the common sense, or files done by "weird" muxers. Sadly the maintainers of the mpegts demuxer in ffmpeg seem to rather favor their stupid rules of sticking to the spec, rather then supporting more files.
Sadly, MPEG-TS is such a complicated format, that i wouldn't know where to get anyother easy to use demuxer library that i could just plug in there. People keep reporting that the VLC MPEG-TS demuxer is generally doing a better job, maybe eventually i could implement that one. Sadly VLC has it tightly integrated into VLC itself, so it would be quite a task to rip it out.
For BluRay structures, there is always libbluray which i plan to implement at some point.
jmone
12th February 2011, 11:35
With what source filter did you do that? I tried with several filters, and i couldn't produce any issues.
It is J Rivers own Media Center splitter that they use for live TV playback (I can put you in touch with the devs if you want to find out more on this)
BluRay m2ts are known to have that problem. Its a bug in ffmpeg, nothing i can do.
In general, avformat has many issues with MPEG-TS files that are non-standard. This includes BluRay files, which are not standard mpeg transport streams in the common sense, or files done by "weird" muxers. Sadly the maintainers of the mpegts demuxer in ffmpeg seem to rather favor their stupid rules of sticking to the spec, rather then supporting more files.
Sadly, MPEG-TS is such a complicated format, that i wouldn't know where to get anyother easy to use demuxer library that i could just plug in there. People keep reporting that the VLC MPEG-TS demuxer is generally doing a better job, maybe eventually i could implement that one. Sadly VLC has it tightly integrated into VLC itself, so it would be quite a task to rip it out.
For BluRay structures, there is always libbluray which i plan to implement at some point.
OK - Thanks, at least it is a known issue. The odd thing is that it is not consistant as the following was created exactly the same way (but from an original Blu-ray over a HD-DVD) and it shows the timestamps correctly. I'll try another HD-DVD conversion to see if that is the issue or if it is related to the VC-1 over x264 stream....Go figure!
Filter Graph Info:
Filter 'J. River Audio Renderer'
CLSID: {A4002F8E-510F-442C-8AD3-F9C7B23FB394}
Host:
Input Pin 'In'
Connected to pin 'XForm Out' of filter 'LAV Audio Decoder'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx
Filter 'Enhanced Video Renderer'
CLSID: {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
Host: c:\windows\syswow64\evr.dll
Input Pin 'EVR Input0'
Connected to pin 'Out' of filter 'ffdshow Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_YUY2, Format type FORMAT_VideoInfo2
Input Pin 'EVR Input1'
Filter 'LAV Audio Decoder'
CLSID: {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}
Host: c:\users\mum and dad\downloads\lavfilters-0.14\lavaudio.ax
Input Pin 'XForm In'
Connected to pin 'Output' of filter 'J. River Media Proxy Audio'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_DTS, Format type FORMAT_WaveFormatEx
Output Pin 'XForm Out'
Connected to pin 'In' of filter 'J. River Audio Renderer'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_IEEE_FLOAT, Format type FORMAT_WaveFormatEx
Filter 'ffdshow Video Decoder'
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Host: c:\program files (x86)\ffdshow\ffdshow.ax
Input Pin 'In'
Connected to pin 'Output' of filter 'J. River Media Proxy Video'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_H264, Format type FORMAT_MPEG2_VIDEO
Output Pin 'Out'
Connected to pin 'EVR Input0' of filter 'Enhanced Video Renderer'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_YUY2, Format type FORMAT_VideoInfo2
Input Pin 'In Text'
Connected to pin 'Subtitle' of filter 'LAV Splitter'
Major type MEDIATYPE_Text Sub type TIME_FORMAT_NONE, Format type TIME_FORMAT_NONE
Input Pin 'In Text 2'
Filter 'J. River Media Proxy Audio'
CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
Host:
Input Pin 'Input'
Connected to pin 'Audio' of filter 'LAV Splitter'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_DTS, Format type FORMAT_WaveFormatEx
Output Pin 'Output'
Connected to pin 'XForm In' of filter 'LAV Audio Decoder'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_DTS, Format type FORMAT_WaveFormatEx
Filter 'J. River Media Proxy Video'
CLSID: {A4207487-E7D8-406B-9882-B66370DE2492}
Host:
Input Pin 'Input'
Connected to pin 'Video' of filter 'LAV Splitter'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_H264, Format type FORMAT_MPEG2_VIDEO
Output Pin 'Output'
Connected to pin 'In' of filter 'ffdshow Video Decoder'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_H264, Format type FORMAT_MPEG2_VIDEO
Filter 'LAV Splitter'
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Host: c:\users\mum and dad\downloads\lavfilters-0.14\lavsplitter.ax
Output Pin 'Video'
Connected to pin 'Input' of filter 'J. River Media Proxy Video'
Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_H264, Format type FORMAT_MPEG2_VIDEO
Output Pin 'Audio'
Connected to pin 'Input' of filter 'J. River Media Proxy Audio'
Major type MEDIATYPE_Audio Sub type MEDIASUBTYPE_DTS, Format type FORMAT_WaveFormatEx
Output Pin 'Subtitle'
Connected to pin 'In Text' of filter 'ffdshow Video Decoder'
Major type MEDIATYPE_Text Sub type TIME_FORMAT_NONE, Format type TIME_FORMAT_NONE
nevcairiel
12th February 2011, 11:38
It also happens on some real BD discs. I found one in my collection after checking maybe 10 discs. There might be more, i stopped looking then. Didn't see a relation between codecs or anything.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.