Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > VirtualDub Filters and Filter Development > New FLV and Matroska plugins for VirtualDub


Posted by: fccHandler Sep 26 2010, 04:58 AM
Moitah's old FLV plugin was starting to show its age. Most of the FLVs I see now use AVC video and AAC audio, and his plugin never supported those. Therefore I took it upon myself to create a brand new FLV plugin from scratch.

As of today I can successfully open all of the FLV files I have, so I guess it's time to go public with it:

http://fcchandler.home.comcast.net/~fcchandler/Plugins/FLV

Known issues:
  • Not all formats are supported, but I think I support everything that Moitah's filter supported.
  • VirtualDub can't decompress AAC audio because there is no ACM codec for it. It can be Direct Stream Copied though.
  • Currently no workaround is implemented for variable frame rate video. A/V sync may suffer in this case.

Enjoy. smile.gif

Posted by: stephanV Sep 26 2010, 08:49 AM
Thanks. Personally I don't have much use for this, but it is good to see you are still active. smile.gif

The video decoding must be done through ffdshow?

Posted by: Placio74 Sep 26 2010, 04:05 PM
QUOTE (stephanV @ Sep 26 2010, 10:49 AM)
The video decoding must be done through ffdshow?

Yes - for FLV1 and VP6F.
For AVC - also can use x264vfw.

Posted by: Barough Sep 27 2010, 01:06 PM
Thnx smile.gif

Posted by: Dstruct Sep 28 2010, 03:50 AM
Yep, thanks for the plugin!

Posted by: jbionic Sep 29 2010, 06:35 PM
QUOTE (Placio74 @ Sep 26 2010, 04:05 PM)
QUOTE (stephanV @ Sep 26 2010, 10:49 AM)
The video decoding must be done through ffdshow?

Yes - for FLV1 and VP6F.
For AVC - also can use x264vfw.

how can I decode the flv file through ffdshow?
I mean, I tried to open it in VD, but it shows an err screen

Posted by: Placio74 Sep 30 2010, 04:28 AM
QUOTE (jbionic @ Sep 29 2010, 08:35 PM)
I mean, I tried to open it in VD, but it shows an err screen

What error?

QUOTE (jbionic @ Sep 29 2010, 08:35 PM)
how can I decode the flv file through ffdshow?

When You install ffdshow do not forget to select VFW interface.

Go to - VFW Configuration (ffdshow video encoder configuration) > Decoder > Codecs - and set support for selected codecs.

Posted by: DarrellS Oct 1 2010, 08:10 PM
Thanks fcchandler!

Saves me from having to use FLVextract to demux files and mux to mp4 with Yamb.

Posted by: fccHandler Oct 3 2010, 07:01 AM
I'm going to go ahead and give you guys a little taste of the other plugin I'm currently working on:

http://fcchandler.home.comcast.net/Plugins/Matroska

Be warned that this is VERY experimental right now. I can open exactly two of my Matroska files with this. But hey, it's a start. smile.gif

Stay tuned for further developments.

Posted by: Barough Oct 3 2010, 01:08 PM
QUOTE (fccHandler @ Oct 3 2010, 08:01 AM)
I'm going to go ahead and give you guys a little taste of the other plugin I'm currently working on:

http://fcchandler.home.comcast.net/Plugins/Matroska

Be warned that this is VERY experimental right now. I can open exactly two of my Matroska files with this. But hey, it's a start. smile.gif

Stay tuned for further developments.

That's very nice smile.gif

Posted by: pureocean Oct 4 2010, 08:08 AM
@fccHandler:

Thank you very much for you to start preparing this plugins(Especially Matroska). Of course, will improve over time. This input-plugins will be useful to many people, as your WMV/MPG2/AC3ACM plugins. I wish, you success and patient on this works.

Posted by: v0lt Oct 4 2010, 02:23 PM
fccHandler
Thank you very much. We waited a very long time. smile.gif

My tests:
mkvmerge
0.8.0 - Opened
0.8.9 - Opened
0.9.5 - Opened
1.0.1 - Opened
1.4.1 - Opened
1.4.2 - Opened
1.5.0 - Opened or Crashed
1.5.5 - Opened or Crashed
1.6.5 - Crashed
1.7.0 - Crashed
2.0.2 - Crashed
2.1.0 - Crashed
2.9.8 - Parse failed
3.4.0 - Parse failed
4.0.0 - Parse failed

VirtualDubMod 1.5.10.2 - Opened

Direct Show Matroska Muxer - Hung

Posted by: Dstruct Oct 5 2010, 10:19 AM
Crash on MKV loading:

CODE
VirtualDub crash report -- build 32839 (release)
--------------------------------------

Disassembly:
10004d60: 32c0            xor    al, al
10004d62: c20400          ret    0004
10004d65: cc              int    3
10004d66: cc              int    3
10004d67: cc              int    3
10004d68: cc              int    3
10004d69: cc              int    3
10004d6a: cc              int    3
10004d6b: cc              int    3
10004d6c: cc              int    3
10004d6d: cc              int    3
10004d6e: cc              int    3
10004d6f: cc              int    3
10004d70: 8b442404        mov    eax, [esp+04h]
10004d74: 8b4820          mov    ecx, [eax+20h]
10004d77: db4020          fild   dword ptr [eax+20h]
10004d7a: 85c9            test   ecx, ecx
10004d7c: 7d06            jge    10004d84
10004d7e: dc0540420110    fadd   qword ptr [10014240]
10004d84: df6c2408        fild   qword ptr [esp+08h]
10004d88: 8b5024          mov    edx, [eax+24h]
10004d8b: 85d2            test   edx, edx
10004d8d: dec9            fmulp  st(1), st
10004d8f: db4024          fild   dword ptr [eax+24h]
10004d92: 7d06            jge    10004d9a
10004d94: dc0540420110    fadd   qword ptr [10014240]
10004d9a: dc0d78440110    fmul   qword ptr [10014478]
10004da0: def9            fdivp  st(1), st
10004da2: dc0538420110    fadd   qword ptr [10014238]
10004da8: e8e91c0000      call   10006a96
10004dad: c20c00          ret    000c
10004db0: 8b442404        mov    eax, [esp+04h]
10004db4: 8b4824          mov    ecx, [eax+24h]
10004db7: db4024          fild   dword ptr [eax+24h]
10004dba: 85c9            test   ecx, ecx
10004dbc: 7d06            jge    10004dc4
10004dbe: dc0540420110    fadd   qword ptr [10014240]
10004dc4: df6c2408        fild   qword ptr [esp+08h]
10004dc8: 8b5020          mov    edx, [eax+20h]
10004dcb: 85d2            test   edx, edx
10004dcd: dec9            fmulp  st(1), st
10004dcf: dc0d78440110    fmul   qword ptr [10014478]
10004dd5: db4020          fild   dword ptr [eax+20h]
10004dd8: 7d06            jge    10004de0
10004dda: dc0540420110    fadd   qword ptr [10014240]
10004de0: def9            fdivp  st(1), st
10004de2: dc0538420110    fadd   qword ptr [10014238]
10004de8: e8a91c0000      call   10006a96
10004ded: c20c00          ret    000c
10004df0: 8b442404        mov    eax, [esp+04h]
10004df4: 8b4824          mov    ecx, [eax+24h]
10004df7: 8b5104          mov    edx, [ecx+04h]      <-- FAULT
10004dfa: 8b442408        mov    eax, [esp+08h]
10004dfe: 895004          mov    [eax+04h], edx
10004e01: 8b4908          mov    ecx, [ecx+08h]
10004e04: 894808          mov    [eax+08h], ecx
10004e07: c70000000000    mov    dword ptr [eax], 00000000
10004e0d: c6400c00        mov    byte ptr [eax+0ch], 00h
10004e11: c20800          ret    0008
10004e14: cc              int    3
10004e15: cc              int    3
10004e16: cc              int    3
10004e17: cc              int    3
10004e18: cc              int    3
10004e19: cc              int    3
10004e1a: cc              int    3
10004e1b: cc              int    3
10004e1c: cc              int    3
10004e1d: cc              int    3
10004e1e: cc              int    3
10004e1f: cc              int    3
10004e20: 8b442408        mov    eax, [esp+08h]
10004e24: 8b54240c        mov    edx, [esp+0ch]
10004e28: c20c00          ret    000c
10004e2b: cc              int    3
10004e2c: cc              int    3
10004e2d: cc              int    3
10004e2e: cc              int    3
10004e2f: cc              int    3
10004e30: 6aff            push   0ffh
10004e32: 68662f0110      push   10012f66
10004e37: 64a100000000    mov    eax, fs:[00000000]
10004e3d: 50              push   eax
10004e3e: 83ec0c          sub    esp, 0ch
10004e41: 53              push   ebx
10004e42: 55              push   ebp
10004e43: 56              push   esi
10004e44: 57              push   edi
10004e45: a134830110      mov    eax, [10018334]
10004e4a: 33c4            xor    eax, esp
10004e4c: 50              push   eax
10004e4d: 8d442420        lea    eax, [esp+20h]
10004e51: 64a300000000    mov    fs:[00000000], eax
10004e57: 8bf9            mov    edi, ecx
10004e59: 897c2414        mov    [esp+14h], edi
10004e5d: 8b4424          mov    eax, [esp+24h]

Built on Aegis on Sun Sep 05 20:52:28 2010 using compiler version 1400

Windows 5.1 (Windows XP x86 build 2600) [Service Pack 3]

EAX = 00bd3d30
EBX = 00c5a9ac
ECX = 00000000
EDX = 10004df0
EBP = 00c5a9d8
ESI = 00c5a4e8
EDI = 00c5a9b8
ESP = 0012fcec
EIP = 10004df7
EFLAGS = 00210246
FPUCW = ffff027f
FPUTW = ffffffff

Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'Matroska'...

...reading address 00000004.

Pointer dumps:

EAX   00bd3d30: 10014818 00e50048 00000000 ffffffff 01ffa298 00000002 3b9aca00 027c6a3d
EBX   00c5a9a8: 00bd3d28 00000000 00000000 00c56358 3b9aca00 027c6a3d 0003170f 00000000
EDX   10004df0: 0424448b 8b24488b 448b0451 50890824 08498b04 c7084889 00000000 0c40c600
ESI   00c5a4e8: 005fb7b0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
EDI   00c5a9b8: 3b9aca00 027c6a3d 0003170f 00000000 00000001 00000001 00000000 00000000
ESP   0012fce8: 77da6c03 004d690b 00bd3d30 00c5a9d8 00c56374 00c5a498 0012fda4 00000000
     0012fd08: 00c5a4e8 00c56374 00c5a498 00c56380 005fb894 000001c6 0012fd58 005d7a0f
     0012fd28: 00000007 004d6f0e 00bd3d30 00c56358 00c5a498 00c56ca8 00c5a498 00000000
     0012fd48: 00bd3d30 00c56380 005fb894 000004e9 0012fd98 005d7a83 00000003 00465057
EBP   00c5a9d8: 00000000 00000000 00000000 00000000 00a10044 010c0179 00000170 ffffffff
     00c5a9f8: 00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000000
     00c5aa18: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
     00c5aa38: 00000000 00000000 00000000 00518fb1 0012f3ec 006425c0 00000000 00000000

Thread call stack:
10004df7: Matroska!VDGetPluginInfo [10000000+3550+18a7]
004d690b: VDVideoSourcePlugin::VDVideoSourcePlugin()
004d6f0e: VDInputFilePlugin::GetVideoSource()
00465057: VDProject::Open()
0051d1d8: VDAutoLogger::VDAutoLogger()
00448cbb: VDProcessCommandLine()
7e368734: USER32!GetDC [7e360000+86c7+6d]
7e36882a: USER32!GetDC [7e360000+86c7+163]
7e3689cd: USER32!GetWindowLongW [7e360000+88a6+127]
7e3693e9: USER32!PeekMessageW [7e360000+929b+14e]
7e3693a8: USER32!PeekMessageW [7e360000+929b+10d]
7e37a43b: USER32!PeekMessageA [7e360000+1a340+fb]
004520d8: WinMain@16()
005b771b: __tmainCRTStartup()
7c817077: kernel32!RegisterWaitForInputIdle [7c800000+1702e+49]



File was

CODE
General
Format                           : Matroska
File size                        : 7.93 GiB
Duration                         : 2h 20mn
Overall bit rate                 : 8 069 Kbps
Writing application              : mkvmerge v2.2.0 ('Turn It On Again') built on Mar  4 2008 12:58:26
Writing library                  : libebml v0.7.7 + libmatroska v0.8.1

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 3 frames
Codec ID                         : V_MPEG4/ISO/AVC
Duration                         : 2h 20mn
Bit rate                         : 6 556 Kbps
Width                            : 1 280 pixels
Height                           : 532 pixels
Display aspect ratio             : 2.40:1
Frame rate                       : 23.976 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.402
Stream size                      : 6.29 GiB (79%)
Title                            : CHD
Writing library                  : x264 core 61 r957M 7ce0f2c
Encoding settings                : cabac=1 / ref=3 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=7 / psy_rd=0.6:0.6 / brdo=1 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=2 / deadzone=6,4 / chroma_qp_offset=-8 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=6556 / ratetol=1.0 / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:0.50 / zones=199190,202511,b=0.3

Audio
ID                               : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Codec ID                         : A_DTS
Duration                         : 2h 20mn
Bit rate mode                    : Constant
Bit rate                         : 1 510 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 24 bits
Stream size                      : 1.48 GiB (19%)
Language                         : Chinese

Posted by: OPODER!!! Oct 7 2010, 03:54 PM
Thank your for your plugins!

Posted by: fccHandler Oct 9 2010, 04:54 AM
v0lt and Dstruct: Thank you for your testing results.

I've uploaded tonight's build, which adds preliminary support for AVC video and AAC audio, and should fix the crash posted by Dstruct:

http://fcchandler.home.comcast.net/Plugins/Matroska

Currently the parsing stage concludes with just four possible outcomes: Success, a "Parse failed" popup, a crash, or a hang. But as I get deeper into this I do plan to implement much better error handling in the future.

I have found one Matroska file in which the parsing is very slow. I mean, like, pathologically slow. I haven't figured out yet what is going on there.

FWIW, my code is based on this specification:

http://www.matroska.org/technical/specs/index.html

However, I have at least one Matroska file which violates that spec. The Info block indicates that it was created using libmkv 0.6.4 and HandBrake 0.9.4. I say it is broken because they have written the MuxingApp field with an id of 0x80, not 0x4D80 as it should be. I've worked around this in the code, but I'm not sure who I should complain to about it... dry.gif

As with the FLV plugin, you will not be able to decode AAC within VirtualDub. For now it can only be Direct Stream Copied.

Posted by: Gromozeka Oct 9 2010, 08:48 AM
fccHandler[B]
Thanks
But audio aac is not defined in matroska sad.gif
You can will compilled Faac acm (ac3 acm is)?
source was in sounforge rolleyes.gif

Posted by: Barough Oct 9 2010, 04:58 PM
Thnx for the update MKV plugin. smile.gif

Posted by: fccHandler Oct 9 2010, 08:33 PM
Gromozeka, I never say never, but currently I do not have any plans to make an AAC ACM codec.

I found some major bugs in last night's build and have uploaded version 1.2:

http://fcchandler.home.comcast.net/Plugins/Matroska

I added support for MPEG Layer II audio, but it's kind of strange. On my system in File Information I see Unknown tag 0x0050, and yet it plays OK in VirtualDub. I have no idea how that works...

This build also marks a milestone because I can now open all of the Matroska files I have. biggrin.gif

Posted by: v0lt Oct 9 2010, 10:06 PM
fccHandler
QUOTE
I found some major bugs in last night's build and have uploaded version 1.2:

Good job!
I was able to open almost all Matroska files except the 3 files. wink.gif

http://www.mediafire.com/?yaz0igist156cbs (DirectShow Matroska Muxer)
http://www.mediafire.com/?dgd92wil67bg8nq (mkvmerge v4.2.0)
file3 (mkvmerge v1.7.0, MPEG-2+AC3+mp3)

Posted by: Tommy Carrot Oct 10 2010, 02:05 AM
Thank you very much for the plugins, i was waiting for so long for something like your matroska input plugin. Direct stream copy seems to be working correctly with it, so cutting a part out of an MKV video (to AVI, but it's ok to me) is finally easy and simple, unlike with mkvmerge. (and it's working correctly, unlike avidemux laugh.gif)

Posted by: Gromozeka Oct 10 2010, 05:12 AM
fccHandler
Thank you for the plugins smile.gif
Bad that you do not plan faac acm
But matroska plugin work fine - mkv with x264 and aac save to avi (avi played with aac audio good) laugh.gif
now mkv possible to edit

Posted by: fccHandler Oct 10 2010, 06:34 AM
@v0lt: Thanks so much for uploading your test files! I downloaded the first two files, but there is no link to the third file.

The Crank file contains MPEG-2 video and I have no plans to support that right now. (If your third file contains MPEG-2 video then it is likewise unsupported.)

The Offspring video has an unusual Segment size of -1, but that's not necessarily out of spec and it is easy to work around. However, it also contains Windows Media Audio and I'm not sure yet whether it will be possible to support that. I will give it a try though; stay tuned.

Posted by: v0lt Oct 10 2010, 06:57 AM
@fccHandler: The third file has a size of ~ 400MB. Yes, it's MPEG-2 video.
QUOTE
The Crank file contains MPEG-2 video and I have no plans to support that right now. (If your third file contains MPEG-2 video then it is likewise unsupported.)

You can not rush. It's just two files with MPEG-2 video.

QUOTE
The Offspring video has an unusual Segment size of -1, but that's not necessarily out of spec and it is easy to work around. However, it also contains Windows Media Audio and I'm not sure yet whether it will be possible to support that. I will give it a try though; stay tuned.

IMHO, this is an example of the wrong file. Maybe it is unique. smile.gif

Posted by: v0lt Oct 10 2010, 01:44 PM
@fccHandler
QUOTE
but currently I do not have any plans to make an AAC ACM codec.

What do you think about decoding AAC through http://www.audiocoding.com/faad2.html?
For example, MPEG-2 plugin has a built-in decoder for MPEG-Audio, and VirtualDub has a built-in decoder for MJPEG and DV.
Make decoding using DLL will be easier than doing the ACM codec?

Posted by: levicki Oct 16 2010, 10:02 PM
@fccHandler:

There are several problems with matroska plugin for me (in order of importance):

1. I get "missing codec" for MKV file with 'AVC1' video FourCC. Do I need to have VFW x264 decoder? I have CoreAVC Professional installed (which includes Haali Media Splitter), and the same file opens and renders correctly using DShowInputDriver.vdplugin.

2. I cannot choose audio language -- your plugin doesn't detect and forward multiple audio streams to VirtualDub.

3. Parsing 8129 MB MKV file takes a lot of time (1m15s) on http://levicki.net/gear/. DShowInputDriver.vdplugin opens the same file instantly.

Regards,
Igor

Posted by: fccHandler Oct 17 2010, 06:37 AM
v0lt:
I do not want to embed any audio/video decoders into the plugin. The Correct™ way to handle this problem is via Windows ACM. So I might be inspired to create an AAC ACM codec someday, but currently I am not planning to do so.

levicki:
You need a VCM decoder for the 'AVC1' FOURCC. I am using the http://ffdshow-tryout.sourceforge.net/download.php on my system.

I imagine that an 8 GB file will take a long time to parse. The Matroska format supports a sample index, which in theory should eliminate the need to parse. But that index is not guaranteed to be present, and for that reason I am not utilizing it now. Maybe in the future I can support it.

Posted by: levicki Oct 17 2010, 06:15 PM
QUOTE (fccHandler @ Oct 17 2010, 07:37 AM)
You need a VCM decoder for the 'AVC1' FOURCC. I am using the http://ffdshow-tryout.sourceforge.net/download.php on my system.

I imagine that an 8 GB file will take a long time to parse. The Matroska format supports a sample index, which in theory should eliminate the need to parse. But that index is not guaranteed to be present, and for that reason I am not utilizing it now. Maybe in the future I can support it.

Can't you detect if index is there and use it (or not) accordingly? During parsing, CPU utilisation floats between 1% and 3%. I understand it can be an I/O intensive operation but it still sounds way too slow. Perhaps some profiling is in order?

I think I will wait for Matroska plugin to get improved a bit, and in the meantime I will share my current setup with you:

1. I got GTX 470 video card (CUDA capable, a bit expensive but there are cheaper cards out there as well to chose from)
2. I bought CoreAVC 2.0 Professional for $10 (includes Haali Media Splitter)
3. I removed Matroska, WMV and QuickTime input plugins
4. I uninstalled QuickTime codecs and all other codecs I know are bad
5. I installed DirectShow Input Driver 0.8
6. I registered MP4, MOV, MKV and WMV to DirectShow Input Driver
7. I patched VirtualDub 1.9.10 so it doesn't use internal ASF input driver (otherwise you can't load WMV from file associations or command line)

