Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

Pages: (23) « First ... 6 7 [8] 9 10 ... Last » ( Go to first unread post )
New FLV and Matroska plugins for VirtualDub, (works in progress)
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
fccHandler
Posted: Jan 23 2011, 05:11 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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

--------------------
May the FOURCC be with you...
 
     Top
Loadus
Posted: Jan 23 2011, 09:01 AM


Advanced Member


Group: Members
Posts: 352
Member No.: 10881
Joined: 1-July 04



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. ^^

--------------------
deviantART behance
 
       Top
ale5000
Posted: Feb 1 2011, 10:12 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



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]

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
fccHandler
Posted: Feb 5 2011, 03:38 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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 Matroska spec then they will not work, and I will need to get some examples before I can consider supporting them.


--------------------
May the FOURCC be with you...
 
     Top
ale5000
Posted: Feb 5 2011, 03:54 AM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



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 Matroska spec 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).

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
fccHandler
Posted: Feb 5 2011, 06:13 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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.


--------------------
May the FOURCC be with you...
 
     Top
fccHandler
Posted: Feb 6 2011, 06:04 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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

--------------------
May the FOURCC be with you...
 
     Top
ale5000
Posted: Feb 6 2011, 09:16 AM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



Edit: Problem fixed

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
Loadus
Posted: Feb 6 2011, 09:46 AM


Advanced Member


Group: Members
Posts: 352
Member No.: 10881
Joined: 1-July 04



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.

--------------------
deviantART behance
 
       Top
fccHandler
Posted: Feb 6 2011, 05:27 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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.


--------------------
May the FOURCC be with you...
 
     Top
ale5000
Posted: Feb 6 2011, 06:02 PM


Advanced Member


Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07



Edit: Problem fixed

--------------------
New VirtualDub forum
VirtualDub AIO (All-in-One installer for VirtualDub and plugins)
Codec Toolbox RS (A tool to read/change merit of codecs and many other things)
Input plugins for VirtualDub / ACM codecs / VFW codecs
 
     Top
fccHandler
Posted: Feb 6 2011, 07:31 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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.


--------------------
May the FOURCC be with you...
 
     Top
fccHandler
Posted: Feb 6 2011, 07:48 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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


This post has been edited by fccHandler on Feb 6 2011, 09:43 PM

--------------------
May the FOURCC be with you...
 
     Top
Dstruct
Posted: Feb 11 2011, 06:27 PM


Advanced Member


Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08



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)
 
    Top
fccHandler
Posted: Feb 12 2011, 01:30 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



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.


This post has been edited by fccHandler on Feb 12 2011, 02:14 AM

--------------------
May the FOURCC be with you...
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
337 replies since Sep 26 2010, 04:58 AM Track this topic | Email this topic | Print this topic
Pages: (23) « First ... 6 7 [8] 9 10 ... Last »
<< Back to VirtualDub Filters and Filter Development