Results:
1. I can open and decode all WMV files -- with WMV plugin I had some files which were giving me "missing codec" message (because WMV9VCM doesn't handle older codec versions)
2. I can open HD MOV files from my Canon 5D Mark II camera -- they were being decoded using QuickTime before, and only frames decoded properly were keyframes. Those files use AVC1 so they are decoded in hardware by CoreAVC
3. I can open MP4 files encoded with H264 and have them decoded in hardware too
4. I can open MKV files with AVC1 and H264 -- they are opened instantly, decoded using CoreAVC on a GPU and seeking is instant

The only thing missing is:

1. support for choosing audio stream for MKV
2. file information no longer shows video and audio codec info because of configuration dialog which is not very good

Posted by: fccHandler Oct 23 2010, 04:56 AM
levicki:
Indexing speed is not a priority for me right now. Personally I am satisfied that Matroska files can be opened at all, regardless of how long it takes. That's really all I wanted from this plugin. I do plan to address performance issues in the future though.

I've uploaded a new version 1.3 with some improvements:
http://fcchandler.home.comcast.net/Plugins/Matroska

I added support for the "Header Stripping" algorithm which I have been seeing in newer Matroska files.

Windows Media Audio can be direct stream copied, but it will not play in VirtualDub, although it should. I don't know yet why it fails to play.

I am having issues with the AVC decoder of ffdshow-tryouts 1.0.3.1316. It crashes sometimes with newer AVC files. Nevertheless I can direct stream copy that AVC into an AVI and play it back with MPlayer, no problem. From this I conclude that my unwrapping of the raw AVC frames is correct, but the ffdshow VFW decoder is bugged. Just be aware of that if you see video corruption in VirtualDub.

Posted by: v0lt Oct 23 2010, 05:20 AM
Thank you!

I would like to see a selection of audio tracks, as is done for AVI-files. Is it real?

Posted by: fccHandler Oct 23 2010, 05:41 AM
Oh yes, I definitely plan to implement the capability to choose from multiple audio tracks. That is high on my priorities.

Posted by: fccHandler Oct 23 2010, 05:30 PM
Just to follow up on what I wrote last night, the AVC corruption I was seeing was definitely due to an old version of ffdshow-tryouts. I installed their http://ffdshow-tryout.sourceforge.net/download.php and that fixed it. biggrin.gif

Posted by: v0lt Oct 23 2010, 07:12 PM
one problem less smile.gif

Posted by: Dstruct Oct 23 2010, 10:28 PM
What about DTS Audio? Matroska plugin 1.3 obviously doesn't support it yet. With the file below I don't get any audio:

CODE
General
Format                           : Matroska
File size                        : 11.4 GiB
Duration                         : 1h 59mn
Overall bit rate                 : 13.7 Mbps
Encoded date                     : UTC 2010-09-20 18:03:35
Writing application              : mkvmerge v3.0.0 ('Hang up your Hang-Ups') built on Dec 12 2009 15:20:35
Writing library                  : libebml v0.7.9 + libmatroska v0.8.1

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 5 frames
Codec ID                         : V_MPEG4/ISO/AVC
Duration                         : 1h 59mn
Bit rate                         : 12.2 Mbps
Width                            : 1 920 pixels
Height                           : 816 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 23.976 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.325
Stream size                      : 9.96 GiB (87%)
Writing library                  : x264 core 100 r1659 57b2e56
Encoding settings                : cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.60 / mixed_ref=1 / me_range=44 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-1 / threads=6 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=120 / rc=2pass / mbtree=1 / bitrate=12200 / ratetol=1.5 / qcomp=0.50 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=50000 / vbv_bufsize=62500 / ip_ratio=1.40 / aq=2:0.70 / nal_hrd=none
Language                         : German

Audio
ID                               : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Codec ID                         : A_DTS
Duration                         : 1h 59mn
Bit rate mode                    : Constant
Bit rate                         : 1 510 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 24 bits
Stream size                      : 1.26 GiB (11%)
Title                            : DTS 5.1 1509Kbps
Language                         : German

Text #1
ID                               : 3
Format                           : UTF-8
Codec ID                         : S_TEXT/UTF8
Codec ID/Info                    : UTF-8 Plain Text
Title                            : English
Language                         : English

Text #2
ID                               : 4
Format                           : UTF-8
Codec ID                         : S_TEXT/UTF8
Codec ID/Info                    : UTF-8 Plain Text
Language                         : Dutch

Posted by: fccHandler Oct 24 2010, 01:29 AM
I'm afraid I don't know enough about DTS to implement support for it yet. It depends entirely on whether it can be packaged into a wave format and delivered through ACM. Also I don't currently have any examples to work with; I would have to download something I guess...

As I stated years ago it is impossible to support everything that Matroska can contain, within the limitations imposed by VirtualDub, VFW, and ACM. I am slowly learning that each video and audio format presents its own unique challenge and I pretty much have to tackle them individually one at a time, as I encounter them.

I will probably upload a new build tonight, because I finally have v0lt's Offspring video playing and I've nearly finished the support for multiple audio tracks.

Posted by: fccHandler Oct 24 2010, 05:43 AM
As promised, here is tonight's build:
http://fcchandler.home.comcast.net/Plugins/Matroska

I've inadvertently discovered a fatal flaw in this plugin. So far I have assumed that MP3 audio in Matroska is packaged in such a way that each audio "block" is exactly one MPEG frame. Unfortunately that is not guaranteed, and I have one Matroska file which blatantly demonstrates that. Aargh...

Fixing this flaw will involve a lot of work; furthermore I presume that it is not guaranteed for the other compressed audio formats either. Probably I've just been lucky.

The symptom of the problem (should you encounter it) is that seeking to a random position in VirtualDub throws the audio and video out of sync. The sync is OK if you play straight through from the beginning; only seeking is broken.

But I call it "fatal" because your output AVI will exhibit the same problem when seeking, and that is really bad news. I will work on fixing it.

Posted by: DVDBob Oct 24 2010, 07:43 PM
Hello.

I've tried to open several MKV files in VirtualDub but VirtualDub says parse failed when I open a MKV file.

Posted by: TheHulk Oct 25 2010, 11:40 PM
QUOTE (fccHandler @ Sep 26 2010, 04:58 AM)
Moitah's old FLV plugin was starting to show its age. Most of the FLVs I see now use AVC video and AAC audio, and his plugin never supported those. Therefore I took it upon myself to create a brand new FLV plugin from scratch.

As of today I can successfully open all of the FLV files I have, so I guess it's time to go public with it:

That's nice, but what about the mkv?

(And I tried opening an FLV, and just got "does not have a video stream")

Posted by: fccHandler Nov 1 2010, 03:01 AM
DVDBob and TheHulk:
If you want me to troubleshoot these issues then I will need more information about the files which are failing. If you can post a link to the file that would be ideal, otherwise try to find out what codecs are involved. Note that some codecs are intentionally not supported, like MPEG-2 video and DTS audio for example.

I've uploaded a new build which fixes the issue described in http://forums.virtualdub.org/index.php?act=ST&f=15&t=19329, and hopefully fixes the sync issue I described in my previous post:

http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: DVDBob Nov 1 2010, 01:31 PM
The files I try to open the MKV files created from bluray with multiple dts and ac3 audio tracks.

Posted by: pureocean Nov 2 2010, 09:01 AM
@fccHandler:

Firstly, thank you very much for last update your MKV plugin.

I encountered a problem in FLV plugin(v1.1). This FLV file cannot save when Direct Stream Copy mode:

http://www.bearmccreary.com/blog/wp-content/uploads/2010/10/CorrectedWD101.flv

Maybe a personal problem. I'm not sure.

Posted by: Gromozeka Nov 2 2010, 02:02 PM
pureocean
QUOTE
This FLV file cannot save when Direct Stream Copy mode:


flv file can be save fine to me with Direct stream copy tongue.gif

Posted by: pureocean Nov 3 2010, 05:57 AM
QUOTE (Gromozeka @ Nov 2 2010, 02:02 PM)
This FLV file cannot save when Direct Stream Copy mode

@Gromozeka:

Thank you for try. I downloaded the file again but this time another with download manager. The issue continues. Cannot saved as direct stream. The file info in Virualdub: http://i.imgur.com/2k2ak.gif

This time, I tried with Motiah's FLV input driver (of coure, firstly I deleted FLV.vdplugin.. Otherwise can conflict.) It's worked, finished properly when direct stream. Strange.

I still don't understand source of the problem.

Tried with:
* Virtualdub 1.8.8 and test-32 (build 33842)
* FFDshow tryouts SVN 3611 and 3624

Posted by: fccHandler Nov 6 2010, 03:38 AM
pureocean: Thank you for providing the link. I am able to reproduce the problem here. The cause is definitely my FLV plugin, and I believe it is some kind of MP3 buffering issue. Also it is not unique to your FLV file.

I will be very busy all of next week, but rest assured I will fix this when I get some free time. Stay tuned.

Posted by: L.H.V.F. Nov 7 2010, 02:46 AM
Hi, fccHandler

I had used a new plugin of your site (http://fcchandler.home.comcast.net/~fcchandler/) but before a release of your new plugin, I had found a plugin in other site with a plugin for FLV (http://www.moitah.net/download/latest/FLV_Input_Driver.zip)- old plugin. The old moitah plugin runs normaly FLV videos in Input exibition side. The FLV format have many codecs, and I suggest that you to do as author of other mentioned plugin, let a codec/ decoder for download of own user, only then will be possible to have a larger support. The decoder necessary for interprete VP6 are at: http://www.4shared.com/file/wVx1iOS7/vp6_decoder.html, and with this driver, I would can use a plugin of moitah, and in your plugin maybe it is not necessary. In your WMV3 plugin you made this, let a decoder in choice of user for download and so then function better.

Edit: Since the link at http://http:/minus.com is no longer available, the new link that not expires are now at Google Drive:

https://docs.google.com/file/d/0B2P9tmmpSwF-eUdEMWJXVUhMWXc/edit?usp=sharing
(vp6 decoder.zip)

4Shared has blocked for only registered users do download of the shared files.

Minus.com: The http://minus.com has changed the site policy, and ended leaving unavailable for download all the files that are not images.

Edit (2): My http://minus.com account and online folder were deleted, because for a long time this sharing service was not working, and was not giving features of a sharing site that I previously and initially, wanted.


I have tested your last release Version 1.1 (October 31, 2010 last update) and the problem persists (load, but not runs correctly exibition) (in one video FLV).

I have tested the last updated November 24, 2010, and now the video loads, and I have percepted that Input side exibition stayed freezed, no runs any video, and in the moitah FLV plugin this problem do not occurs.


Thank for update, and I wait the problem solution for the problem that repeats also in other plugins too as the WMV.
L.H.V.F.

Obs.: Private messenger has not been sent because box e-mail of the fccHandler is full dry.gif

Posted by: hernan_huarte Nov 11 2010, 05:24 AM
Thanks for this too...

Posted by: v0lt Nov 14 2010, 06:53 PM
I tested the files again. There is a problem opening the files in the latest versions of the Matroska plugin.
v1.3 - opens
v1.4 - "Parse failed."
v1.5 - "ParseTrackEntry 2 failed."
sample - http://www.mediafire.com/?99q2c8h0u4aixd0
I see the problem on a large number of files. sad.gif

Posted by: fccHandler Nov 20 2010, 07:11 AM
Sorry to have taken so long to respond. I've been very busy with other stuff lately.

The problem was that your file contains an unsupported AAC-LC SBR audio track. I suppose the old version 1.3 just ignored it, but later versions abort when they see this track, although the other tracks are OK.

This was definitely a bug because the plugin should never abort due to an unsupported audio track. I've fixed that bug, and added specific support for your AAC-LC SBR track (direct stream copy only).

BTW, I noticed an odd aspect ratio change when copying your video into an AVI file. I don't know why that happens; there is nothing in the plugin which looks at or modifies aspect ratio information...

Anyway, here is the new version 1.6:
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: v0lt Nov 20 2010, 09:45 AM
Thank you! Now it works and does not crash!

I have several files where the plugin does not see the audio tracks. Examples would be a little later.

Posted by: v0lt Nov 20 2010, 01:16 PM
Samples:
http://www.mediafire.com/?n63afsi99ak8v1n
http://www.mediafire.com/?s3su88pqxd2284i

http://www.mediafire.com/?k9tqis6xwpd5gv2

Posted by: fccHandler Nov 21 2010, 05:17 AM
v0lt: Thank you for providing these samples, I will be examining them soon.

L.H.V.F.: I think we may have a language barrier. I don't understand your complaint, and I didn't notice any problem with the FLV file you posted.

pureocean: I've uploaded version 1.2 of my FLV plugin to fix the problem you posted:

http://fcchandler.home.comcast.net/Plugins/FLV

Posted by: pureocean Nov 21 2010, 02:56 PM
@fccHandler: The issue fixed with new version. Thank you for FLV update.

I also had the same problem (AAC-LC SBR) about MKV files. Thank you also for this update. smile.gif


Posted by: fccHandler Nov 21 2010, 05:54 PM
Oops, the File Information dialog "Stream x of x" text field is not updating correctly in the new Matroska plugin. I will fix that in the next release.

Posted by: fccHandler Nov 25 2010, 04:49 AM
I've added support for AAC-LC (not SBR) as seen in the most recent AAC sample posted by v0lt:

http://fcchandler.home.comcast.net/Plugins/Matroska

I've also looked into Vorbis, but I'm not sure whether I want to support it yet. The proven way to package Vorbis in an AVI file (compatible with Vorbis ACM and ffdshow) is vastly different from the way that it is packaged in Matroska.

In Matroska, the Vorbis audio is pretty much dumped raw as is. But in AVI it appears to be wrapped into an Ogg container within the AVI container. I would probably have to write something like an Ogg multiplexer to repackage the Vorbis stream in real time for AVI delivery. That could get really ugly and I haven't decided yet if I want to pursue it.

Posted by: v0lt Nov 25 2010, 06:34 AM
Thank you for support AAC-LC!

Can not be packaged Vorbis in AVI. Otherwise, there will be problems. OGM format has been coined for it. But it died. In theory, vorbis-stream can be placed in the matroska with http://forums.virtualdub.org/index.php?act=ST&f=15&t=17508&st=0.

Posted by: jpsdr Nov 25 2010, 08:40 AM
Just for information, the fact is that Vorbis in mkv is not uncommun. For anime, at least, there is regularly the audio in Vorbis. It's not the most commun format, but it's not the most unusual.
In my case, the audio format i usualy encounter in mkv are :
AC3, DTS, FLAC (16 and 24bits), Vorbis, AAC.
Sometimes TrueHD alone (without AC3 core), but this one is realy unusual.

Posted by: L.H.V.F. Nov 27 2010, 01:51 AM
QUOTE (fccHandler @ Nov 21 2010, 05:17 AM)

L.H.V.F.: I think we may have a language barrier.  I don't understand your complaint, and I didn't notice any problem with the FLV file you posted.

http://fcchandler.home.comcast.net/Plugins/FLV


Thanks, fccHandler, for the last update, now this video that I had tested works better, now my suggestion is for the new plugins, usually not loads in Input side in my PC, and in moitah FLV_Input_Driver this problem does not occur, and I dont know certain if the problem is in compilator, I have the latest Visual C++ 2008, .NET Framework 3.5, and because this I dont know if the problem comes of this, and if the language in the programation utilized is this. Could you indicate the language utilized?

Posted by: fccHandler Nov 27 2010, 07:48 AM
QUOTE (L.H.V.F. @ Nov 26 2010, 09:51 PM)
usually not loads in Input side in my PC

Do you mean that you are not able to load the source code into Visual Studio 2008? The C++ source code was created with Visual Studio 2005, but it should load seamlessly into Visual Studio 2008. I would be very surprised if that is not true. There is no .NET code involved.

Posted by: L.H.V.F. Nov 30 2010, 01:38 AM
QUOTE (fccHandler @ Nov 27 2010, 07:48 AM)
QUOTE (L.H.V.F. @ Nov 26 2010, 09:51 PM)
usually not loads in Input side in my PC

Do you mean that you are not able to load the source code into Visual Studio 2008? The C++ source code was created with Visual Studio 2005, but it should load seamlessly into Visual Studio 2008. I would be very surprised if that is not true. There is no .NET code involved.

I have problems in my computer, it stay overloaded, and some resources not runs correctly, as program sourceforge.net (NSIS Error) and free programs of Doom9.org, but the problem must come of platform language. I have a partnership with microsoft, and I can download free, programs of Microsoft. I will go to download Visual Studio Professional 2005 in dreamspark.com, or MSDNAA, and I will go to test if the VirtualDub runs better.
I'm from Brazil and I have installed the DVD of MSDNAA (2009) original of microsoft.
The link of snapshot of my Control Panel:
http://img339.imageshack.us/i/imageofcontrolpanel.png/

Obs.:Really ever in my tests, in my PC, the Input side no runs any video in my computer, and had saw the documentation of your new plugin.

Posted by: lwc Dec 6 2010, 09:43 AM
Thanks for the FLV plugin, but nowadays you can download MP4 files from YouTube. Have you considered a MP4 plugin?

Posted by: Gromozeka Dec 6 2010, 12:14 PM
lwc
muxing mp4 to mkv with mkvtoolnix and open in virtualdub tongue.gif

Posted by: v0lt Dec 6 2010, 12:44 PM
QUOTE (Gromozeka @ Dec 6 2010, 12:14 PM)
muxing mp4 to mkv with mkvtoolnix and open in virtualdub tongue.gif

perversion

Posted by: L.H.V.F. Dec 8 2010, 06:32 PM
QUOTE (lwc @ Dec 6 2010, 09:43 AM)
Thanks for the FLV plugin, but nowadays you can download MP4 files from YouTube. Have you considered a MP4 plugin?

Hi, lwc

I had saw one site where I stayed knowing about existence of MP4 Input Driver. In VirtualDub Unofficial Forum begun a sketch of MP4 plugin for VirtualDub.

Check this site: http://forums.virtualdub.org/index.php?act=ST&f=7&t=15356

The plugin was descontinued, and in my tests not functioned rights in my videos, not made nothing.

I have found this plugin in this site, that has more other plugins for VirtualDub, that I not would have as find: http://altukhov.clan.su/forum/47-1373-1

If there was development this plugin would be an alternative in VirtualDub... As http://www.virtualdub.org/beta/DShowInputDriver-0.5.zip

Other version is: http://www.virtualdub.org/beta/DShowInputDriver-0.8.zip


Development resumed, because of the requests of the corrections of the plugin issues for the Avery Lee developer:
http://www.virtualdub.org/beta/DShowInputDriver-0.9.zip


New version is:
http://www.virtualdub.org/beta/DShowInputDriver-0.91.zip


Newest versions at:
http://forums.virtualdub.org/index.php?act=ST&f=7&t=15093&hl=dshow

Posted by: DarrellS Dec 11 2010, 05:26 AM
I could've sworn that I was opening H264/AAC FLV before with this FLV plugin but now I can't open any. I can open all the other FLV but not H264/AAC. I can use an ffmpeg .bat file to convert them all to MKV and then use the MKV plugin to open them but I cannot open them in an FLV container unless I use the directshow input driver.

When I try to open the H264 FLV with the FLV plugin, I get two very small green boxes. Virtualdub says it's using ffdshow to open the video and no audio. If I advance thriugh the movie, I can see the frames changing but it's just a very small corner of the frame. If I use the resize filter, I can blow the output frame to the right size but it still only shows the very corner. If it's a few blue pixels then the whole frame is blue.

I can only assume that Virtualdub is using the wrong splitter?

Posted by: fccHandler Dec 12 2010, 07:30 AM
QUOTE (lwc @ Dec 6 2010, 05:43 AM)
Thanks for the FLV plugin, but nowadays you can download MP4 files from YouTube. Have you considered a MP4 plugin?

Actually I HAVE been tinkering with .mp4, but I'm not ready to release a plugin yet. I will certainly post the news if I do decide to pursue it.

Posted by: fccHandler Dec 12 2010, 07:39 AM
QUOTE (DarrellS @ Dec 11 2010, 01:26 AM)
I can only assume that Virtualdub is using the wrong splitter?

If you are using my FLV plugin, then there is no external splitter involved. All of the code to demultiplex the video and audio streams is within the plugin itself. Can you post a link to a movie which is giving you trouble?

Posted by: v0lt Dec 12 2010, 08:31 AM
QUOTE (fccHandler @ Dec 12 2010, 07:30 AM)
Actually I HAVE been tinkering with .mp4, but I'm not ready to release a plugin yet. I will certainly post the news if I do decide to pursue it.

good news. I'll wait for release.

Posted by: DarrellS Dec 12 2010, 07:11 PM
QUOTE (fccHandler @ Dec 12 2010, 12:39 AM)
QUOTE (DarrellS @ Dec 11 2010, 01:26 AM)
I can only assume that Virtualdub is using the wrong splitter?

If you are using my FLV plugin, then there is no external splitter involved. All of the code to demultiplex the video and audio streams is within the plugin itself. Can you post a link to a movie which is giving you trouble?

I deleted the folder that I had them in. They all came from the same website so there was either something wrong with the files or replay media catcher messed them up when it downloaded them. They were all downloaded at the same time.

I have 4 or 5 downloads from youtube and they all open correctly with the plugin.

Weird thing was that in mediainfo, the properties looked pretty much identical as the youtube FLVs so I don't know what the problem was.

Do you know what software I can download to get "codecs" to show in Windows Explorer's View Details columns? I had it showing before but after reinstalling XP Pro, it no longer shows codecs since codecs is not a default column in XP. I've installed a few programs that I had before and they added more column options but still no codecs. I've googled many times ut cannot find how to get codecs to show in the Details columns. One guy said he reinstalled his codec pack and got it back but did not say which codec pack. I don't really want to install codec packs on my PC.

Posted by: DarrellS Dec 13 2010, 12:08 AM
I Guess the problem with the FLV files is that there is no meta data. I used ffmpeg to convert H264/AAC MKVs to FLV and have the same problem so I assume that's how the other H264 FLVs were created. That is the easiest way to turn an MP4 or MKV into an FLV, with the copy command.

EDIT: I guess that's not the problem either. The only thing I can do to get Virtualdub to open the files correctly with the plugin is to re-encode the files with Super. I can't just copy the streams into a new FLV container with the metadata.

EDIT: ...or batch convert all the FLVs to MKVs with ffmpeg and just use the MKV plugin to open them.

Posted by: ale5000 Dec 13 2010, 11:20 PM
I don't know if it is a bug or just a missing feature but the extracted raw audio (aac audio from flv file) isn't playable, instead if I extract it with FLV Extract it is playable.

Posted by: ale5000 Dec 17 2010, 02:08 PM
Vorbis audio inside .mkv isn't recognized, I can provide a sample if it is needed.

Posted by: L.H.V.F. Dec 19 2010, 02:26 AM
Hi, fccHandler

I had downloaded a video of an JW video Player, with DownloadHelper Firefox add-on, and when I have tested this FLV video, in many video players there are problems. This FLV not opens in any video player, and when I saw the file information in MediaInfo, and I discovered that is Moyea FLV Lib. Until the K-Lite Mega Codec have need the plugin patch for load this video codec correctly, and normaly only loads the audio. Then I tryed to test in VirtualDub. The moitah plugin runs the video without library, and fccHandler FLV plugin show the message "FLV not supported".
I wish FLV fccHandler plugin would has support this format, and I let available the link for this video: http://www.4shared.com/video/M8MP39gx/20101214bl3_1292371138.html

Respectfully,
L.H.V.F.

Posted by: ale5000 Dec 19 2010, 03:17 AM
@L.H.V.F.: With normal players you get only audio but it works fine with VLC.
The file contains VP6 video.

Posted by: fccHandler Dec 19 2010, 07:20 AM
QUOTE (ale5000 @ Dec 13 2010, 07:20 PM)
I don't know if it is a bug or just a missing feature but the extracted raw audio (aac audio from flv file) isn't playable, instead if I extract it with FLV Extract it is playable.

If you export the audio in VirtualDub then you truly get the raw AAC, and in my experience it is not playable. I suspect (like Windows Media Audio) that it has to be wrapped in some container to be playable. I could be wrong though and I will need to research it...

Posted by: Loadus Dec 19 2010, 04:21 PM
@fcchandler:

Again, huge thanks for your awesome work. Great plugins. ^^

Posted by: ale5000 Dec 20 2010, 12:30 AM
@fcchandler: I also thank you for your work.

First set of test files (4.87 MB): http://www.megaupload.com/?d=3PA6X7Z0
Problems:
1) Open the .flv in VirtualDub you will see a green frame (a similar problem happen also with the Matroska plugin)
2) Open the .flv in VirtualDub and then look at file information:
- It show Audio sampling rate as 96000 Hz instead of 44100 Hz
- The video frame rate is 29.916 fps for mediainfo but 29.909 for your plugin (not sure which is the right one)
- The audio duration is 2:26 for mediainfo but 2:27 for your plugin (not sure which is the right one)
- The video bitrate is 198 Kbps for mediainfo but 196 Kbps for your plugin (not sure which is the right one)
- Tell me if the problem is in MediaInfo so I can report it.
3) The .bin file is the one extracted by VirtualDub (not playable) instead the .aac file is the one extracted by FLV Extract (so you can see the differences)

Second set of test files (233.06 MB): http://www.megaupload.com/?d=IDXGWGY6
Problems:
1) This contains the problematic .flv file made from "Moyea FLV Lib" + other versions with the same video/audio but in other containers.

Posted by: stephanV Dec 20 2010, 08:53 AM
QUOTE (fccHandler @ Dec 19 2010, 08:20 AM)
If you export the audio in VirtualDub then you truly get the raw AAC, and in my experience it is not playable.

That's indeed true. Raw AAC data is not playable. What is usually referred to as 'raw AAC' though is AAC with ADTS headers, which IS playable.

Posted by: ale5000 Dec 20 2010, 10:28 PM
.FLV file with vp6a video (it has alpha channel): http://user.augmented-reality.it/~josef/tmp/alpha_vid.flv

The flv input plugin can open it but it only show black video.

Posted by: niko84 Dec 21 2010, 12:50 AM
I am having problems to use the FLV plugin as well with symptoms similar to the ones reported earlier.

My .flv file is H.264 and I can open/load it with Virtualdub but I only get a green screen. If I play the video the screen turns black and the frame counter starts to increment but no video.

I am on windows 7 and I have installed x264vfw.

Any help would be appreciated.

Posted by: fccHandler Dec 23 2010, 06:35 AM
L.H.V.F and ale5000:

Thank you both very much for uploading samples of your problem FLV files, especially Hatsune Miku biggrin.gif. I should have some time to examine them this weekend and I will let you know what I find out.

Posted by: ale5000 Dec 23 2010, 07:37 PM
No problem.

PS: I have noticed a minor problem, the Matroska plugin doesn't appears under Audio => Audio from other file...

Edit: In the preferences of VirtualDub I select "Prefer internal audio decoders over installed third-party codecs"
then I open an .mkv file but in File => File information... it still say "ACM codec" => "Lame MP3" instead of the internal MP3 decoder.

Posted by: phaeron Dec 24 2010, 12:06 AM
QUOTE
Edit: In the preferences of VirtualDub I select "Prefer internal audio decoders over installed third-party codecs"
then I open an .mkv file but in File => File information... it still say "ACM codec" => "Lame MP3" instead of the internal MP3 decoder.


This option doesn't work for input plugins -- they can only request video decoders from the host, not audio decoders.

Posted by: DarrellS Dec 24 2010, 04:44 AM
QUOTE (DarrellS @ Dec 12 2010, 05:08 PM)
I Guess the problem with the FLV files is that there is no meta data. I used ffmpeg to convert H264/AAC MKVs to FLV and have the same problem so I assume that's how the other H264 FLVs were created. That is the easiest way to turn an MP4 or MKV into an FLV, with the copy command.

EDIT: I guess that's not the problem either. The only thing I can do to get Virtualdub to open the files correctly with the plugin is to re-encode the files with Super. I can't just copy the streams into a new FLV container with the metadata.

EDIT: ...or batch convert all the FLVs to MKVs with ffmpeg and just use the MKV plugin to open them.

I uninstalled and reinstalled ffdshow, Haaili Splitter and reregistered FLV splitter and everything is working right again. Not sure which one was the problem or if they all were but it was not the plugin. I also had to reinstall my video drivers because I was having an overlay problem. Might be time for another reinstall of XP since something seems to have mucked up my system.

Posted by: ale5000 Dec 24 2010, 05:12 PM
@DarrellS: Haali Splitter and FLV splitter aren't used at all by plugins of fccHandler.

Posted by: fccHandler Dec 25 2010, 01:34 AM
L.H.V.F. and ale5000:
I don't remember which of you sent me these files, but here's what I've found:

alpha_vid.flv - fixed
It turns out that the 'VP6A' codec is totally broken in ffdshow. However, the 'VP6F' codec seems to work OK with VP6A data, so I am now using that FOURCC instead. (This is also what Moitah's plugin does.)

20101214bl3_1292371138.flv - fixed
The problem with this video is that it does not begin with a keyframe. I have added support for it anyway.

I've also fixed Matroska to appear in the "Audio from other files" dialog.

Regarding the AAC stuff, I am still investigating.

Merry Christmas everyone. smile.gif

http://fcchandler.home.comcast.net/Plugins/FLV
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: ale5000 Dec 25 2010, 02:10 AM
Merry Christmas biggrin.gif

PS: Did you found the cause of the mismacth file informations?
PS2: And about the frame 0 almost always green?

Posted by: L.H.V.F. Dec 25 2010, 02:16 AM
QUOTE (fccHandler @ Dec 25 2010, 01:34 AM)
L.H.V.F. and ale5000:
I don't remember which of you sent me these files, but here's what I've found:

[
20101214bl3_1292371138.flv - fixed
The problem with this video is that it does not begin with a keyframe.  I have added support for it anyway.


Thanks you, first, for your work, and I had posted in this page [5], post 11, in this page especifically: http://forums.virtualdub.org/index.php?act...20plugins&st=60,

Link of 20101214bl3_1292371138.flv: http://www.4shared.com/video/M8MP39gx/20101214bl3_1292371138.html

About the plugins, I have questioned my teacher of my Technical course of Informatic, and he say to me for runs as Administrator account first, for the problems with programs made with Visual Studio. He think that problem comes of my account with limited privileges, and also for in this case can't write in the folder "Program Files" ("Arquivo de Programas" - in the windows in portuguese), and folder "WINDOWS\System32", as I have problems with many programs, for this I use .zip programs, that not needed install. Other thing that he say to me, and I not have certain, are the programs compilated with Visual Studio, not should need to use the .NET Framework, he say that it is not possible, is needed to use some function of language, but only is possible not use a graphical tool recourses for do the program, and it uses a .NET Framework anyway.

Moitah plugin not have the same problem, and I have use both.

Merry Christmas for you too.

Posted by: fccHandler Dec 25 2010, 02:26 AM
L.H.V.F.:
Try this one instead:
http://fcchandler.home.comcast.net/TestFLV.zip

It is the same version 1.3, but built with Visual C++ 6.0 instead of Visual Studio 2005. I will be very interested if this makes a difference for you.

Posted by: fccHandler Dec 25 2010, 02:36 AM
QUOTE (ale5000 @ Dec 24 2010, 10:10 PM)
Merry Christmas biggrin.gif

PS: Did you found the cause of the mismacth file informations?
PS2: And about the frame 0 almost always green?

I did find the cause, but I'm not quite sure yet what I am supposed to put there. The high-level FLV header says 44100, but the low-level AAC header says 22050 (presumably due to SBR). So the question is what should go into the WAVEFORMAT header, and I don't have a good answer yet. In practice it doesn't seem to matter, but still a decision needs to be made and I want it to be the "correct" one. Still looking into it...

I have also seen that frame 0 is green in a lot of my FLV and MKV files. I suspect it might be the ffdshow decoders implementing a one-frame delay, i.e., it eats that frame for future reference but gives me nothing in return. If so then it may not be fixable.

Posted by: ale5000 Dec 25 2010, 04:12 AM
With MediaInfo you can get more info.

Example:
Audio #1
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AAC / LC
Codec ID : A_AAC
Duration : 24mn 40s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Title : AAC 5.1
Language : English

Audio #2
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AACv2 / HE-AAC / LC
Codec ID : A_AAC
Duration : 24mn 40s
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / Front: C / Front: C
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Title : AAC 2.0
Language : Japanese

It is retro-compatible, for example for the second audio track you get =>
- In players that support only LC you get: 1 channel, 24.0 KHz
- In players that support also HE-AAC you get: 1 channel, 48.0 KHz
- In players that support also HE-AACv2 you get: 2 channel, 48.0 KHz

Posted by: fccHandler Dec 25 2010, 05:34 AM
I'm sure you didn't get that info from an .flv file! The .flv format is very sparse and doesn't even support multiple audio tracks.

I ran MediaInfo on your Hatsune Miku .flv and got the following for the audio track:

Format: AAC
Format/Info: Advanced Audio Codec
Format profile: LC
Duration: 2mn 26s
Bit rate: 63.0 Kbps
Channel(s): 2 channels
Channel positions: Front: L R
Sampling rate: 22.05 KHz
Bit depth: 16 bits
Compression mode: Lossy
Stream size: 1.10 MiB (24%)

But I believe that profile is incorrect because (you say) it is an SBR stream. So my only real doubt is what is the "correct" value to go into the WAVEFORMAT nSamplesPerSec field. I am leaning towards 22050 being the correct value.

Posted by: ale5000 Dec 25 2010, 12:38 PM
There isn't SBR in Hatsune Miku Sings Levan Polka.flv file, sampling rate is really 22.05 KHz
It was a mistake, because I have now discovered that libfaad2 used by ffdshow-tryout for decoding aac erroneously set as SBR all aac tracks with low sampling rate.

Many players/decoders upscale all aac files with low sampling rate to 44100 Hz in any case.
The "Audio output sampling frequency" in mkv header is wrong sometimes.

You can't use only SBR / PS info from the header in any container because often they aren't declared, you need to directly parse aac like mediainfo (look for implicit SBR / PS detection).

Edit: The file from the example is different, here the HE-AAC - HE-AACv2 audio test file (file from the example): http://www.megaupload.com/?d=NUBLKZYJ
It is an .mkv with 2 audio tracks (no video track otherwise the file would be a lot bigger).

Edit2: You can see the aac parser here: http://mediainfo.svn.sourceforge.net/viewvc/mediainfo/MediaInfoLib/trunk/Source/MediaInfo/Audio/File_Aac.cpp

Posted by: jpsdr Dec 26 2010, 01:58 PM
The thing i don't understand, is that i've no mkv pluggin installed for VDub, but i can open mkv file without problem...
I'm not complaining, of course, but i'm curious to know why...
I've on my PC installed Haali splitter, ffdshow (+VDub filter), and Directshow plugin of Avery Lee.
When i open an mkv with VDub, i see the icon of Haali (twice) and one of ffdshow.
Just curious...

Posted by: L.H.V.F. Dec 27 2010, 12:28 AM
QUOTE (fccHandler @ Dec 25 2010, 02:26 AM)
L.H.V.F.:
Try this one instead:
http://fcchandler.home.comcast.net/TestFLV.zip
It is the same version 1.3, but built with Visual C++ 6.0 instead of Visual Studio 2005.  I will be very interested if this makes a difference for you.


Hi, fccHandler

I have tested your compilation of Visual C++ 6.0, and the problem that I have noticed about the Input side no loads a video to be continued in limited account user. But now I have opened in Administrator account and the K-Lite Mega Codec have indicated that various codec registry entries are truncated. I think this strange because runs a video in limited user, and Administrator not (?). The moitah plugin no needs a Administrator account for works right.


After I test the VirtualDub with other instalation (MISSING CODEC) in Administrator account, I will go post a reply of the results.

I have tested your plugins in Administrator account, after uninstall earlier version with problems, and now in Administrator account the plugins works right. Again I would say that Moitah plugin works equal in any user mode.
Snapshot of my Control Panel: http://img339.imageshack.us/i/imageofcontrolpanel.png/

The Visual Studio 2008 of accord with the my teacher has a different functions, others no exists more, and that would can there problems in different compilators (2005-2008). I have Visual C++ 2008.

I can see one problem in the last update of FLV plugin in this video: 20101214bl3_1292371138.flv http://img69.imageshack.us/i/snapshotgreenscreen.png/
Moitah plugin not shows a green screen in the first frame: http://img683.imageshack.us/i/snapshotmoitahplugin.png/


Respectfully,
L.H.V.F.

Posted by: dumah Dec 28 2010, 04:08 PM
Matroska also has a green color in the first few frames, when I converted to AVI (xvid) he also gets the green frames, sometimes it happens that the converted MKV to AVI is not correct.

Posted by: ale5000 Dec 28 2010, 04:50 PM
@L.H.V.F.: If the plugin appears in the list, but it just say MISSING CODEC it can also be that the plugin is working correctly but it is ffdshow-tryout that isn't working correctly (I'm talking about the VFW part of ffdshow-tryout).
I'm not sure if the Moitah plugin is using VFW or not.

Posted by: L.H.V.F. Dec 28 2010, 09:34 PM
QUOTE (ale5000 @ Dec 28 2010, 04:50 PM)
@L.H.V.F.: If the plugin appears in the list, but it just say MISSING CODEC it can also be that the plugin is working correctly but it is ffdshow-tryout that isn't working correctly (I'm talking about the VFW part of ffdshow-tryout).
I'm not sure if the Moitah plugin is using VFW or not.


I was referring about the different forms of works of the plugins. The Administrator account runs normally any video, and differently one limited account have problems, that I have noticed many times, this account not loads a video in Input side. The Moitah plugin runs a video without problems, independently of user hierarchy. The problem of (MISSING CODEC) has been solved, was only I uninstall the earlier K-Lite Mega Codec, for install other more recent that problem of codecs that I can solved this problem. Other problems that I can see is in this video 20101214bl3_1292371138.flv, this problem is independent of user mode, the fccHandler FLV plugin show a green screen in the first "key" frame, and in the Moitah plugin not, shows only a black frame.

Snapshot of my control Panel: http://img339.imageshack.us/i/imageofcontrolpanel.png/

The fccHanlder developer made a same program compilated with Visual C++ 6.0, and the first problem persists under a limited user account (...Input side not loads a video...). Other problems are secondary.

http://img69.imageshack.us/i/snapshotgreenscreen.png/- FLV fccHandler plugin

http://img683.imageshack.us/i/snapshotmoitahplugin.png/- Moitah plugin

Have you downloaded the mentioned video 20101214bl3_1292371138.flv ?

Thanks,
L.H.V.F.

Posted by: ale5000 Dec 29 2010, 01:38 AM
@L.H.V.F.:
The file "20101214bl3_1292371138.flv" works well with the latest version of the flv plugin of fcchandler.
The problem of the first frame being green isn't specific to .flv files, you get it also for .mkv for example.
I really don't think that the compiler is the problem and also just because it is compiled with Visual Studio doesn't necessarely mean that the file depend on .net framework.

I haven't had time to try on a limited user so I cannot say anything for now.

Posted by: Loadus Dec 31 2010, 11:48 AM
@fcchandler:
I remember that you weren't very fond of a plugin that writes stuff on it's own, but I'm still requesting this. biggrin.gif

Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)? I open the files usually with SendTo, and if there is an existing index, VirtualDub will open the file in a zap.

If it's too much hassle and work, then no probs.

Thx again for these awesome plugins, especially the MPEG-2 one. ^^

Posted by: L.H.V.F. Jan 3 2011, 02:17 AM
Hi ale5000 and fccHandler

Now I have tested on my other computer, under limited user account, this windows xp SP3 original and constantly updated, and the plugin works correctly, runs the video in Input Side. The problem, how I can see, comes of the part of the compilator. The other computer has only Visual C++ 2008 as compilator, and the windows original has both, 2005 and 2008 in the library. My teacher was right in the incompatibility of the compilators, is necessary to have both. However this windows are formated in FAT32, instead of NTFS, and not blocks to write in Program Files (Arquivo de Programas), and WINDOWS\System32...

Snapshot of the Control Panel of the other computer: http://img684.imageshack.us/i/imageofcontrolpanel.png/

Thanks,
L.H.V.F.

Posted by: chornobyl Jan 3 2011, 05:27 PM
@fccHandler
On your website, page "FLV plugin Change Log" have wrong title "FLIC plugin Change Log".

Posted by: L.H.V.F. Jan 8 2011, 12:09 AM
QUOTE (ale5000 @ Dec 28 2010, 04:50 PM)
@L.H.V.F.: If the plugin appears in the list, but it just say MISSING CODEC it can also be that the plugin is working correctly but it is ffdshow-tryout that isn't working correctly (I'm talking about the VFW part of ffdshow-tryout).
I'm not sure if the Moitah plugin is using VFW or not.


Hi ale5000

The moitah FLV Input Driver, since that I use this, before of the fccHandler leave available in his site, in the moitah plugin was needed in the VirtualDub a decoder, and in this plugin have exhibited message of error, if not there was a decoder. Then I would went search a decoder, and at time I found this: http://www.4shared.com/file/wVx1iOS7/vp6_decoder.html. The problem of need a decoder specific, not became impossible to use the moitah plugin, but fccHandler plugin runs maybe without this problem of need the decoder. I can open more videos with this decoder installed in the moitah plugin, despite of be an On2 VP6 decoder.

Edit: The new link of the VP6 On2 Decoder are now at:

https://docs.google.com/file/d/0B2P9tmmpSwF-eUdEMWJXVUhMWXc/edit?usp=sharing
(vp6 decoder.zip)


4Shared has blocked for only registered users do download of the shared files.


Edit (2): My http://minus.com account and online folder were deleted, because for a long time this sharing service was not working, and was not giving features of a sharing site that I previously and initially, wanted.


Posted by: ale5000 Jan 9 2011, 12:04 AM
@L.H.V.F.: I didn't really understand your message but you don't need a specific "vp6 decoder" since ffdshow-tryout already contains a vp6 decoder (you just need to enable it in it's vfw configuration).

Posted by: L.H.V.F. Jan 9 2011, 03:32 AM
QUOTE (ale5000 @ Jan 9 2011, 12:04 AM)
@L.H.V.F.: I didn't really understand your message but you don't need a specific "vp6 decoder" since ffdshow-tryout already contains a vp6 decoder (you just need to enable it in it's vfw configuration).


Before the fccHandler developer release your FLV plugin, I had used moitah plugin. At time I had not how opened my FLVs videos in VirtualDub, the plugin showed a error, saying of missing of a decoder. I don't know if I not would had a decoder if the moitah plugin would go function correctly, but after that I had installed the On2 VP6 decoder and the error disappeared in the moitah FLV Input Driver.

In other case, in the first release of WMV fccHandler plugin, it have showed a message in one video that I have, saying of fault of codec. Then I installed a decoder and the problems was solved. The video in WMV, that I will go to post one day, despite of have the codecs with K-Lite Mega Codec, stay missing a codec anyway, on the video or audio until install a decoder. The codec of last file mentioned is a hack, and this video works different of official, and needs to install a specific codec/decoder of microsoft.

Posted by: fccHandler Jan 9 2011, 07:20 AM
QUOTE (chornobyl @ Jan 3 2011, 01:27 PM)
@fccHandler
On your website, page "FLV plugin Change Log" have wrong title "FLIC plugin Change Log".

Good catch, thanks!

http://fcchandler.home.comcast.net/Plugins/FLV

Posted by: ale5000 Jan 9 2011, 02:31 PM
@L.H.V.F.: Your automatically translated "english" is really difficult to understand, it would be better if you divide the text in more simple phrases.
If it showed an error then it means that ffdshow-tryout isn't configured correctly.
Try to post a screenshot of the VFW configuration of ffdshow-tryout.

Posted by: fccHandler Jan 23 2011, 05:11 AM
QUOTE (Loadus @ Dec 31 2010, 07:48 AM)
Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?

Sorry to be so late responding; I missed your post the first time around.

The only thing that bothers me about your scenario is that it would need to happen automatically without giving the user a choice. That's out of the question.

Instead, I think the best way to do this would be to have an extended open option checkbox (unchecked by default) which you can check to enable the feature. Once checked, the plugin stores that option in the registry so it sticks.

I don't think the coding in this case will be as much of a hassle as it was for the MPEG-2 plugin, so I will definitely consider adding the feature. You will read about it here if/when I do. smile.gif

Posted by: Loadus Jan 23 2011, 09:01 AM
QUOTE (fccHandler @ Jan 22 2011, 11:11 PM)
QUOTE (Loadus @ Dec 31 2010, 07:48 AM)
Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?

Sorry to be so late responding; I missed your post the first time around.

The only thing that bothers me about your scenario is that it would need to happen automatically without giving the user a choice. That's out of the question.

Instead, I think the best way to do this would be to have an extended open option checkbox (unchecked by default) which you can check to enable the feature. Once checked, the plugin stores that option in the registry so it sticks.

I don't think the coding in this case will be as much of a hassle as it was for the MPEG-2 plugin, so I will definitely consider adding the feature. You will read about it here if/when I do. smile.gif

Sounds great, good job so far. ^^

Posted by: ale5000 Feb 1 2011, 10:12 PM
It would be nice if you add support to .webm / .webmv / .webma extensions (they should be similar to .mkv / .mka) and the new matroska extension: .mk3d (stereoscopic/3D video)[/b]

Posted by: fccHandler Feb 5 2011, 03:38 AM
QUOTE (ale5000 @ Feb 1 2011, 06:12 PM)
There is "FLV" in the title of the Matroska page

That's what I get for using Notepad cut and paste to make web pages. rolleyes.gif

QUOTE (ale5000 @ Feb 1 2011, 06:12 PM)
It would be nice if you add support to .webm / .weba extensions (they should be similar to .mkv / .mkv) and the new matroska extension: .mk3d (stereoscopic/3D video)

Is the only difference the file extension? If so, I can easily add those extensions to my plugin. However, if they are internally different from the http://www.matroska.org/technical/specs/index.html then they will not work, and I will need to get some examples before I can consider supporting them.

Posted by: ale5000 Feb 5 2011, 03:54 AM
QUOTE (fccHandler @ Feb 5 2011, 03:38 AM)
Is the only difference the file extension?  If so, I can easily add those extensions to my plugin.  However, if they are internally different from the http://www.matroska.org/technical/specs/index.html then they will not work, and I will need to get some examples before I can consider supporting them.

About .mk3d I don't really know.

About .webm, .webmv and .webma:
QUOTE
WebM is a digital multimedia container file format promoted by the open-source WebM Project. It comprises a subset of the Matroska multimedia container format.

Spec: http://www.webmproject.org/code/specs/container/

PS: MKVtoolnix can create them => http://www.bunkus.org/videotools/mkvtoolnix/
To create a .webm / .webmv / .webma file drag a video over "mkvmerge GUI", go on Global and check "Create WebM compliant file", etc.
To create a .mk3d drag a video over "mkvmerge GUI", select the video track, go on "Format specific options" and set "Stereoscopy" (I have never used it so I don't really know what it means).

Posted by: fccHandler Feb 5 2011, 06:13 PM
Regarding .webm and .weba, they are subsets of Matroska which allow only VP8 video and/or Vorbis audio. The plugin doesn't currently support either of these codecs, so until it does (if ever) there is no reason to add those extensions.

Regarding .mk3d, all this does is add a value to the stream (StereoMode=n). It seems intended to specify a means to encode two stereo video tracks, one for the left eye and one for the right. If you are not actually muxing stereo video streams, you should turn this off. Consequently I will not add this extension because I have no idea yet how I would support stereo video in VirtualDub.

Posted by: fccHandler Feb 6 2011, 06:04 AM
QUOTE (Loadus @ Dec 31 2010, 07:48 AM)
Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?

This turned out to be trickier than I expected, but I think it is finished now for Matroska. Let me know if you see any problems.

http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: ale5000 Feb 6 2011, 09:16 AM
Edit: Problem fixed

Posted by: Loadus Feb 6 2011, 09:46 AM
QUOTE (fccHandler @ Feb 6 2011, 12:04 AM)
QUOTE (Loadus @ Dec 31 2010, 07:48 AM)
Could you cook up a version of the MKV plugin and your (awesome) MPEG-2 plugin that automatically write an index file right next to the original file (ie. without going to advanced settings)?

This turned out to be trickier than I expected, but I think it is finished now for Matroska. Let me know if you see any problems.

http://fcchandler.home.comcast.net/Plugins/Matroska

You friggin' rock, m8. Let me know if you ever need graphics for anything - icons, logos etc. I owe you a lot.

Posted by: fccHandler Feb 6 2011, 05:27 PM
QUOTE (ale5000 @ Feb 6 2011, 05:16 AM)
@fccHandler: In the dialog it say "[filename].mkvindex" while the file created has the extension ".mkidx".

Oops, that's left over from when I was trying to decide what the extension would be. Will fix in the next release.

QUOTE (ale5000 @ Feb 6 2011, 05:16 AM)
Also the .mkidx file cannot by opened unless you manually select "Matroska files" from the drop down list.

I didn't plan to allow opening .mkidx files directly, but I might add that feature later. Right now, the fact that you can open it by force is a bug.

Regarding Vorbis, it's been discussed before in this thread. I would like to add support, but it will surely be complex and I can't say when I will get around to it.

Posted by: ale5000 Feb 6 2011, 06:02 PM
Edit: Problem fixed

Posted by: fccHandler Feb 6 2011, 07:31 PM
QUOTE (ale5000 @ Feb 6 2011, 02:02 PM)
I thought that the function of writing and index to file was for opening later the index file (to open the video with parsing it).

No, in VirtualDub you always open the .mkv file, not the .mkidx file. What happens is the plugin looks for a previously saved .mkidx file in the same folder and with the same name as the .mkv file. If the .mkidx file exists, then it automatically loads the index from that, which is like 1000 times faster than doing a full parse of the .mkv.

In the future I will probably add the ability to open the .mkidx file directly, but currently it doesn't work.

To support Vorbis I have a pretty good idea of what I need to do; it's just a matter of deciding how and where to implement it. I think it is going to be difficult to do without turning the current code into a huge mess, and to be really honest Vorbis is kind of low on my priorities.

Posted by: fccHandler Feb 6 2011, 07:48 PM
Hmm, seems that "Save as default" is not having the desired effect, but I think I know why. Will fix soon.

EDIT: Fixed:
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: Dstruct Feb 11 2011, 06:27 PM
With this MKV file I'm getting VirtualDub to crash all the time:

CODE
VirtualDub crash report -- build 32839 (release)
--------------------------------------

Disassembly:
10007320: 8928            mov    [eax], ebp
10007322: 8b442434        mov    eax, [esp+34h]
10007326: 85c0            test   eax, eax
10007328: 7406            jz     10007330
1000732a: c70001000000    mov    dword ptr [eax], 00000001
10007330: 5f              pop    edi
10007331: 5b              pop    ebx
10007332: 33c0            xor    eax, eax
10007334: 85d2            test   edx, edx
10007336: 5e              pop    esi
10007337: 0f94c0          setz   al
1000733a: 5d              pop    ebp
1000733b: 59              pop    ecx
1000733c: c22000          ret    0020
1000733f: cc              int    3
10007340: 8b442404        mov    eax, [esp+04h]
10007344: 8b4810          mov    ecx, [eax+10h]
10007347: 8b4124          mov    eax, [ecx+24h]
1000734a: c20400          ret    0004
1000734d: cc              int    3
1000734e: cc              int    3
1000734f: cc              int    3
10007350: 8b442404        mov    eax, [esp+04h]
10007354: 8b4810          mov    ecx, [eax+10h]
10007357: 8b4128          mov    eax, [ecx+28h]
1000735a: c20400          ret    0004
1000735d: cc              int    3
1000735e: cc              int    3
1000735f: cc              int    3
10007360: 8b442404        mov    eax, [esp+04h]
10007364: 8b4014          mov    eax, [eax+14h]
10007367: c20400          ret    0004
1000736a: cc              int    3
1000736b: cc              int    3
1000736c: cc              int    3
1000736d: cc              int    3
1000736e: cc              int    3
1000736f: cc              int    3
10007370: 8b442404        mov    eax, [esp+04h]
10007374: 8b4c2408        mov    ecx, [esp+08h]
10007378: 894814          mov    [eax+14h], ecx
1000737b: c20800          ret    0008
1000737e: cc              int    3
1000737f: cc              int    3
10007380: b001            mov    al, 01h
10007382: c20800          ret    0008
10007385: cc              int    3
10007386: cc              int    3
10007387: cc              int    3
10007388: cc              int    3
10007389: cc              int    3
1000738a: cc              int    3
1000738b: cc              int    3
1000738c: cc              int    3
1000738d: cc              int    3
1000738e: cc              int    3
1000738f: cc              int    3
10007390: 32c0            xor    al, al
10007392: c20400          ret    0004
10007395: cc              int    3
10007396: cc              int    3
10007397: cc              int    3
10007398: cc              int    3
10007399: cc              int    3
1000739a: cc              int    3
1000739b: cc              int    3
1000739c: cc              int    3
1000739d: cc              int    3
1000739e: cc              int    3
1000739f: cc              int    3
100073a0: 33c0            xor    eax, eax
100073a2: 33d2            xor    edx, edx
100073a4: c20c00          ret    000c
100073a7: cc              int    3
100073a8: cc              int    3
100073a9: cc              int    3
100073aa: cc              int    3
100073ab: cc              int    3
100073ac: cc              int    3
100073ad: cc              int    3
100073ae: cc              int    3
100073af: cc              int    3
100073b0: 8b442404        mov    eax, [esp+04h]
100073b4: 8b4808          mov    ecx, [eax+08h]
100073b7: 8b4924          mov    ecx, [ecx+24h]
100073ba: 8b5104          mov    edx, [ecx+04h]      <-- FAULT
100073bd: 8b442408        mov    eax, [esp+08h]
100073c1: 895004          mov    [eax+04h], edx
100073c4: 8b4908          mov    ecx, [ecx+08h]
100073c7: 894808          mov    [eax+08h], ecx
100073ca: c70000000000    mov    dword ptr [eax], 00000000
100073d0: c6400c00        mov    byte ptr [eax+0ch], 00h
100073d4: c20800          ret    0008
100073d7: cc              int    3
100073d8: cc              int    3
100073d9: cc              int    3
100073da: cc              int    3
100073db: cc              int    3
100073dc: cc              int    3
100073dd: cc              int    3
100073de: cc              int    3
100073df: cc              int    3
100073e0: 8b442404        mov    eax, [esp+04h]
100073e4: 8b4808          mov    ecx, [eax+08h]
100073e7: 8b442408        mov    eax, [esp+08h]
100073eb: 3b4144          cmp    eax, [ecx+44h]
100073ee: 7332            jnc    10007422
100073f0: c1e004          shl    eax, 04h
100073f3: 034140          add    eax, [ecx+40h]
100073f6: 8b4c2410        mov    ecx, [esp+10h]
100073fa: 8b10            mov    edx, [eax]
100073fc: 895108          mov    [ecx+08h], edx
100073ff: 8b5004          mov    edx, [eax+04h]
10007402: 89510c          mov    [ecx+0ch], edx
10007405: f7400800000080  test   [eax+08h], 80000000
1000740c: 740a            jz     10007418
1000740e: c6410100        mov    byte ptr [ecx+01h], 00h
10007412: c6014b          mov    byte ptr [ecx], 4bh
10007415: c21000          ret    0010
10007418: c6410101        mov    byte ptr [ecx+01h], 01h
1000741c: c60120          mov    byte ptr [ecx], 20h
1000741f: c2              db     0c2h

Built on Aegis on Sun Sep 05 20:52:28 2010 using compiler version 1400

Windows 5.1 (Windows XP x86 build 2600) [Service Pack 3]

EAX = 00bd3e10
EBX = 00c5b2a4
ECX = 00000000
EDX = 100073b0
EBP = 00c5b2d0
ESI = 00c5ade0
EDI = 00c5b2b0
ESP = 0012fcec
EIP = 100073ba
EFLAGS = 00210246
FPUCW = ffff027f
FPUTW = ffffffff

Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'Matroska'...

...reading address 00000004.

Pointer dumps:

EAX   00bd3e10: 10016a94 00e50048 00bd3cd0 00000002 ffffffff 00bd3df8 0005003b 00001000
EBX   00c5b2a0: 00bd3e08 00000000 00000000 00c56b28 00000001 00000001 00000000 00000000
EDX   100073b0: 0424448b 8b08488b 518b2449 24448b04 04508908 8908498b 00c70848 00000000
ESI   00c5ade0: 005fb7b0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
EDI   00c5b2b0: 00000001 00000001 00000000 00000000 00000001 00000001 00000000 00000000
ESP   0012fce8: 00000000 004d690b 00bd3e10 00c5b2d0 00c56b44 00c57908 0012fda4 00000000
     0012fd08: 00c5ade0 00c56b44 00c57908 00c56b50 005fb894 000001c6 0012fd58 005d7a0f
     0012fd28: 00000007 004d6f0e 00bd3e10 00c56b28 00c57908 00c573f0 00c57908 00000000
     0012fd48: 00bd3e10 00c56b50 005fb894 000004e9 0012fd98 005d7a83 00000003 00465057
EBP   00c5b2d0: 00000000 00000000 00000000 00000000 00a10044 010c0109 000007f0 ffffffff
     00c5b2f0: 00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000000
     00c5b310: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
     00c5b330: 00000000 00000000 00000000 00518fb1 0012f3ec 006425c0 00000000 00000000

Thread call stack:
100073ba: Matroska!VDGetPluginInfo [10000000+36b0+3d0a]
004d690b: VDVideoSourcePlugin::VDVideoSourcePlugin()
004d6f0e: VDInputFilePlugin::GetVideoSource()
00465057: VDProject::Open()
0051d1d8: VDAutoLogger::VDAutoLogger()
00448cbb: VDProcessCommandLine()
7e368734: USER32!GetDC [7e360000+86c7+6d]
7e36882a: USER32!GetDC [7e360000+86c7+163]
7e3689cd: USER32!GetWindowLongW [7e360000+88a6+127]
7e3693e9: USER32!PeekMessageW [7e360000+929b+14e]
7e37a471: USER32!PeekMessageA [7e360000+1a340+131]
7e3689ea: USER32!GetWindowLongW [7e360000+88a6+144]
7e37a43b: USER32!PeekMessageA [7e360000+1a340+fb]
004520d8: WinMain@16()
005b771b: __tmainCRTStartup()
7c817077: kernel32!RegisterWaitForInputIdle [7c800000+1702e+49]

-- End of report



CODE
General
Unique ID                        : 250264549060621732130817303533964931617 (0xBC4732EB779054C685A7E8409EEEB221)
Format                           : Matroska
File size                        : 4.37 GiB
Duration                         : 1h 45mn
Overall bit rate                 : 5 924 Kbps
Encoded date                     : UTC 2010-12-14 07:25:11
Writing application              : mkvmerge v4.0.0 ('The Stars were mine') built on Jun  6 2010 16:18:42
Writing library                  : libebml v1.0.0 + libmatroska v1.0.0

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 5 frames
Format settings, GOP             : M=4, N=16
Codec ID                         : V_MPEG4/ISO/AVC
Duration                         : 1h 45mn
Bit rate                         : 4 413 Kbps
Width                            : 1 280 pixels
Height                           : 544 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 24.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.264
Stream size                      : 3.17 GiB (73%)
Writing library                  : x264 core 110 r1820 fdcf2ae
Encoding settings                : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=4413 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language                         : English

Audio
ID                               : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Codec ID                         : A_DTS
Duration                         : 1h 45mn
Bit rate mode                    : Constant
Bit rate                         : 1 510 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 24 bits
Compression mode                 : Lossy
Stream size                      : 1.11 GiB (25%)
Language                         : French

Text
ID                               : 3
Format                           : UTF-8
Codec ID                         : S_TEXT/UTF8
Codec ID/Info                    : UTF-8 Plain Text
Language                         : English



FIXED (2.1)

Posted by: fccHandler Feb 12 2011, 01:30 AM
Weird. The video format (BITMAPINFO) pointer is NULL, and that's not ever supposed to happen.

At what point did it crash: before, during, or at the end of the parsing stage?

Had you previously saved a .mkidx file alongside this video?

Please try this older version 1.7 and let me know if you see the same crash:
http://fcchandler.home.comcast.net/Matroska17.zip

Also would you be able to extract the first 4 KB of this file and post it? It would be helpful for me to examine the Matroska headers; maybe there is something unusual in there.


EDIT: Nevermind.
This is an old bug come back to haunt me. I will fix it tonight.

Posted by: fccHandler Feb 12 2011, 03:43 AM
Fix for Dstruct's crash:
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: Dstruct Feb 12 2011, 09:41 AM
QUOTE (fccHandler @ Feb 12 2011, 05:43 AM)
Fix for Dstruct's crash:
http://fcchandler.home.comcast.net/Plugins/Matroska

Yep, all fine now in 2.1! Thanks!

Posted by: dumah Feb 14 2011, 04:20 AM
Is there any way to fix a first few green frames in mkv?

Posted by: fccHandler Feb 15 2011, 02:17 AM
The honest answer is, I don't know. I'm not really sure yet what causes the green frames.

Posted by: JaliM Feb 17 2011, 08:20 AM
I have a FLV (AVC+AAC) file dl from Internet TV. If I import to VDub (using FLV fcchandler's filter) the AVC stream is detected but audio AAC stream not, VD info file audio section says nothing (empty).
If I convert FLV to MKV with no audio or video recompression and import to VDub with Matroska fcchandler's filter, then AVC+AAC are detected properly, then I can edit and export to AVI with 'Direct Stream copy' without any problem in A/V sync.!!.

Is it easy to implement an AAC source-parser for FLV VD filter as MKV does? In case it is possible, the 'Direct Stream copy' for Video and Audio could be achived without streams decompression as MKV does?

It should simplify the automation for processes and will avoid the use of other 3rd party video encoders such as Avidemux/FFmpeg to convert firstly FLV to MKV before using VirtualDub.

I upload a FLV sample in http://www.mediafire.com/?grigmz19ee5ivuq to test.

Thanks,

Posted by: Jam One Feb 17 2011, 09:23 AM
I think you may also wish to consider to go the http://forums.virtualdub.org/index.php?act=ST&f=7&t=15093&s= way,
at least as a temporary measure.

Posted by: JaliM Feb 17 2011, 10:19 AM
QUOTE (Jam One @ Feb 17 2011, 09:23 AM)
I think you may also wish to consider to go the http://forums.virtualdub.org/index.php?act=ST&f=7&t=15093&s= way,
at least as a temporary measure.

But direct Stream copy is not possible (I mean without decompreesion-keeping AVC and AAC in resulting AVI) sad.gif

Posted by: ale5000 Feb 17 2011, 12:53 PM
Edit: Post removed

Posted by: JaliM Feb 17 2011, 04:24 PM
but... can this be fixed?

Posted by: ale5000 Feb 17 2011, 05:46 PM
You need to wait a reply from fccHandler.

Posted by: fccHandler Feb 19 2011, 04:02 AM
Thank you JaliM for providing a sample file. The problem was a bug in my FLV plugin. (One of the audio blocks in your sample file is written in an unusual way, but it isn't wrong.) I've uploaded version 1.4 to fix the bug:

http://fcchandler.home.comcast.net/Plugins/FLV

Posted by: JaliM Feb 19 2011, 05:08 PM
Oh Thanks! Working in ALL my downloaded FLV files now!

Posted by: pureocean Feb 19 2011, 06:43 PM
@fccHandler: Thank you very much for non-stop updates.

This FLV files cannot import with VirtualDub. Error message: "Couldn't parse FLV"

File-1: http://members.chello.nl/d.heeswijk7/Showreel_2007_DvH.flv

File-2: http://fareastcinema.com/wp-content/spiegler/2009/10/Maybe-Rabbit-and-Lizard.flv

Note: I've tried previously and lastest version(v1.4). No change.

Posted by: JaliM Feb 19 2011, 06:56 PM
Yes, Virtualbub fails to parse.

If you open in Avidemux, it says there is not a 'video stream' but it repairs and opens wink.gif so, if you resave to a new FLV file in Avidemux, with no recompresion, then it open in VirtualDub, so I deduce there's a problem in FLV headers...

Posted by: Gral Feb 19 2011, 08:08 PM
QUOTE (pureocean @ Feb 19 2011, 12:43 PM)
@fccHandler: Thank you very much for non-stop updates.

This FLV files cannot import with VirtualDub. Error message: "Couldn't parse FLV"

File-1: http://members.chello.nl/d.heeswijk7/Showreel_2007_DvH.flv

File-2: http://fareastcinema.com/wp-content/spiegler/2009/10/Maybe-Rabbit-and-Lizard.flv

Note: I've tried previously and lastest version(v1.4). No change.

I can open these files with Moitah's plugin (intalled simultaneously with fccHandler's one, but with lower priority).
It seems fccHandler's plugin fails and skip parsing, allows Moitah's plugin to works.

Posted by: fccHandler Feb 20 2011, 06:38 AM
Thank you pureocean for posting those files. I will see what I can do to fix the problems.

In other news, I have a new AAC ACM decoder up and running in VirtualDub. I've incorporated support into the FLV plugin but I'm not sure yet if it will work with Matroska... Anyway I plan to upload a very experimental build this weekend. Stay tuned. smile.gif

Posted by: ale5000 Feb 20 2011, 06:44 AM
Edit: post removed

Posted by: fccHandler Feb 20 2011, 07:39 PM
Well, that's the thing. It won't work with raw AAC, at least not yet. The AAC frames must be wrapped with ADTS headers. I've rewritten the FLV plugin to wrap the frames so currently it will work with FLV. I haven't incorporated the ADTS wrapping code into the Matroska plugin yet. Working on it...

Posted by: fccHandler Feb 20 2011, 08:37 PM
The last two FLV files posted have incorrect TypeFlags in the FLV header. (Remuxing fixes that of course.) I've changed the FLV plugin to ignore the TypeFlags field from now on. The new version also wraps AAC frames with ADTS headers as we discussed:
http://fcchandler.home.comcast.net/Plugins/FLV

[RANT]This kind of thing ticks me off though. What good are specifications if people don't follow them?! And of course your software which faithfully adheres to the specs gets the blame when it doesn't work. Aargh...[/RANT]

Posted by: phaeron Feb 20 2011, 09:18 PM
QUOTE
[RANT]This kind of thing ticks me off though. What good are specifications if people don't follow them?! And of course your software which faithfully adheres to the specs gets the blame when it doesn't work. Aargh...[/RANT]


Welcome to my world....

Posted by: ale5000 Feb 20 2011, 11:10 PM
Edit: Problem fixed

Posted by: fccHandler Feb 20 2011, 11:30 PM
QUOTE (ale5000 @ Feb 20 2011, 07:10 PM)
What is the advantage of it?

It is necessary for the http://forums.virtualdub.org/index.php?act=ST&f=3&t=19757 to work.

However there does seem to be a problem with the resulting AVI files after Direct Stream Copy. VirtualDub will play them but MPlayer won't. Bummer. I will have to investigate this to see if it is fixable.

Posted by: ale5000 Feb 20 2011, 11:59 PM
Edit: Problem fixed

Posted by: fccHandler Feb 21 2011, 12:33 AM
QUOTE (ale5000 @ Feb 20 2011, 07:59 PM)
So it mean that it will work only for .flv files and for .avi files "direct stream copied" starting from your FLV plugin?

What about .avi files created from other applications?

The codec will not work for .avi files with raw AAC audio, although I suppose you could remux them into .mkv and then convert them back to .avi with the new Matroska plugin (v2.2). That would build ADTS headers into it.

I don't know about .avi files with AAC created from other applications. It will depend on whether they keep the ADTS headers or not.

It may be possible in the future for the codec to support raw AAC directly but I'm not sure how yet.

QUOTE (ale5000 @ Feb 20 2011, 07:59 PM)
Is it possible to have an option in extended option to revert to old method without ADTS headers?

Yes, and I agree it is a good suggestion.

Posted by: ale5000 Feb 21 2011, 01:23 AM
QUOTE (fccHandler @ Feb 21 2011, 12:33 AM)
It may be possible in the future for the codec to support raw AAC directly but I'm not sure how yet.

Great biggrin.gif

Posted by: ale5000 Feb 21 2011, 02:08 AM
Edit: Post removed

Posted by: fccHandler Feb 21 2011, 04:29 AM
QUOTE (ale5000 @ Feb 20 2011, 10:08 PM)
A very minor thing: In the extended options of your plugins if I click "Cancel" it still open the file.
Is it supposed to be like this?

Yes. That button cancels any changes you made in the Extended Options dialog. It doesn't stop the Open operation. There is another Cancel button in the parsing dialog which will stop the Open operation (although it doesn't actually cancel it; some portion of the file is still loaded).

Posted by: fccHandler Feb 21 2011, 05:22 AM
QUOTE (ale5000 @ Feb 20 2011, 07:59 PM)
Is it possible to have an option in extended option to revert to old method without ADTS headers? (In case you only need "Direct Stream Copy" and you want smaller files)

I have added this option to Matroska:
http://fcchandler.home.comcast.net/Plugins/Matroska

I will soon add it to FLV as well.

By the way, I do not like having to do this. But I am definitely getting the impression that AAC-in-AVI is required to be stored raw (or at least that most software expects this). I think it's quite possible that this was a decision made long ago by Alex Noé, and now we are stuck with it due to the popularity of his AVI-Mux GUI.

If so, the only good solution is to fix the AAC Codec so that it can deal with raw AAC. I suspect it's possible, but I know it will be hard to do.

Posted by: ale5000 Feb 21 2011, 05:37 AM
Edit: Post removed

Posted by: fccHandler Feb 21 2011, 06:31 AM
QUOTE (fccHandler @ Feb 21 2011, 01:22 AM)
I will soon add it to FLV as well.

Done:
http://fcchandler.home.comcast.net/Plugins/FLV

Posted by: pureocean Feb 21 2011, 09:20 AM
@fccHandler:

...And fixed! Thank you very much for FLV and Matroksa updates. Also new plugin(AACACM).

Posted by: JaliM Feb 21 2011, 11:55 AM
Hi, I am doing some tests with new AAC ACM Decoder:

I see that if you import MKV/FLV (AVC+AAC) videos with ADTS enabled option, you can play resulting AVI in VLC, Mplayer, and in internal VirtualDub player, but in any other DirectShow player you always need FFDshow Audio with AAC enabled to play, because other AAC Dshow filters fails to render AAC-ADTS files inside AVIs. They expect RAW-AAC such found in other containers: FLV, MP4, MKV. The resulting AVI is therefor mute.

On the other hand if you import MKV/FLV raw stream (without ADTS. AVIMUX GUI mode) the resulting AVI plays on VLC, Mplayer and on ALL directshow players with appropiate AAC filter (CoreAAC, FFDShow Audio, MPC-HC built-in,...) but there's no sound in VirtualDub built-in player sad.gif so there's no possibility to recode audio.

I think (if it's possible) the best path to take is the second, allowing to listen audio (transcode too) in VirtualDub. Perhaps allowing ACM AAC filter to interpret RAW AAC (not only ADTS-AAC).

Posted by: JaliM Feb 21 2011, 12:09 PM
I found that Mastroska filter can't import MKA audiofile from Audio>Audio from other file. VDub says 'No supported video track found.' So I suspect that MKV/MKA filter import requieres at least a video track.
While Vdub doesn't support .aac import, I thought that mka (with aac audio) was possible but now I see is not, because of a video track in matroska is mandatory... fccHandler, can this be fixed? Thanks

Posted by: Dstruct Feb 21 2011, 12:25 PM
Bug in AAC ACM codec 1.0:


"Info" says:
--------------------------------------------
AC-3 ACM Codec
Version 1.05
Dolby Digital AC-3 codec for Windows ACM
--------------------------------------------


Once I viewed this info window and close it, I'll no longer see the "AC-3 ACM Codec" in the Audiocodecs Properties window. I have to close and reopen it to get it back.


Looks like AC-3 ACM and AAC ACM somehow conflict with each other.

Posted by: ale5000 Feb 21 2011, 03:22 PM
@Dstruct: It isn't something new, the "codec disappearance problem" happen with AC3, AAC, Vorbis, DivX Audio acm codecs (it is a long standing windows xp bug).

Posted by: JaliM Feb 21 2011, 03:39 PM
If you want to change some ACM properties you can use AnalogX ACM properties

http://analogx.com/contents/download/Programming/acmprop/Freeware.htm

All ACM installed codecs are shown properly, including AC3 and AAC wink.gif

Posted by: fccHandler Feb 21 2011, 07:47 PM
QUOTE (JaliM @ Feb 21 2011, 07:55 AM)
I see that if you import MKV/FLV (AVC+AAC) videos with ADTS enabled option, you can play resulting AVI in VLC, Mplayer, and in internal VirtualDub player...

Are you referring to http://www.mplayerhq.hu/design7/news.html? Because my copy doesn't work with AAC-in-AVI with ADTS headers. Only raw AAC-in-AVI works for me. Where did you get your copy of MPlayer?

Posted by: Dstruct Feb 21 2011, 08:26 PM
QUOTE (ale5000 @ Feb 21 2011, 05:22 PM)
@Dstruct: It isn't something new, the "codec disappearance problem" happen with AC3, AAC, Vorbis, WMA acm codecs (it is a long standing bug).

Are you sure?


I just tested again: Viewing Properties windows of different installed ACM codecs and then closing these windows.

What happens: Each time the AC-3 entry gets removed from the list. Why the "AC-3" entry? Because it's listed at the end or what's the reason?

Posted by: ale5000 Feb 21 2011, 10:17 PM
@Dstruct: Look here => http://forums.virtualdub.org/index.php?act=ST&f=3&t=19757

Posted by: JaliM Feb 22 2011, 08:05 AM
QUOTE (fccHandler @ Feb 21 2011, 07:47 PM)
QUOTE (JaliM @ Feb 21 2011, 07:55 AM)
I see that if you import MKV/FLV (AVC+AAC) videos with ADTS enabled option, you can play resulting AVI in VLC, Mplayer, and in internal VirtualDub player...

Are you referring to http://www.mplayerhq.hu/design7/news.html? Because my copy doesn't work with AAC-in-AVI with ADTS headers. Only raw AAC-in-AVI works for me. Where did you get your copy of MPlayer?

Look at http://www.paehl.com/open_source/?Convert_Tools:MPLAYER_MENCODER

Please test svn versions (svn 32943+). It plays AAC-in-AVI with ADTS and RAW.

I also test SMPLAYER (MPlayer GUI) from http://sourceforge.net/projects/smplayer/files/Experimental/smplayer-0.6.9.3597-win32.exe/download and also works!

VLC 1.1.7+, and any directshow player with FFDshow Audio tryouts (AAC enabled) also plays both AAC-in-AVI versions.

Have you browse the possibility to import MKA files (AAC audio-only) in VirtualDub Matroska filter in Audio>Import audio from file... I mentioned in an earlier post? It is because AAC direct import in VD is not yet possible, or perhaps is easy to implement an AAC filter import (raw and adts')?

Thank fccHandler.

Posted by: ale5000 Feb 22 2011, 12:26 PM
Edit: Post removed

Posted by: fccHandler Feb 26 2011, 03:45 AM
QUOTE (JaliM @ Feb 22 2011, 04:05 AM)
I also test SMPLAYER (MPlayer GUI)  from http://sourceforge.net/projects/smplayer/files/Experimental/smplayer-0.6.9.3597-win32.exe/download

I tried this version today but it seems to play my AAC-in-AVI at double rate, at least the one file I am testing with. The people sound like chipmunks. This happens with both raw AAC and AAC with ADTS headers. To be fair, they do warn that it is an experimental build.

Yet the same AVI, with raw AAC, plays correctly for me in Windows Media Player 10 and my current favorite MPlayer (which was taken from smplayer-0.6.8-win32.exe). But neither will play the AAC if it includes ADTS headers. What a mess... wacko.gif

QUOTE
Have you browse the possibility to import MKA files (AAC audio-only) in VirtualDub Matroska filter in Audio>Import audio from file...  I mentioned in an earlier post?

Yes, it is on my list of things to do.

Posted by: fccHandler Feb 27 2011, 03:56 AM
I've reversed the logic of the FLV and Matroska plugins so that raw AAC is the default. (The default is what is used if you've never saved the extended open options.)

I finally added the ability to open Matroska audio-only files (*.mka). For this purpose a fake video stream is generated, same as the WMV plugin. Enjoy.

http://fcchandler.home.comcast.net/Plugins/FLV
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: ale5000 Feb 27 2011, 04:24 AM
I haven't tried yet but does your matroska plugin support header removal compression?

Posted by: fccHandler Feb 27 2011, 04:35 AM
Yep.

Posted by: v0lt Feb 27 2011, 06:30 AM
plugin does not see FLAC audio

http://www.jory.info/serendipity/archives/13-FLAC-ACM.html

http://www.nyaa.eu/?page=torrentinfo&tid=196393 and http://www.nyaa.eu/?page=torrentinfo&tid=196357 is the smaller samples

Posted by: fccHandler Feb 27 2011, 06:39 AM
There is no support for FLAC in the plugin right now, but I will add it to my list of things to do. Thank you for the samples.

Posted by: ale5000 Feb 27 2011, 11:28 PM
Edit: Post removed

Posted by: ale5000 Feb 28 2011, 12:28 AM
Test file (AAC test.mka): http://www.multiupload.com/Q83SC7XZTD

On preview it say "No audio decompressor could be found to decompress the source audio format. (source format tag: 00ff)"
ACM codec (tag): AAC ACM Codec (0x00FF)

For this file:
- VLC say 32000 Hz, Stereo
- MediaInfo say 16.0 KHz, 1 channel
- You input plugin in file information say 32000 Hz, 0 channels

PS: In matroska plugin (and maybe others) can you remove "Stream 1 of 1" in File => File information... when the video file hasn't any audio track.

Posted by: ale5000 Feb 28 2011, 12:57 PM
Edit:
QUOTE
# A_PCM/FLOAT/IEEE: Uncompressed PCM, IEEE floating-point

Posted by: Dstruct Feb 28 2011, 01:44 PM
QUOTE (ale5000 @ Feb 22 2011, 12:17 AM)
@Dstruct: Look here => http://forums.virtualdub.org/index.php?act=ST&f=3&t=19757

What's the conclusion?



Version 1.2 still has the problem!


If both (AC-3 ACM and AAC ACM) are installed, you get the configuration dialog of the AC-3 ACM codec also for the AAC ACM codec. No chance to view the AAC ACM config dialog in this case!


Second bug: Uninstallation via Control Panel not working (XP SP3)! FIXED (1.3)

Posted by: ale5000 Feb 28 2011, 01:59 PM
Edit: Post removed

Posted by: ale5000 Feb 28 2011, 10:49 PM
Test file, H.264 (1920x1080).mkv: http://www.multiupload.com/5P9ADP5SLQ

MediaInfo show a duration of 10s 10ms in the direct stream copied .avi file instead of 1mn 2s of the original file, maybe the matroska plugin store wrong length?

Posted by: pureocean Mar 3 2011, 12:15 AM
Dear @fccHandler,

Virtualdub+Matroska plugin couldn't properly open to videos with x264vfw-codec. Only black screen. It's now possible.
Bugmaster's x264vfw special fix: http://www.mediafire.com/?pn2j9hspsihs7ie

Even if properly opened with x264win-fix, cannot working still Smart Rendering feature on special fix or normal x264win builds. Error message: Cannot initialize smart rendering: The selected video codec is able to compress the source video, but cannot match the same compressed format.

But no problem on FFDshow's VFW-decoders. As you know, Removed X264 encoder support on FFdshow's VFW interface (I don't mean the decoder feature). Lastest support version (SVN build): 3667

Is possible add support x264win with smart rendering?

Posted by: JaliM Mar 3 2011, 04:37 PM
QUOTE (pureocean @ Mar 3 2011, 12:15 AM)
As you know, Removed X264 encoder support on FFdshow's VFW interface (I don't mean the decoder feature). Lastest support version (SVN build): 3667

I see... Why latests svn FFdshow-tryout trhough away x264, Xvid and others VFW encoding capabilities? Anyone knows why? If there's no solutions, perhaps a VFW smart rendering-enabled encoder in x264vfw is needed...

Posted by: Placio74 Mar 3 2011, 04:59 PM
Look at the topic on Doom9 forum: http://forum.doom9.org/showthread.php?t=159425

Posted by: BugMaster Mar 3 2011, 08:39 PM
pureocean
Smart rendering must work with x264vfw's 32_1913bm_27769 release.

Posted by: fccHandler Mar 4 2011, 02:22 AM
ale5000: You are giving me plenty of busy work. smile.gif

AAC_test.mka and HE-AACv2 Test.mka:
I suspect these are SBR, plus the Matroska tracks are missing a "Channels" element. Both of these things are problematic right now but I will work on it.

PCM.mka and CRANK (1)-001.mkv:
These two contain PCM audio tracks which are not yet supported, but it is a high priority on my list.

H.264 (1920x1080).mkv:
I didn't notice any problems with this one (using ffdshow). I don't have x264vfw installed.

I understand about the 3-byte start code and will implement a 4-byte code in the next version. As for MediaInfo I can only conclude that it is wrong. It is fairly easy to prove that the output AVI is still 1:02 (1869 frames at 29.97 fps).

As for the missing FOURCC in the File Information dialog, can you post a screen shot? I can't think of any reason that would happen.

Posted by: ale5000 Mar 4 2011, 02:39 AM
Edit: Problem fixed

Posted by: pureocean Mar 4 2011, 02:46 AM
@Bugmaster:

Thank you for new release. Finally, it's worked Smart Rendering. Thanks!

Posted by: fccHandler Mar 5 2011, 06:35 PM
I've added support for uncompressed PCM and HE AAC v2, and fixed some cosmetic issues:

http://fcchandler.home.comcast.net/Plugins/Matroska

But to rant, I am not happy about the way HE AAC v2 was muxed in the AAC_test.mka file uploaded by ale5000. There is no metadata in the Matroska headers or the audio private data which enables me to detect Parametric Stereo, and I have had to settle for an ugly hack to make it work. For now I consider the code experimental.

Posted by: BugMaster Mar 6 2011, 01:03 AM
fccHandler
You added zero_byte to 3-byte startcodes only for SPS/PPS but H.264 specs says (B.1.2 Byte stream NAL unit semantics):

zero_byte is a single byte equal to 0x00.
When any of the following conditions are fulfilled, the zero_byte syntax element shall be present:
– the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter set) or 8 (picture parameter set),
– the byte stream NAL unit syntax structure contains the first NAL unit of an access unit in decoding order, as specified by subclause 7.4.1.2.3.

So first NAL in every frame must start from 4-byte sequence 0x00, 0x00, 0x00, 0x01 (so in UnwrapAVCFrame also). For you it probably would be less work to change all of them to 4-byte (not only first).

P.S. If you don't have H.264 specs you can freely get them here: http://www.itu.int/rec/T-REC-H.264-201003-I/en

Posted by: ale5000 Mar 6 2011, 01:44 AM
QUOTE (fccHandler @ Mar 5 2011, 07:35 PM)
But to rant, I am not happy about the way HE AAC v2 was muxed in the AAC_test.mka file uploaded by ale5000. There is no metadata in the Matroska headers or the audio private data which enables me to detect Parametric Stereo, and I have had to settle for an ugly hack to make it work. For now I consider the code experimental.

I know it isn't good but this is the so called "implicit detection" that pratically mean that the header doesn't know and you must parse the aac stream directly.

Posted by: fccHandler Mar 6 2011, 02:20 AM
QUOTE (BugMaster @ Mar 5 2011, 09:03 PM)
If you don't have H.264 specs you can freely get them here: http://www.itu.int/rec/T-REC-H.264-201003-I/en

Thank you for pointing me to the spec! In fact I did not have it and didn't realize it was free. And you're right, I did overlook the UnwrapAVCFrame function. I will fix it in the next release.

Posted by: fccHandler Mar 6 2011, 02:24 AM
QUOTE (ale5000 @ Mar 5 2011, 09:44 PM)
I know it isn't good but this is the so called "implicit detection" that pratically mean that the header doesn't know and you must parse the aac stream directly.

That is exactly why I'm unhappy about it. In my opinion the audio channel configuration should be specified somewhere in the container so I don't have to go digging through the raw audio data to get this info.

HE-AACv2 Test.mka does have the PS flag specified in its AudioSpecificConfig (codec private data), which is exactly where it should be. The AAC_Test.mka is missing this information. I don't have the real AAC spec so I'm not 100% sure whether it is a violation or not.

Posted by: ale5000 Mar 6 2011, 03:06 AM
Edit: Problem fixed

Posted by: ale5000 Mar 6 2011, 03:50 AM
Edit: Post removed

Posted by: fccHandler Mar 6 2011, 04:52 AM
QUOTE (ale5000 @ Mar 5 2011, 11:06 PM)
When I click again on the right arrow the text "Stream x of x" disappear.

Good catch. I will fix this in the next release.

QUOTE
When you open an "audio only" matroska file you cannot direct stream copy the "NO VIDEO" video.
It would be nice to don't waste time on compressing the "NO VIDEO" video and just direct stream copy a very small dummy video.

Implementing direct stream copy of the dummy video is far more difficult than it sounds, and I can't imagine any reason that anyone would want to do that. Sorry, I am going to decline this request.

Posted by: ale5000 Mar 6 2011, 05:20 AM
QUOTE (fccHandler @ Mar 6 2011, 05:52 AM)
Implementing direct stream copy of the dummy video is far more difficult than it sounds, and I can't imagine any reason that anyone would want to do that. Sorry, I am going to decline this request.

The reason is just to use VirtualDub to edit "audio only" files, but I still can do in other ways so it isn't a big problem.

Posted by: ale5000 Mar 6 2011, 10:54 PM
For the following I haven't verified but it is highly probable:

1) The problem of 3-byte startcodes in H.264 and the fourcc missing in "File informations..." with x264vfw codec could possibly happen also with the FLV and WMV plugins.

2) The problem of "Stream 1 of 1" without audio tracks or dissappearing "Stream x of x" could possibly happen also with the MPEG2 plugin.

Posted by: fccHandler Mar 12 2011, 06:38 AM
QUOTE (ale5000 @ Mar 6 2011, 06:54 PM)
http://www.megaupload.com/?d=6MICVR6K

Wow, that is a great test case! 23 audio streams. Thank you for uploading it.

As originally designed, the WMV plugin File Information dialog only displays the information for the currently selected audio stream. This was an ugly hack from the old days. I will update its dialog to behave like my other plugins.

Posted by: fccHandler Mar 13 2011, 06:21 AM
Updated WMV plugin 2.5, now displays information for all audio tracks, plus audio language information if available:

http://fcchandler.home.comcast.net/Plugins/WMV

I do plan to implement a similar display of audio language information in the Matroska plugin, when I get time.

Posted by: fccHandler Mar 19 2011, 04:14 AM
Version 2.6 of the Matroska plugin is available:
http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: ale5000 Mar 20 2011, 04:43 AM
Edit: Problem fixed

Posted by: fccHandler Mar 20 2011, 05:05 AM
The File Information dialog means exactly what it says; no language was specified. I have never heard anyone claim that the default Matroska language is English. Can you point me to a link to verify this?

Posted by: ale5000 Mar 20 2011, 05:23 AM
Here: http://www.bunkus.org/videotools/mkvtoolnix/faq.html#default_values

Posted by: fccHandler Mar 20 2011, 05:56 AM
QUOTE
The Matroska specifications know a feature called "default values". These default values have been in place since the beginning in 2002.

OK, that's what this one dude says. But I can't find anything like that in the official specs at matroska.org. Sorry, I need better evidence than his claim.

Incidentally, I am not at all convinced that mkvtoolnix is a proper implementation of the Matroska specification.

Posted by: ale5000 Mar 20 2011, 06:07 AM
Go here: http://www.matroska.org/technical/specs/index.html
Look at "Language" in the table, the default value is "eng".

Posted by: fccHandler Mar 20 2011, 06:15 AM
Ah, there it is. You win! I will implement this in the next release. Thank you my friend. biggrin.gif

Posted by: stephanV Mar 20 2011, 10:41 AM
QUOTE (fccHandler @ Mar 20 2011, 06:56 AM)
QUOTE
The Matroska specifications know a feature called "default values". These default values have been in place since the beginning in 2002.

OK, that's what this one dude says. But I can't find anything like that in the official specs at matroska.org. Sorry, I need better evidence than his claim.

Incidentally, I am not at all convinced that mkvtoolnix is a proper implementation of the Matroska specification.

Whatever you think of his implementation, he (Moritz Bunkus/Mosu) is one of the people from who the Matroska spec originated so generally you can take his word on it. smile.gif

Posted by: ale5000 Mar 20 2011, 11:24 PM
Test file (Manual cut.mkv): http://www.mediafire.com/?i2pi62oiz1j29lq

1) The second audio track (with PS) is detected as Mono instead of Stereo (it isn't related to new changes it happen also with old versions of your plugin)

2) The test file was too big so I cut some parts in the middle.
MPC-HC (using Haali splitter + ffdshow-tryout) can play the parts before and after the cut in the middle instead VirtualDub can see only the initial part of the file.
Seeing the entire "remaining" file is important (but there isn't any urgency) so your plugin can be used to recover broken matroska files.

Posted by: JaliM Mar 23 2011, 11:15 AM
@fcchandler: Is it possible to add native MPEG2 video to Matroska input plugin? If possible, could be easy to add 'Direct stream copy' feature in video side?
I know the problems in putting MPG in AVI, but, if FFmpeg & Mencoder are able, why not VDUb? (apart from using FFDShow VFW MPEG-in-AVI codec which is possible. But, the newer versions of FFDshow unfortunetely lack encoding features like Xvid, MPEG, x264.... sad.gif
At the moment if I open a MKV with ES MPEG2 native video inside, it is not detected (NO VIDEO STREAM message appears). Otherwise a MKV mpeg2-VFWed video file using FOURCC mpg2 (MPG-in-AVI muxed to MKV with Mkvtoolnix) is detected by the MPEG-in-AVI featured FFDshow VFW decode interface.
Perhaps a MPEG input plugin update could be appreciated allowing 'Video direct stream copy'... wink.gif
Thanks,

Posted by: ale5000 Mar 23 2011, 07:54 PM
Edit: Post removed

Posted by: ale5000 Mar 24 2011, 04:15 AM
@fcchandler: Test file (HE-AAC test.zip): http://www.multiupload.com/UUT54GJZHE
This is an HE-AAC track with sampling rate: 48.0 KHz (for HE-AAC decoders) / 24.0 KHz (for AAC decoders)
The two sample files are the same track but the first has "HE-AAC flag" not set while in the second file it is set.

You can notice that VirtualDub see 24000Hz on both files (probably because HE-AAC is made to be retrocompatible with software that support only AAC) so the HE-AAC sampling rate should be read in a different way.
This also mean that the Matroska input plugin is writing wrong values of the sampling rate when direct stream copying HE-AAC in avi files.

PS: It would be nice if it show "48000Hz / 24000Hz" in File => File Information... (at least for the HE-AAC in MKV)

Posted by: ale5000 Mar 24 2011, 02:06 PM
In case you can't easily detect the sampling rate from inside the "AAC ACM Codec" you can use this method (that I think is the method that most software uses), if the file is AAC use reported sampling rate instead if the file is HE-AAC use reported sampling rate * 2.

Posted by: fccHandler Mar 26 2011, 06:13 AM
QUOTE (ale5000 @ Mar 20 2011, 07:24 PM)
2) The test file was too big so I cut some parts in the middle.
MPC-HC (using Haali splitter + ffdshow-tryout) can play the parts before and after the cut in the middle instead VirtualDub can see only the initial part of the file.
Seeing the entire "remaining" file is important (but there isn't any urgency) so your plugin can be used to recover broken matroska files.

My Matroska plugin is not intended to be a tool to recover broken files. I require the input to conform to the Matroska spec. I do try to work around minor damage, but if needed headers are missing from the beginning of the file, that is game over dude.

I will be looking into native MPEG-2 support and the AAC stuff you posted.

Posted by: fccHandler Mar 26 2011, 04:13 PM
QUOTE (ale5000 @ Mar 20 2011, 07:24 PM)
Test file: http://www.mediafire.com/?i2pi62oiz1j29lq

1) The second audio track (with PS) is detected as Mono instead of Stereo (it isn't related to new changes it happen also with old versions of your plugin)


QUOTE (ale5000 @ Mar 24 2011, 12:15 AM)
@fcchandler: Test file (HE-AAC test.zip): http://www.multiupload.com/UUT54GJZHE
This is an HE-AAC track with sampling rate: 48.0 KHz (for HE-AAC decoders) / 24.0 KHz (for AAC decoders)
The two sample files are the same track but the first has "HE-AAC flag" not set while in the second file it is set.

In all of these cases the containers are overriding the actual AAC properties.

Both AVI files specify 24000 Hz in the audio header, so that is the sampling rate which VirtualDub passes to the AACACM codec. The codec has no control over this; it has to give the client what he asked for.

The second Matroska audio track contains a "Channels" field with a value of 1, which (in my opinion) overrides Parametric Stereo. It is debatable whether it should, but it is a decision I had to make and I will stick to it. If you want this track to play in stereo then you should set Channels to 2, or just omit the Channels field (in which case PS should be detected automatically).

Posted by: ale5000 Mar 26 2011, 04:17 PM
In the posted file (Manual cut.mkv) the header is NOT missing it is just: first good part of the file + some zero where there was data + correct end of the file.

Your plugin seems to stop at the zero.

Posted by: ale5000 Mar 26 2011, 04:28 PM
The AVI header must contain data to play correctly the LC profile of the AAC, to play SBR the decoder must multiply sampling rate * 2.

QUOTE
ADTS sample rates and channel counts are for HE-AAC and HE-AACv2 to try to maintain compatibility with LC only decoders. The good news is that it they are inaccurate in a precise manner. HE-AAC will report half the sample rate and HE-AACv2 will always report a mono stream. This is because HE-AAC adds SBR which double the sample rate and HE-AACv2 adds parametric stereo to SBR and PS turning a mono stream into a stereo image. The SBR payload lives inside an AAC fill element which is ignored by an LC only encoder and the PS payload lives inside the SBR payload.

Some decoders assume SBR if the sample rate <= 24kHz and always decode mono streams to stereo to avoid detecting these features up front. In that case the SBR decoder can be run in a pure upsampling mode if SBR data is not found.


QUOTE (Moritz Bunkus @ 2010-08-25, 08:33:36)
https://www.bunkus.org/bugzilla/show_bug.cgi?id=548 => That's not a bug. HE-AAC files contain _half_ their actual sampling rate in their headers.


By specifying the full sampling rate you are breaking playback in "LC only decoders".

Posted by: fccHandler Mar 26 2011, 04:36 PM
QUOTE (ale5000 @ Mar 26 2011, 12:17 PM)
Your plugin seems to stop at the zero.

Specifically, it goes haywire after the SimpleBlock at 1629472 when it hits an invalid Element ID of 0xB2. After this everything falls apart because we are out of sync with the Elements. You know the old saying, Garbage In, Garbage Out...

Posted by: fccHandler Mar 26 2011, 04:57 PM
QUOTE (ale5000 @ Mar 26 2011, 12:28 PM)
The AVI header must contain data to play correctly the LC profile of the AAC, to play SBR the decoder must multiply sampling rate * 2.

I disagree with this regarding the AVI header.

QUOTE (ale5000 @ Mar 26 2011, 12:28 PM)
By specifying the full sampling rate you are breaking playback in "LC only decoders".

I don't understand you. Who is breaking what exactly? What do you mean by "LC only decoders"?

What is happening with these AVI files is that the decoder (faad2) is detecting SBR and decoding at the full rate, but the clients (VirtualDub and AACACM) mistakenly perceive it as 24000 Hz due to the rate specified in the audio header. In my opinion the header is incorrect; it should specify the true playback rate of 48000 Hz.

But let me ask you; what do you expect to happen when playing one of these files in VirtualDub?

Posted by: ale5000 Mar 26 2011, 07:41 PM
QUOTE (fccHandler @ Mar 26 2011, 05:57 PM)
QUOTE (ale5000 @ Mar 26 2011, 12:28 PM)
The AVI header must contain data to play correctly the LC profile of the AAC, to play SBR the decoder must multiply sampling rate * 2.

I disagree with this regarding the AVI header.
This is how avi with HE-AAC are created in other applications, certainly people that use ffdshow or VLC won't have any problems in both cases but your implementation disagree with the implementation in other apps.

QUOTE (fccHandler @ Mar 26 2011, 05:57 PM)
QUOTE (ale5000 @ Mar 26 2011, 12:28 PM)
By specifying the full sampling rate you are breaking playback in "LC only decoders".

I don't understand you. Who is breaking what exactly? What do you mean by "LC only decoders"?

What is happening with these AVI files is that the decoder (faad2) is detecting SBR and decoding at the full rate, but the clients (VirtualDub and AACACM) mistakenly perceive it as 24000 Hz due to the rate specified in the audio header. In my opinion the header is incorrect; it should specify the true playback rate of 48000 Hz.
"LC only decoders" => Decoders that support AAC but that don't support HE-AAC.
Decoders that support HE-AAC doesn't use the sampling rate that it is in the AVI headers (so they simply don't care).

QUOTE (fccHandler @ Mar 26 2011, 05:57 PM)
But let me ask you; what do you expect to happen when playing one of these files in VirtualDub?
It could be that VirtualDub read the LC sampling rate (24000 Hz in this case) in the AVI header and report it to the AAC ACM Codec then the AAC ACM codec analyze the file, if it is HE-AAC then use sampling rate * 2 otherwise use sampling rate * 1.

Posted by: fccHandler Mar 26 2011, 09:01 PM
I know what the term "LC only decoders" means, actually, I should have said can you give me an example of one. Maybe some hardware devices, but I wouldn't know...

The big problem here is that we are trying to have our cake and eat it too, so to speak. I don't think that you are taking into consideration how the Windows Audio Compression Manager works.

If the MKV plugin lies to VirtualDub that the rate is 24KHz (when it is really SBR 48KHz) then you end up with an AVI with 24KHz in its header. VirtualDub will pass that on to the ACM, and the AAC codec is forced to work with that. He cannot return any other sampling rate but what the client specifies. In fact, that is the problem now with your AVI files; we are returning the true 48KHz but VirtualDub still thinks it is 24KHz.

Also due to the limitations of the ACM it is not possible for AACACM to detect implicit SBR or PS during the initial format negotiations. He does not have access to the audio data until the stream decoding begins, but by that time it is too late because input and output formats have already been decided.

As I see it there are three solutions:

1) AACACM must downsample HE-AAC before returning it to the client. But if we do that then you will never hear the enhanced quality that HE-AAC provides. Might as well just throw out all of that HE-AAC code in faad2.

2) VirtualDub must be made aware of SBR and deal with it on his side (not likely to happen).

3) Don't lie to VirtualDub; tell him the true output sampling rate of the audio so that he can negotiate for that rate with the AAC codec. The problem here is that he will also write that rate into the AVI header which (you say) is wrong.

Currently number 3 is what I have implemented. I do not like the other solutions. If I am breaking somebody's app then so be it, but so far you are the only one who has complained.

Posted by: fccHandler Mar 26 2011, 09:15 PM
QUOTE (ale5000 @ Mar 26 2011, 03:41 PM)
PS: I have noticed another problem, I remux an .mkv file (with HE-AAC audio) to .avi with VirtualDub; then I try to remux the resulting avi with MKVtoolnix, it say "This AAC track does not contain valid headers. The extra header size is 7 bytes, expected were 2 or 5 bytes."
Edit: Added test file with bad extra header size created by VirtualDub + Matroska input plugin: http://www.multiupload.com/I07JPARCWZ

The extra bytes are the AudioSpecificConfig defined in the AAC spec, presumably taken straight from the Matroska file. It is 7 bytes because it contains explicit signalling of HE-AAC v2 Parametric Stereo in a second extension field. (Actually it signals that PS is NOT present, which is a bit weird but not out of spec.)

Was the Matroska file created with MKVtoolnix? If so then it is strange that he would write a 7-byte AudioSpecificConfig, but not be able to read it back...

Posted by: phaeron Mar 26 2011, 10:38 PM
QUOTE
It could be that VirtualDub read the LC sampling rate (24000 Hz in this case) in the AVI header and report it to the AAC ACM Codec then the AAC ACM codec analyze the file, if it is HE-AAC then use sampling rate * 2 otherwise use sampling rate * 1.


ACM codecs don't work this way -- they have to be able to report the sampling rate based on the header prior to seeing any audio data. This usage of the WAVEFORMATEX structure definitely sounds questionable and I'd say it's broken. Even DirectShow would have problems with this in some circumstances, I'd say.


Posted by: ale5000 Mar 27 2011, 03:06 AM
QUOTE (phaeron @ Mar 26 2011, 11:38 PM)
QUOTE
It could be that VirtualDub read the LC sampling rate (24000 Hz in this case) in the AVI header and report it to the AAC ACM Codec then the AAC ACM codec analyze the file, if it is HE-AAC then use sampling rate * 2 otherwise use sampling rate * 1.


ACM codecs don't work this way -- they have to be able to report the sampling rate based on the header prior to seeing any audio data. This usage of the WAVEFORMATEX structure definitely sounds questionable and I'd say it's broken. Even DirectShow would have problems with this in some circumstances, I'd say.

Well, I'm not the one that decided it biggrin.gif but it is like this.
You can try it yourself with both ffdshow-tryout and VLC, they ignore the sampling rate and channels number in the avi header and always get the right values (this is for HE-AAC and HE-AACv2 I don't know for other formats).

Posted by: ale5000 Mar 27 2011, 03:10 AM
Edit: Problem fixed

Posted by: fccHandler Mar 27 2011, 03:56 AM
QUOTE (ale5000 @ Mar 26 2011, 11:10 PM)
The result file has 7-byte extra header.

Umm, I don't know how I can state this any more clearly. The extra 7 bytes is the AudioSpecificConfig taken from the Matroska file. If mkvtoolnix is telling you that AudioSpecificConfig cannot be 7 bytes, then it is mistaken, and you will need to contact the author.

Incidentally, it is possible for AudioSpecificConfig to be a size other than 2, 5, or 7 bytes (for example, if it contains a custom sampling rate).

Posted by: fccHandler Mar 27 2011, 04:01 AM
QUOTE (ale5000 @ Mar 26 2011, 11:06 PM)
it is like this.
You can try it yourself with both ffdshow-tryout and VLC, they ignore the sampling rate and channels number in the avi header and always get the right values (this is for HE-AAC and HE-AACv2 I don't know for other formats).

Yes, but we are talking about playback within VirtualDub. He does utilize those values from the AVI header and there is no getting around it.

Posted by: ale5000 Mar 27 2011, 04:04 AM
Edit: Problem fixed

Posted by: L.H.V.F. Mar 27 2011, 04:06 AM
Hi, fccHandler

I've used your latest version WMV Input Plugin, and I have installed the codecs adequately of microsoft, and in my experience, I saw a problem with a framerate in videos above of "15.000 fps". It shows wrong the framerate in VirtualDub, in my tests for .wmv. Fortunately, now in my videos .wmv, don't show a green screen in the first key frame, only happens if I open another window of the video board and it gets gray in some moments. I would like to say that video have one problem in "File Information" in VirtualDub, because the video in question, have 29.970 fps, as I can see in MediaInfo, and VirtualDub show that has "29.995 fps".


Could you indicate what is the fail, or correct this in your plugin? I need to use your plugin for convert with some Filters, exclusive for VirtualDub, this video with low resolution: Video Enhancer: http://www.infognition.com/VideoEnhancer/ in test for me, for while. In another video, in earlier version of your plugin, I can make the resolution better with RGB 24 in one video, but when I went tried to convert the framerate (15.000 fps to 30.000fps) (with Lagarith codec), maybe for incorrect schema of framerate, the video output converted stood with something as "30,092 fps" (in my research the maximum of framerate accepted is 30.000 fps in CRT television), but this video was the unique with sucessfully converted framerate that I could make. I will post this video one day, when I install and configure better my codecs, after configuring one more complicated video ( I can open this video in VirtualDub one time.. , but the file in Direct Stream Copy was a .wav with the original file .wma inside, that only can be open in Sound Forge). It showed "???" for codec in tentative of Direct Stream Copy, in SUPER, earlier version. Now in the latest version of SUPER, I can do a direct stream copy of this video finally... VirtualDub doesn't open this audio of video so easily (it made a .wav, with .wma original file inside).

Video with problems: http://www.4shared.com/video/OE0y3D4v/Projeto_de_Apoio_a_Continuidad.html

Before install microsoft official codecs: http://img193.imageshack.us/i/problemwmvcodec.png/

After install codecs: http://img835.imageshack.us/i/snapshotafterinstall.png/

I thank your return,
L.H.V.F.

Posted by: ale5000 Mar 27 2011, 04:18 AM
QUOTE (fccHandler @ Mar 27 2011, 05:01 AM)
QUOTE (ale5000 @ Mar 26 2011, 11:06 PM)
it is like this.
You can try it yourself with both ffdshow-tryout and VLC, they ignore the sampling rate and channels number in the avi header and always get the right values (this is for HE-AAC and HE-AACv2 I don't know for other formats).

Yes, but we are talking about playback within VirtualDub. He does utilize those values from the AVI header and there is no getting around it.

What about setting a custom comunication between VirtualDub and the ACM codec?
Like this:
1) VirtualDub get a request to open an .avi file
2) It looks for an ACM codec
3) Check in the export table of the ACM codec an additional API (for example DriverProcCustom)
4) If it find the API then call it (requesting the two sampling rate and the two channels number, they will be equal for normal aac files) before open the file in the normal way (but with the correct data returned before) otherwise it just behave like usual.

One sampling rate/channels number is for storing in the AVI headers while the others (real values) are for everything else.

Posted by: fccHandler Mar 27 2011, 04:26 AM
I have uploaded version 2.8 of the Matroska plugin:
http://fcchandler.home.comcast.net/Plugins/Matroska

There are a lot of little changes and some big new features, so let the bug reports commence. biggrin.gif

Posted by: ale5000 Mar 27 2011, 04:29 AM
QUOTE
Added experimental support for MPEG-2 video and Vorbis audio.
I must cry for joy (before even try it) biggrin.gif

Posted by: fccHandler Mar 27 2011, 04:31 AM
QUOTE (ale5000 @ Mar 27 2011, 12:04 AM)
is it possible to remove automatically the useless things like when it signals that PS is NOT present?

No, it is not out of spec and it is not necessarily useless either. Who knows, someday someone may want this information.

Posted by: fccHandler Mar 27 2011, 04:36 AM
QUOTE (ale5000 @ Mar 27 2011, 12:29 AM)
QUOTE
Added experimental support for MPEG-2 video and Vorbis audio.
I must cry for joy (before even try it) biggrin.gif

You may hate me soon, because there is no ACM codec that will work with this Vorbis support. tongue.gif

I am using a technique similar to what ffmpeg used. It works well with MPlayer, and sort of works with Windows Media Player. It does not work at all with the one Vorbis ACM codec I tried.

One problem I see is that seeking in an AVI with Vorbis is always off. I don't know yet why that happens.

Posted by: fccHandler Mar 27 2011, 04:54 AM
QUOTE (ale5000 @ Mar 27 2011, 12:18 AM)
What about setting a custom comunication between VirtualDub and the ACM codec?

Good luck convincing Avery Lee to implement that. ph34r.gif

Posted by: fccHandler Mar 27 2011, 04:59 AM
QUOTE (L.H.V.F. @ Mar 27 2011, 12:06 AM)
I've used your latest version WMV Input Plugin, and I have installed the codecs adequately of microsoft, and in my experience, I saw a problem with a framerate in videos above of "15.000 fps". It shows wrong the framerate in VirtualDub, in my tests for .wmv.

Hello again! Your English is still difficult to understand, but when I have time I will look at the files you posted and let you know what I discover.

Posted by: ale5000 Mar 27 2011, 05:29 AM
QUOTE (fccHandler @ Mar 27 2011, 05:36 AM)
You may hate me soon, because there is no ACM codec that will work with this Vorbis support. tongue.gif

I am using a technique similar to what ffmpeg used.  It works well with MPlayer, and sort of works with Windows Media Player.  It does not work at all with the one Vorbis ACM codec I tried.
Cutting the file with Vorbis audio in direct stream copy works, and this is the most important thing for me biggrin.gif

Posted by: fccHandler Mar 27 2011, 05:31 AM
QUOTE (fccHandler @ Mar 27 2011, 12:36 AM)
One problem I see is that seeking in an AVI with Vorbis is always off.  I don't know yet why that happens.

Some additional testing tonight reveals that it isn't in sync at all, even when I'm not seeking. Drat... wacko.gif

Posted by: ale5000 Mar 27 2011, 05:55 AM
In "File => File information" for aac files it report SBR but not PS.

Posted by: JaliM Mar 27 2011, 06:57 PM
@fcchandler: MPEG2 supports works very well on my tests, thank you! But... (always there's a but....) A/V sync is lost because in most cases (such in MPEG container) audios have delays which your Matroska plugin doesn't take in account... Is it possible to add A/V delay correction in Audio>Interleaving>'Audio skeew correction' for every audio selection?
Is it possible to add this Matroska MPEG-2 import code to your MPEG2 import plugin too? I think this could be useful to not convert my DVB mpg records first to Matroska before import in Virtualdub....
Thanks again. rolleyes.gif

Posted by: ale5000 Mar 29 2011, 02:02 AM
This file show gray frames at the start of the video in VirtualDub: http://www.mediafire.com/?9mct26d5w5lbvtu

They doesn't appear when playing it with MPC-HC + ffdshow-tryout.

Posted by: L.H.V.F. Mar 29 2011, 02:46 AM
QUOTE
(fccHandler,Mar 27 2011, 04:59 AM)
Hello again!  Your English is still difficult to understand, but when I have time I will look at the files you posted and let you know what I discover.

Hi, fccHandler

The another video with problem, (not the video that have one problem in "File Information" dialog), but in conversion of framerate is:

http://www.4shared.com/video/eiiHlM4A/DownloadPeople_A_256k.html

How I have said (this video up), in output converted video with Lagarith codec in VirtualDub, stood with "30,092", converting the framerate of "15.000 fps" to "30.000 fps".

The another video, that I have said, is one more complicated to open in VirtualDub. I had opened this another video one time before, but now, I missed the codec/decoder original of microsoft's site (that I downloaded one time) that I need to open it:

http://www.4shared.com/video/qum2L1Dr/frank.html

The video mentioned up, is a DivX made with MPlayer in CLI (in Linux), and had problems with Direct Stream Copy in SUPER earlier version, and is more difficult to open in VirtualDub because of the problem of the audio of it. If anybody know where I can found the specific codec/decoder necessary to open this video above, I thank.

About the file Projeto de Apoio a Continuidade de Estudos(Rede do Saber®).wmv, I see other problems probably related a wrong schema of framerate, and also that the audio suffered a delay, and desynchrony also.

Posted by: ale5000 Mar 29 2011, 03:23 AM
QUOTE (L.H.V.F. @ Mar 29 2011, 03:46 AM)
I had opened this another video one time before, but now, I missed the codec/decoder original site of microsoft (that I downloaded one time) that I need to open it: frank.avi
If anybody know where I can found the specific codec/decoder necessary to open this video above, I thank.

For the video part, you must enable WMV3/9 in the ffdshow VFW configuration (yellow icon).
For the audio part you can get the WMA ACM Codec here: http://forums.virtualdub.org/index.php?act=ST&f=7&t=19488 (look under "32 bit ACM codecs").

Posted by: L.H.V.F. Mar 29 2011, 03:36 AM
QUOTE (ale5000 @ Mar 29 2011, 03:23 AM)
For the video part, you must enable WMV3/9 in the ffdshow VFW configuration (yellow icon).
For the audio part you can get the WMA ACM Codec here: http://forums.virtualdub.org/index.php?act=ST&f=7&t=19488 (look under "32 bit ACM codecs").

Before the Forum would had the "WMA ACM", I can with the codecs/decoders direct of microsoft, the support necessary for open this video in VirtualDub. Then, it is also other solution. I thank you for indicate the solution now. I will research in my PC, the file needed for open the audio of "frank.avi" video. I will test in my computer and indicate what the result. Have you tested this file:? Unusual, only for Administrator account the options "WMV 8/9", for select, have appeared, and limited account not.

http://www.4shared.com/video/qum2L1Dr/frank.html (link removed)

Edit: 4Shared has blocked for only registered users do download of the shared files.

Posted by: ale5000 Mar 29 2011, 03:46 AM
DownloadPeople_A_256k.wmv is 15.000 fps

Sorry, I have checked the wrong file, for frank.avi you need to enable WMV2/8 instead of WMV3/9 in the ffdshow VFW configuration, the WMA ACM Codec apply for this file also.

Posted by: L.H.V.F. Mar 29 2011, 04:02 AM
QUOTE (ale5000 @ Mar 29 2011, 03:46 AM)
DownloadPeople_A_256k.wmv is 15.000 fps

Sorry, I have checked the wrong file, for frank.avi you need to enable WMV2/8 instead of WMV3/9 in  the ffdshow VFW configuration, the WMA ACM Codec apply for this file also.

Hi, ale5000

The site adresses I have used other time are:

http://www.moviecodec.com/video-codecs/virtualdub-wmv3-671/

http://forum.videohelp.com/threads/87312-Error-Microsoft-Audio-Codec

http://download.microsoft.com/download/9/8/a/98a6cb2d-6659-485e-b1f9-2c0d9bf6c328/wmv9VCMsetup.exe

http://www.moviecodec.com/download-codec-packs/microsoft-codecs-installation-package-6/

(http://www.free-codecs.com/Codec_Installation_Package_for_Windows_Media_Player_7_8_9_10_download.htm)

Now, I have found these:

http://ftp.cs.pu.edu.tw/pub/cpatch/msupdate/windowsmedia/wm6codecs.exe

http://ftp.cs.pu.edu.tw/pub/cpatch/msupdate/windowsmedia/wm9codecs.exe

In some of this I can solve the problem, in my experience, as other solution.

Thanks.

Posted by: ale5000 Mar 29 2011, 04:25 AM
What is the point?
The Microsoft official download contains an old version of the WMA ACM Codec.

Posted by: L.H.V.F. Mar 29 2011, 03:31 PM
QUOTE (ale5000 @ Mar 29 2011, 04:25 AM)
What is the point?
The Microsoft official download contains an old version of the WMA ACM Codec.

Hi, ale5000

I don't known about this that you said, but I thank you for informe this. I already configured ffdshow-try one time. Now I can open this video, as before. One question: Using the "WMA ACM", the option menu for select appear as other, without are "WMV9", or have other type?

I thank return.

Posted by: ale5000 Mar 29 2011, 09:32 PM
@L.H.V.F.: The WMA ACM will make appears "Windows Media Audio V1/V2" under Audio compression.

If you want "Microsoft Windows Media Video 9" under Video compression you need WMV9VCM.

Posted by: ale5000 Apr 4 2011, 05:56 PM
QUOTE (BugMaster @ Mar 6 2011, 02:03 AM)
fccHandler
You added zero_byte to 3-byte startcodes only for SPS/PPS but H.264 specs says (B.1.2 Byte stream NAL unit semantics):

zero_byte is a single byte equal to 0x00.
When any of the following conditions are fulfilled, the zero_byte syntax element shall be present:
– the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter set) or 8 (picture parameter set),
– the byte stream NAL unit syntax structure contains the first NAL unit of an access unit in decoding order, as specified by subclause 7.4.1.2.3.

So first NAL in every frame must start from 4-byte sequence 0x00, 0x00, 0x00, 0x01 (so in UnwrapAVCFrame also). For you it probably would be less work to change all of them to 4-byte (not only first).

P.S. If you don't have H.264 specs you can freely get them here: http://www.itu.int/rec/T-REC-H.264-201003-I/en

@fccHandler: Is this problem fixed in the latest version of the Matroska input plugin or not yet?

Posted by: fccHandler Apr 4 2011, 11:22 PM
QUOTE (ale5000 @ Apr 4 2011, 01:56 PM)
Is this problem fixed in the latest version of the Matroska input plugin or not yet?

Yes, also fixed in the FLV plugin.

Posted by: L.H.V.F. Apr 5 2011, 12:59 AM
Hi, fccHandler

Are you working for fix the problem of video that I have uploaded? The post with site address is:

http://forums.virtualdub.org/index.php?act=ST&f=7&t=19206&st=210

Post 11.

In my account of Free 4shared, I saw that one people already have do the download of this file:

http://www.4shared.com/video/OE0y3D4v/Projeto_de_Apoio_a_Continuidad.html

The problem, as I have said is maybe in the part of framerate. This problem maybe cause a delay in this video up. I have other two files, similars , but these above of the correct framerate (29.970 - 29.971 and 29.970 - 29.974), in "File Information dialog", the framerate also of these are wrong, but I will can notice if the problem was solved after your analysis. The video Projeto de Apoio a Continuidade de Estudos(Rede do Saber®).wmv, as I have said suffer one dyssynchrony because of the exceeded framerate above.

I thank return,
L.H.V.F.

Posted by: fccHandler Apr 9 2011, 01:01 AM
There is no such thing as a "wrong" framerate, because Windows Media files do not have a framerate. The playback rate can change at any time. The WMV plugin reports the average frame rate of the movie, basically the total duration in seconds divided by the total number of video frames. MediaInfo may derive its number differently.

Nevertheless I confirm that your video is grossly out of sync in VirtualDub. I have some theories, but no solution yet. Unfortunately I have not had much free time to work on it. I will not forget about it though.

Posted by: Placio74 Apr 9 2011, 03:56 PM
I guess... MediaInfo just reads average FPS value (for ASF/WMV) from extended stream properties (if it's stored there). Also indicates whether FPS is variable (if stored value is different from calculation). Would be to ask MediaInfo author for sure.

BTW
I think that is a bit better with syncing after remux/repair using AsfBin...

Posted by: L.H.V.F. Apr 15 2011, 01:47 AM
Hi, fccHandler

If the video has one variable framerate mode, maybe it cause more problems for adequate the video play to work rightly?

General

Overall bit rate mode : Constant
Overall bit rate : 74.5 Kbps
Maximum Overall bit rate : 85.1 Kbps
Movie name : Projeto de Apoio a Continuidade de Estudos
Encoded date : UTC 2009-05-07 20:46:30.857
Rating : 83 Kbps

Video

ID : 2
Format : VC-1
Format profile : MP
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Description of the codec : Windows Media Video 9
Bit rate mode : Constant
Bit rate : 64.0 Kbps
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate mode : Variable
Nominal frame rate : 29.970 fps
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Language : Portuguese (BR)

I have saw also that video have different configurations, constant and variable in the same time.

I thank your return,
L.H.V.F.

Posted by: ale5000 Apr 18 2011, 09:29 PM
Can you please add support for all AAC codec id in the Matroska input plugin? http://www.matroska.org/technical/specs/codecid/index.html

Posted by: pureocean Apr 19 2011, 05:18 AM
@fccHandler:

Matroska plugin cannot import audio of this video: http://www.fileserve.com/file/h2PCaN9
This is sample video of 720p movie. Therefore, cannot import audio of entire the movie (4gb), too.

Codec ID: A_DTS

Posted by: TBMule Apr 28 2011, 11:18 AM
i have troubles to load a specific flv file
sample here http://mikesblog.titan-computer.com/files/VDubFLV_NoDisplay.zip

when its loaded into Vdub just 16x16pixel green frames are displayed, after resizing it keeps displaying just this 16x16 pixel part of the video.

MediaInfos shows this:
Format : Flash Video
Dateigröße : 5,94 MiB
Dauer : 29s 227ms
Gesamte Bitrate : 1 704 Kbps
©too : mp4creator 1.6

Video
Format : AVC
Format/Info : Advanced Video Codec
Format-Profil : High@L3.1
Format-Einstellungen für CABAC : Ja
Format-Einstellungen für ReFrame : 6 frames
Codec-ID : 7
Dauer : 29s 240ms
Breite : 960 Pixel
Höhe : 544 Pixel
Bildseitenverhältnis : 16:9
Modus der Bildwiederholungsrate : konstant
Bildwiederholungsrate : 25,000 FPS
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
Scantyp : progressiv

Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format-Profil : LC
Codec-ID : 10
Dauer : 29s 226ms
Kanäle : 2 Kanäle
Kanal-Positionen : Front: L R
Samplingrate : 48,0 KHz

Posted by: pureocean May 10 2011, 04:26 PM
@fccHandler:

Another issue:

This video (http://multimedia.cx/samples/Matroska/x264_no-b-frames.mkv) cannot import. The error box message:

File "x264_no-b-frames.mkv" does not have a video stream.

* * *

And a request:

Matroska plugin use AVC1 as FourCC. Therefore, opening video save as AVC1-FourCC code with direct-stream-copy. Unfortunaley, CyberLink 264 Decoder Filters cannot play properly AVI files based-FourCC AVC1. Especially, if video is saved with smart-rendering method.

I found temporarily solution: I changed AVC1 text to as H264 in inside of Matroska.vdplugin with Hex Editor software(http://mh-nexus.de/en/hxd/). So, CyberLink 264 Decoder Filter can play properly, even if the video is saved with smart-rendering method. If possible, could you change as default FourCC from AVC1 to H264?

Posted by: neapandele Jun 10 2011, 08:31 AM
Hello folks and a big "Thank You" to fccHandler for FLV input plugin.

I have a problem with some FLV files: they are FLV1 (video) + NellyMoser (audio). I'm using FLVSplitter + ffdshow, and I can open / play / use them with Media Player Classic, AviSynth. Also GraphEdit build the graph and play the file(s). But while I'm trying to open them in VirtualDub via fccHandler's FLV input plugin the audio track is missing. What I'm doing wrong? Please note that in ffdshow Audio decoder NellyMoser is enabled!

Thanks a lot!

Posted by: Placio74 Jun 10 2011, 10:23 AM
QUOTE (neapandele @ Jun 10 2011, 10:31 AM)
...Please note that in ffdshow Audio decoder NellyMoser is enabled!

But it's DirectShow filter/decoder, when FLV input plugin uses ACM codecs for audio (and VfW codecs for video) - unfortunately, ACM codec for Nellymoser does not exist.
Try with DirectShow import driver or FFmpeg input driver or through Avisynth (DirectShowSource or FFmpegSource).

Posted by: fccHandler Jun 18 2011, 07:00 PM
QUOTE (pureocean @ Apr 19 2011, 01:18 AM)
Matroska plugin cannot import audio of this video: http://www.fileserve.com/file/h2PCaN9

It is DTS audio. I have not yet implemented support for that.

Posted by: fccHandler Jun 18 2011, 07:02 PM
QUOTE (TBMule @ Apr 28 2011, 07:18 AM)
i have troubles to load a specific flv file
sample here  http://mikesblog.titan-computer.com/files/VDubFLV_NoDisplay.zip

There was a problem to detect the correct video width and height for some AVC profiles. That should be fixed now in version 1.9:

http://fcchandler.home.comcast.net/Plugins/FLV

Posted by: fccHandler Jun 18 2011, 07:07 PM
QUOTE (ale5000 @ Apr 18 2011, 05:29 PM)
Can you please add support for all AAC codec id in the Matroska input plugin?

I have added these in version 2.9, but have not actually tested any of the new Codec IDs listed in my changelog.

I also added an option in Extended Option Options to force the 'H264' FOURCC instead of 'AVC1' for AVC video:

http://fcchandler.home.comcast.net/Plugins/Matroska

Posted by: Barough Jun 18 2011, 07:19 PM
Thnx a lot for the new release fccHandler smile.gif

Posted by: L.H.V.F. Jun 19 2011, 01:57 AM
Hi, fccHandler

About a video .wmv that I have uploaded for download, what have you discovered some thing about the problem related to desynchrony in this video with your WMV plugin?:

http://www.4shared.com/video/OE0y3D4v/Projeto_de_Apoio_a_Continuidad.html

I need to convert this video, and to make a DVD with this video, I was planing use the AviSynth for concretize this, according some tutorials, and the AviSynth wiki, that promises total synchrony for VFR videos supported by AviSynth, using .avi in the base.

One question:

Is possible in VirtualDub to resave an .avs, this being an "frameserver", or the unique way is to use VirtualDubMod and the Script Editor (http://forum.doom9.org/archive/index.php/t-68801.html), and apply some filters, to so then save the video in the same format, or exists an .avi split filters for can divide one VFR video? I could to use the AVS2DVD in first case.

I thank an reply.

Posted by: fccHandler Jun 19 2011, 02:55 AM
QUOTE (L.H.V.F. @ Jun 18 2011, 09:57 PM)
About a video .wmv that I have uploaded for download, what have you discovered some thing about the problem related to desynchrony in this video with your WMV plugin?

I still have that video, and I have tested a lot of radical ideas, but I have not been able to fix the sync problem. It's very frustrating. At this point I think you should definitely pursue other methods.

I recommend starting a new thread about it (here and perhaps in other forums) to get ideas from the community. I know there exist many WMV software tools, but I do not have much experience with them so I can't suggest anything myself. Good luck.

Posted by: pureocean Jun 19 2011, 04:55 AM
@fccHandler: I'm glad you are here. Thank you very very much for new updates (new features and fixes). smile.gif

Posted by: ale5000 Jun 20 2011, 04:05 AM
Since VirtualDub currently doesn't support multi-channel audio, can be added an extended option to automatically downmix PCM audio in Matroska files to Stereo? (if it is too much complicate don't worry, it isn't an important thing)

Test file (8point1.mka): http://www.multiupload.com/I5EIEWA7OM

PS: Is it possible to add the webm extensions (.webm / .webmv / .webma) in the Matroska input plugin since now it support Vorbis audio?

Posted by: ale5000 Jun 20 2011, 04:29 AM
Test file (Foar everywun frum boxxy.flv): http://www.multiupload.com/XKMLSNGDFY

When playing in MPC-HC audio and video are in sync but in VirtualDub they aren't in sync.

Posted by: DarrellS Jun 20 2011, 08:55 AM
QUOTE (ale5000 @ Jun 19 2011, 09:29 PM)
Test file (Foar everywun frum boxxy.flv): http://www.multiupload.com/XKMLSNGDFY

When playing in MPC-HC audio and video are in sync but in VirtualDub they aren't in sync.

I can't open it in Virtualdub. With the flv plugin, all I get is two very small screens with audio.

With directshow I get an error. Unable to set filename on media detector: hr = 80040200

I used FLVextract to demux and remuxed with MKVmerge to mkv and opened in Virtualdub and everything is in sync.

There seems to be quite a few screwed up flv floating around on the internet.

Posted by: ale5000 Jun 20 2011, 02:21 PM
QUOTE (DarrellS @ Jun 20 2011, 09:55 AM)
I can't open it in Virtualdub. With the flv plugin, all I get is two very small screens with audio.

@DarrellS: You need FLV input plugin version 1.9 or higher to open it.

Posted by: DarrellS Jun 20 2011, 05:54 PM
OK. I had to open the FLV with Audacity and save as wave file and then use "audio from other file" in Virtualdub to get the audio in sync or demux with FLVextract and remux with MKVmerge as mentioned earlier.

Posted by: fccHandler Jun 25 2011, 05:29 AM
QUOTE (ale5000 @ Jun 20 2011, 12:29 AM)
Test file (Foar everywun frum boxxy.flv): http://www.multiupload.com/XKMLSNGDFY

When playing in MPC-HC audio and video are in sync but in VirtualDub they aren't in sync.

Boxxy, really? tongue.gif

Actually, I have a copy of this video from a long time ago, but my old copy doesn't lose sync like yours. Yours looks OK starting from a random seek, but it gradually drifts out of sync as you play...

I'll see if I can figure out what is happening. Thank you for posting it.

Posted by: ale5000 Jun 25 2011, 11:33 AM
QUOTE (fccHandler @ Jun 25 2011, 06:29 AM)
Boxxy, really? tongue.gif
biggrin.gif

QUOTE (fccHandler @ Jun 25 2011, 06:29 AM)
Actually, I have a copy of this video from a long time ago, but my old copy doesn't lose sync like yours.  Yours looks OK starting from a random seek, but it gradually drifts out of sync as you play...
It come from megavideo, so this is probably the reason.

Posted by: fccHandler Jun 25 2011, 09:50 PM
QUOTE (ale5000 @ Jun 20 2011, 12:05 AM)
Since VirtualDub currently doesn't support multi-channel audio, can be added an extended option to automatically downmix PCM audio in Matroska files to Stereo? (if it is too much complicate don't worry, it isn't an important thing)

I would rather not get into this. It would only be possible with PCM and wouldn't be possible for compressed formats, so that adds yet another "special case" path in the code (which I try to avoid as much as possible).

Another reason is, downmixing more than two channels to stereo is not trivial. It isn't like a simple 50/50 stereo-to-mono mix. I imagine that the weights for each channel would need to be adjustable somehow, which would require a popup dialog and a whole lot of extra code. It's really stepping outside the role of a plugin, in my opinion.


QUOTE (ale5000 @ Jun 20 2011, 12:05 AM)
PS: Is it possible to add the webm extensions (.webm / .webmv / .webma) in the Matroska input plugin since now it support Vorbis audio?

I don't think I'm ready to support those formats yet. Vorbis support is still very experimental. Personally I'm not happy with it at all; it needs more work. Plus I haven't tested VP8 yet so I don't know whether it requires any special handling.

Posted by: fccHandler Jun 26 2011, 04:50 AM
QUOTE (ale5000 @ Jun 20 2011, 12:29 AM)
Test file (Foar everywun frum boxxy.flv): http://www.multiupload.com/XKMLSNGDFY

When playing in MPC-HC audio and video are in sync but in VirtualDub they aren't in sync.

I am dedicating release 2.0 to Boxxy. smile.gif

Your Boxxy video has its FLV audio sampling rate set to 44100 Hz, but the embedded AAC AudioSpecificConfig gives a sampling rate of 48000 Hz.

I was never sure whether the AAC properties should override the FLV audio properties if they differ, but it turns out that they do. In fact this is stated explicitly in version 10 of the Flash video format specification. I have changed my code accordingly:

http://fcchandler.home.comcast.net/Plugins/FLV


Posted by: ale5000 Jun 26 2011, 03:15 PM
It works fine now, thanks.

Posted by: fccHandler Jul 2 2011, 07:00 PM
Matroska plugin v3.0 is released:
http://fcchandler.home.comcast.net/Plugins/Matroska

See the Change Log for details. Enjoy. smile.gif

Posted by: EasyRider Jul 2 2011, 10:14 PM
This plugin is new to me. Thanks for the possibility mate ! smile.gif

Posted by: EasyRider Jul 2 2011, 10:37 PM
I try to open this file with VD and v3.0 plugin:


CODE
Complete name                    : C:\Documents and Settings\.....\starwars10MB-1.mkv
Format                           : Matroska
File size                        : 9.96 MiB
Duration                         : 36s 43ms
Overall bit rate                 : 2 319 Kbps
Encoded date                     : UTC 2003-08-01 21:18:13
Writing application              : VirtualDubMod 1.5.4.1a (build 1946/release)
Writing library                  : libebml-0.5.0 & libmatroska-0.5.0

Video
ID                               : 1
Format                           : MPEG-4 Visual
Format profile                   : Advanced Simple@L3
Format settings, BVOP            : Yes
Format settings, QPel            : Yes
Format settings, GMC             : No warppoints
Format settings, Matrix          : Default (H.263)
Codec ID                         : XVID
Codec ID/Hint                    : XviD
Duration                         : 36s 40ms
Bit rate                         : 2 177 Kbps
Width                            : 696 pixels
Height                           : 288 pixels
Display aspect ratio             : 2.35:1
Original display aspect ratio    : 2.40:1
Frame rate                       : 25.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.434
Stream size                      : 9.35 MiB (94%)
Writing library                  : XviD 0.0.09 (UTC 2003-03-25)
Language                         : English

Audio
ID                               : 2
Format                           : Vorbis
Format settings, Floor           : 1
Codec ID                         : A_VORBIS
Duration                         : 36s 43ms
Bit rate mode                    : Constant
Bit rate                         : 96.0 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 48.0 KHz
Video delay                      : 8ms
Stream size                      : 422 KiB (4%)
Writing library                  : libVorbis 1.0 (UTC 2002-07-17)
Language                         : English



File open ok with mpc-hc .




But have some issues with sound in Virtualdub..

(No audio compressor could be found to decompress the source audio format..)


http://imageshack.us/photo/my-images/820/clipboard0122.png/

Posted by: fccHandler Jul 2 2011, 11:03 PM
It is Vorbis audio. The Vorbis support is very experimental right now, and the worst part is that currently there is no Windows codec which will work with it. Vorbis can be direct stream copied (sort of), but it cannot be played in VirtualDub.

If you just want to play the video, choose Audio -> No Audio to disable the audio track.

Posted by: EasyRider Jul 2 2011, 11:17 PM
yea, i see that right after the post.. even i install http://www.videohelp.com/tools/OGG_Vorbis_ACM_Codec nothing happen at all.. dry.gif


I just wand to convert to avi for hardware dvd player that not support mkv..
(any idea how to split / transcode audio to another format an insert to video..)

Anwy.. thanks mate

Posted by: katz Jul 3 2011, 02:52 PM
QUOTE (fccHandler @ Jul 2 2011, 07:00 PM)
Matroska plugin v3.0 is released:
http://fcchandler.home.comcast.net/Plugins/Matroska

See the Change Log for details. Enjoy. smile.gif

Many thanks for your work!

I just have to report a bug with the AC3 input on VDub64. While the 32-bit works fine, on the 64-bit version when I play a file with an AC3 audio track I only get a loud pop when it starts/stops and no audio playback. I have your latest input plugin and standalone ACM installed and I am using VirtualDub 1.9.10 AMD64 build on Windows 7 x64.

Posted by: ale5000 Jul 3 2011, 03:57 PM
QUOTE (EasyRider @ Jul 3 2011, 12:17 AM)
yea, i see that right after the post.. even i install http://www.videohelp.com/tools/OGG_Vorbis_ACM_Codec nothing happen at all.. dry.gif

Althought the name is "OGG Vorbis ACM Codec" it is like a different (not compatible) format.

Posted by: fccHandler Jul 4 2011, 05:29 AM
QUOTE (katz @ Jul 3 2011, 10:52 AM)
I just have to report a bug with the AC3 input on VDub64. While the 32-bit works fine, on the 64-bit version when I play a file with an AC3 audio track I only get a loud pop when it starts/stops and no audio playback.

To be honest, I've never tested the 64-bit build because I don't own a 64-bit machine myself. However, I can test it at work after the July 4th holiday. I will let you know if I discover any problems with the 64-bit build...

Meanwhile, America F*** Yeah! cool.gif

Posted by: fccHandler Jul 10 2011, 04:33 AM
@katz:
I tested the 64-bit build of AC3ACM at work. It was kind of tricky because our 64-bit work machines are servers which do not have audio cards! Nevertheless I was able to confirm it using Veedub64 to decompress the audio to .wav files, then I brought the .wav files home to inspect them. They are indeed silent.

The last 64-bit version which was confirmed to work was version 1.5, but there were significant changes during the migration to 1.6. Sadly I don't have any way to debug this directly, but I suspect a problem with the assembly portion of the code. I explored that part in agonizing detail over the weekend, and put it through a battery of tests.

I found to my surprise that decompression of 5-channel audio was broken, and it probably has been for a long time. It is fixed now.

In addition to that, I made a subtle change to the 64-bit build, and I would like you to test it and let me know if it fixes your problem:
http://fcchandler.home.comcast.net/AC3ACM

Posted by: ale5000 Jul 10 2011, 10:33 AM
Minor thing: You haven't updated the version in the inf files of both AAC ACM anc AC3 ACM.

Posted by: fccHandler Jul 10 2011, 04:24 PM
Oops, thanks for catching that. It's fixed now.

Posted by: Dstruct Jul 11 2011, 03:52 PM
Minor bug: AAC ACM Codec 1.7 is still listed as "AAC ACM Codec 1.6" in Software Uninstall Control Panel ...


FIXED

Posted by: ale5000 Jul 11 2011, 10:48 PM
Edit: Post removed

Posted by: Dstruct Jul 12 2011, 04:34 PM
Thanks. Fixed.

Posted by: ale5000 Jul 13 2011, 03:01 PM
Since the Matroska input plugin support also audio-only files and the current message isn't clear, maybe it can be changed from "File ... does not have a video stream." to "File ... does not contain supported tracks or it isn't a Matroska file."

Posted by: L.H.V.F. Jul 14 2011, 04:07 AM
Hi, fccHandler

I have done download your latest version of the Matroska Input Plugin, 3.0, and I have a video ".ogg" then I have decided testing with a video Theora (Vorbis Codec), included in ubuntu Linux distribution. The video mentioned is:

http://www.4shared.com/audio/mTthig5x/How_fast.html (original video)

With a tutorial that I have saw in http://forum.doom9.org/, I have used ffmpeg-18639 win32, and I have forced direct stream copy for both audio and video, and demux for .mkv:
Adresses mentioned:

http://forum.doom9.org/archive/index.php/t-134350.html

http://www.4shared.com/video/XD9VlmJ4/Output.html (video demuxed for Matroska)

I want to know if the video has really "0x566F" in audio part?:

http://s13.postimage.org/5842bl26v/problem_decompressor.png

MediaInfo says:

General
Unique ID : 188800917440159401000820085881975912419 (0x8E09BBEA36E4A8B9A8B5F212781CB7E3
Complete name : C:\Unzipped\ffmpeg-18639\Output.mkv
Format : Matroska
Format version : Version 2
File size : 1.81 MiB
Duration : 30s 168ms
Overall bit rate : 502 Kbps
Writing application : Lavf52.32.0
Writing library : Lavf52.32.0

Video
ID : 1
Format : Theora
Codec ID : V_THEORA
Duration : 30s 163ms
Bit rate : 364 Kbps
Nominal bit rate : 800 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.013
Stream size : 1.31 MiB (73%)
Writing library : Xiph.Org libtheora 1.1 20090822 (Thusnelda)
Language : English

Audio
ID : 2
Format : Vorbis
Format settings, Floor : 1
Codec ID : A_VORBIS
Duration : 30s 168ms
Bit rate mode : Variable
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Delay relative to video : -2s 169ms
Stream size : 471 KiB (25%)
Writing library : libVorbis (Everywhere) (20100325 (Everywhere))
Language : English
Writing application : VLC media player

The syntax utilized in ffmpeg win32 CLI was:

ffmpeg -i How_fast.ogg -vcodec copy -acodec copy Output.mkv

I wait your return.

Posted by: Placio74 Jul 14 2011, 07:02 AM
Problem is... Ogg Vorbis CODEC for MSACM supports only own audio tags (0x674F, 0x676F, 0x6750, 0x6751, 0x6771) and does not support 0x566F.

On the other hand... Matroska rather does not support audio tags from this specific codec (but just 0x566F - WAVE_FORMAT_VORBIS).
Also FFmpeg refuses to use those audio tags (from Ogg Vorbis CODEC for MSACM) in Matroska container (as incompatible) - only 0x566F is acceptable.

So... audio with 0x566F id it's Vorbis, however it seems that there is no 'compatible' ACM codec.

Posted by: ale5000 Jul 14 2011, 02:09 PM
@L.H.V.F.: Look at my reply here => http://forums.virtualdub.org/index.php?act=ST&f=7&t=19488#entry86326

Posted by: fccHandler Jul 16 2011, 08:42 PM
QUOTE (katz @ Jul 3 2011, 10:52 AM)
While the 32-bit works fine, on the 64-bit version when I play a file with an AC3 audio track I only get a loud pop when it starts/stops and no audio playback.

I spent this morning trying to combine the separate 32-bit and 64-bit assembly code sources into a single source. I had to use a lot of conditional assembly and the result is horrible to look at, but it definitely helps to have all of the code in one place. I was able to spot another subtle bug specific to the 64-bit build and stereo audio, so definitely try out the new version 1.9:

http://fcchandler.home.comcast.net/AC3ACM

Posted by: pureocean Jul 17 2011, 07:09 AM
fccHandler:

Again a issue. smile.gif About FLV input plugin.
Below the FLV's audio is saved only PCM, although selected in Audio > Direct Stream Copy.
Therefore, output AVI file size=274mb. Because audio is convert to pcm.

Audio Info from MediaInfo: ADPCM

Video file: http://www.yirmidort.tv/dosya/24video/2011/07/12/863/video.flv



Posted by: fccHandler Jul 17 2011, 03:57 PM
QUOTE (pureocean @ Jul 17 2011, 03:09 AM)
Below the FLV's audio is saved only PCM, although selected in Audio > Direct Stream Copy.

That is intentional, because the type of ADPCM used in .flv files is not compatible with any of the Windows ADPCM codecs. Therefore the plugin always decompresses it before delivering it to VirtualDub.

Posted by: pureocean Jul 18 2011, 03:21 AM
fccHandler,

I did not know it. Thank you for infos.

Posted by: ale5000 Dec 4 2011, 04:35 PM
Sample files (MPEG-4+AAC.zip - 1.77 MB): http://www.multiupload.com/WKNV379DIQ

Both files contain the same mono audio, but in the mkv it is detected as stereo.

Posted by: fccHandler Dec 4 2011, 07:10 PM
This is a tricky one, because both could be considered correct depending on your point of view...

The Matroska stream has no channel count, so I initially assume mono. However I do detect implicit SBR (indicating HE-AAC v2), therefore implicit PS may be present as well. I can't be certain at this stage, but I go ahead and change the channel count to stereo just in case there is implicit PS.

Although not ideal, this behavior could be considered correct based on the spec:
QUOTE
1.6.6.3 HE AAC v2 Profile Decoder Behavior in Case of Implicit Signaling

If the presence of PS data is backward compatible implicitly signaled (signaling 1, in the list above) the first AudioObjectType signaled is not the PS AOT, and the psPresentFlag is not read from the AudioSpecificConfig(). Hence, the psPresentFlag is set to –1, indicating that implicit signaling of parametric stereo may occur.

Since a received mono stream will result in a stereo output if Parametric Stereo data is present in the stream, the HE AAC v2 Profile decoder shall assume that PS data is available and decide the number of output channels to be two for a single channel element containing SBR data, and thus also possibly PS data. If no PS data is found the mono output shall be mapped to the two opened channels for every single channel element.

And in fact that is what happens in the case of this .mkv.

The QuickTime plugin doesn't attempt to detect SBR or PS (yet). Currently it just uses the channel count and samplerate specified for the track.

Posted by: ale5000 Dec 4 2011, 08:33 PM
To my opinion this is another case where specs aren't updated for real world.
Libavcodec, for example, is able to detect when PS is really present.

Posted by: fccHandler Dec 4 2011, 08:44 PM
Well, he is a codec so he would know. smile.gif

I can detect it too when it is explicit (i.e., specified in the AudioSpecificConfig header). It is the implicit case that I cannot know ahead of time, since the plugin does not decode.

Posted by: ale5000 Dec 4 2011, 08:54 PM
Well, I think that a minimal decoding (like as MediaInfo is doing) may be useful in the plugin but it is just my opinion biggrin.gif

Posted by: ale5000 Dec 11 2011, 09:55 PM
Sample file (AMR-NB.mkv - 405.33 KB): http://www.multiupload.com/XKM4S4AAH4

When exporting raw audio it say "AudioStreamSource error: buffer too small (80044074)".

Posted by: fccHandler Dec 17 2011, 09:06 PM
I would say the audio is badly muxed. The audio format is "A_MS/ACM" which means that it provides its own WAVEFORMATEX structure, therefore the plugin does not build a custom one. The problem is the nBlockAlign member of its structure, which is supposed to be the minimum atomic size of an audio block. In your file it is set to 2 bytes, which is not correct for this audio. (The correct value is 32 bytes.)

But I am going to have to work around it anyway, because even if the value was correct it still wouldn't work. The plugin wants the nBlockAlign field to contain the maximum size of an audio block which is 320 bytes in this case.

VirtualDub uses the nBlockAlign value to fetch blocks of audio from the plugin. The error occurs because VirtualDub is asking me for 2 bytes of audio, but that is too small to hold even one block. I will implement a workaround in the next release.

Posted by: ale5000 Dec 19 2011, 11:49 PM
Sample file (706D - 6 channels.mkv - 7.59 MB): http://www.multiupload.com/UDD8PB5OU7

It is FAAD AAC with GUID => {0000706d-0000-0010-8000-00aa00389b71}.

In File => File Information it say "ACM codec (tag): Aud-X PCM (0xFFFE)".

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)