Log in

View Full Version : MpegAutoIndex | utility & function for loading MPEG2/MPEG4/VC1 + audio [2012/01/05]


vampiredom
30th October 2011, 22:05
# MPEGAutoIndex
# 2012/01/05 -> Fixed issue with DGIndex and paths with / instead of \
# 2012/01/04 -> Documentation correction
# New version of DGIndexNV.exe and DGDecodeNV.dll
# 2011/12/30 -> Added CALL_25_Helper.exe to allow ' in filenames (and the possibility of other escape sequences)
# Various cleanups
# 2011/11/02 -> AAC->WAV and FLAC->WAV is disabled by default, prefers BassAudioSource (see below)
# Added global MpegAutoIndex_disable_WAV_conversion (default: true)
# Included FLAC for optional WAV conversion
# Added FLAC support and fallback for other demuxed audio formats with BassAudio
# Defer loading of NicAudio and BassAudio
# Included BassAudio
# Checks for existence of license.txt files when NV=true or DI=true
# 2011/11/01 -> Updated to latest mp4box.exe
# Added support for h264 .mkv files [NV=true is required]
# Allows FFMS2 or FFMS as fallback for audio (with higher priority than DSS)
# 2011/10/31 -> Updated to latest NicAudio.dll, now prefers RaWavSource() to DSS for all .WAV files
# Changed AAC downmix to 32-bit float
# Removed unnecessary files from distribution
# Changed DiAVC project extension from .dgi to .dgv to allow easier switching between NV and DI
# Added support for VC1 streams in .wmv containers by demuxing via ASF2VC1.exe
# Added Tebasuna51's downmixing scripts as fallbacks for when Downmix=true
# 2011/10/30 -> First public release

Download Latest Version Here (http://3dvp.com/MpegAutoIndex.zip)

All requirements are included. It can also use FFMS or FFMS2 as fallbacks for audio (this can be useful for .mkv containers and some .mov files) but these are neither required nor included.

MpegAutoIndexSource()

This function loads MPEG2, MPEG4, and VC1 sources - and automatically indexes them (creating .dga or .d2v or .dgi 'project' files as needed). Indexing is skipped (by default) when the project file exists. [NOTE: VC1 functionality and interlaced MPEG4 sources require a license for Donald Graft's decoders -> http://neuron2.net]

The goal is to be a sort of "Swiss Army Knife" for MPEG2 and MPEG4 sources (with audio) – allowing users to get their video (with audio) into AviSynth quickly, reliably with the least amount of hassle. The distribution includes all required .exe and .dll files.

Audio tracks are demuxed and automatically dubbed via a generated and imported script snippet (e.g: myproject.d2v -> myproject.DemuxedAudioSource). The .DemuxedAudioSource file will reference all demuxed tracks. It will attempt to choose the "best" option when multiple tracks are found, but this can be changed by modifying the .DemuxedAudioSource file after it is generated.

You can also use Donald Graft's NV CUDA-enhanced indexer/decoder (set NV=true). If you have registered DG's tools, copy and paste your "license.txt" file into the "/plugins/MPEGAutoIndex/DGIndexNV/" folder. It also has the ability to use Donald Graft's DiAVC indexer/decoder (set DI=true]). Likewise, copy your "license.txt" into the "/plugins/MPEGAutoIndex/DGAVCIndexDi/" folder.

Note that although AVC/MPEG-4 video can be handled without an NV license (via DGAVCIndex), it is fairly limited and does not support interlaced video (among other formats). Therefore, using the NV option is recommended for AVCHD and other MPEG-4 formats.

MPEGAutoIndexSource also has options for downmixing, normalizing, and outputting audio separately to AC3 or WAV format, which can be useful for DVD authoring or when further audio processing is needed.

MPEGAutoIndexSource uses faad.exe for decoding AAC audio. It also incorporates mp4box for demuxing .mp4 and H.264 Quicktime .mov files as needed, allowing them to be indexed properly in most cases.

Installation:

Unzip the files into your AviSynth 2.5/plugins folder, so that MpegAutoIndex_loader.avsi is loaded automatically.
Copy your "license.txt" file for Donald Graft's tools into the "DGIndexNV" and "DGAvcIndexDi" subfolders


Updating to latest version from an existing installation:

Delete the plugins/MpegAutoIndex folder entirely and replace with it with the MpegAutoIndex folder in the .zip file
Copy your "license.txt" file for Donald Graft's tools into the "DGIndexNV" and "DGAvcIndexDi" subfolders


Usage:
# MPEGAutoIndexSource(filename [, options])

# Open an MPEG4 file
MpegAutoIndexSource("foo.mp4")

# Open an AVC stream using DGIndexNV and hardware double-rate deinterlacing
MpegAutoIndexSource("foo.mts", NV=true, args="deinterlacing=2")

# Open an AVC stream using DiAVC and hardware double-rate deinterlacing
MpegAutoIndexSource("foo.mts", DI=true, args="deinterlacing=2")

# Open an NTSC MPEG2 DVD stream using DGIndex, force it to 24P (film)
# Downmix the multichannel audio to stereo, Normalize the audio to 99%
MpegAutoIndexSource("VTS_01_1.VOB", FieldOperation=1, Downmix=true, PeakAudioLevel=0.99)

# Open an AVC stream from BluRay using DGIndexNV, forcing 24p
# Downmix the multichannel audio to stereo, normalize it to 100%
# Output the audio as a 256kbps AC3 file
MpegAutoIndexSource(
\ "12345.m2ts",
\ NV=true,
\ args="fieldop=1",
\ Downmix=true,
\ PeakAudioLevel=1.00,
\ AC3Out=true, AC3Bitrate=256
\ )

# Open an VC-1 .wmv file
MpegAutoIndexSource("vc1.wmv", NV=true)

# Open a .mkv container with h264 video
MpegAutoIndexSource("h264.mkv", NV=true)



Detailed information and parameters are listed at the top of the MpegAutoIndex/MpegAutoIndex.avsi file.

Note that this function tends to work rather well with MT() - at least in the "normal" and NV=true modes. There seem to be some issues and crashes with MT + DiAVC, however, but this has not been tested extensively.

# So, you should be able to:
SetMTMode(2)
MPEGAutoIndexSource("VTS_01_1.VOB")

# ... or:
SetMTMode(2)
MPEGAutoIndexSource("12345.m2ts", NV=true)

Supported extensions and input formats:

MPEG2 ... (.vob, .m2v, .mpv, .mpeg, .mpg, .m2t)
MPEG4 ... (.avc, .264, .h264, .m4v, .m2ts, .mts, .mov, .mkv)
VC1 ..... (.vc1, .wmv, .m2ts)

Audio Formats: PCM, AC3, AAC, DTS, MP3, MP2, MPA, FLAC [+ FFMS & DirectShow support as fallback]

NOTE: .mkv containers and VC1 video require setting NV=true (and a license for neuron2's tools (http://neuron2.net))



Enjoy!

vampiredom
31st October 2011, 23:10
New version uploaded (that was fast, eh?). The main differences are support for VC1 .wmv files and some audio improvements. Refer to the Installation or Updating instructions above.

looney
2nd November 2011, 00:21
Thanks. It looks alike great all-in-one SourceImport tool. But what about ultimately apexing mkv files support? Is there any chance that one of most popular containers (matroska) nowadays could be supported in this aio? I think it would save us enormous amount of space and time because demuxing some 15GB file still takes more than 4min on two different drives, just to chop out some scene for testing.

vampiredom
2nd November 2011, 01:37
Thanks, looney! I really hope that people find it useful. A little background before I answer your question: I am a video editor and I wrote this because I get a bunch of source footage in different formats; some of it HDV (MPEG2), .mts (h264) ... other stuff, like Canon 5D footage, is h264 in an .mov container... sometimes the original footage is lost and now it is only on DVD or BluRay or .mp4 files. I wrote this function primarily for "professional" applications such as this (because I wrote it for myself).

That being said, I love for this to be as good as useful as possible for everybody – and I much appreciate feedback on how I can improve it, which is why I posted it here.

** EDIT **
I just posted a new version that allows .mkv files to be indexed. See my post below and follow the updating instructions in the top post.

vampiredom
2nd November 2011, 03:30
Added support for h264 .mkv files. This requires the NV=true parameter, which requires a license from Donald Graft for his NV indexing tools [neuron2.net (http://neuron2.net)].

Follow the instructions for installing or updating in the top post of this thread.

Thanks for the suggestion, looney! :thanks:

vampiredom
2nd November 2011, 17:52
OK, I am now working on implementing FLAC audio capability as this seems to be fairly popular in Matroska files. Perhaps y'all could help on this.

Which would you prefer?

Using BassAudioSource() to load the FLAC audio
Pre-converting FLAC->WAV


Obviously, each would have its advantages: BassAudioSource() would load the clip faster, as there is no need to wait for the WAV conversion. Using WAV files, however, seems a bit more reliable and will quite possibly speed things up in the long run (using less CPU when decoding, etc.)

Thoughts?

vampiredom
3rd November 2011, 02:52
In answer to my own post above, FLAC functionality has now been included via BassAudioSource(). Similarly, AAC decoding is now also handled by BassAudioSource() instead of converting to WAV via faad.exe.

FLAC->WAV and AAC->WAV is now disabled via the global parameter, MpegAutoIndex_disable_WAV_conversion, which is true by default.

To enable intermediary WAV file rendering for AAC and FLAC (and bypassing BassAudioSource) add this line to the top of your script:

global MpegAutoIndex_disable_WAV_conversion = false

The default setting should speed up loading of long h264 files with AAC and FLAC audio. Performance seems to be quite good and still runs fine with SetMTMode(2).

vampiredom
4th November 2011, 19:54
It is my goal to continue development of this as a way of providing the convenience of FFMS2 with the reliability of MPEG2Source() and DGSource().

There have been a lot of views on this thread and it looks like over 100 people have downloaded it. Not to nag or be impatient, but have any of you tried it out? Does it work as advertised? Are there and features you'd like to see added or modified? Are my instructions and documentation correct? Any issues?

This tool has already been enormously useful to me, for my need. I am very much looking forward to feedback on this so I can make it be all it can be for everybody else.

Thanks.

smok3
13th November 2011, 21:32
Looks very interesting, will try as soon a proper job (dvd input) is required.

vampiredom
13th November 2011, 21:47
Thanks! Remember, it is not only for DVD sources: I commonly use it for input from HDV and AVCHD camcorders. It also handles h264 Quicktime files rather well.

I have recently added support for Matroska and Windows Media containers (but these require a CUDA accelerated video card and a license for DGIndexNV).

StainlessS
14th November 2011, 05:39
Not to nag or be impatient, but have any of you tried it out? Does it work as advertised?
Are there and features you'd like to see added or modified?
Are my instructions and documentation correct? Any issues?
Thanks.

Hi vampiredom,

Have not as yet tried your new plug, although I will at some stage.
The guys and gals (including me) that frequent D9 are a fickle bunch,
they might read your new fangled all singin all dancin lil ol treat,
but they ain quite so bothered bout tryin em out. Bit of a case of,
"That sounds nice, next".
Been there myself several times, dont worry, if your product is really good,
it will be business as usual this time next year, and you'll be just as miffed.
The advise is, give it some time, you coming out with updates everyday makes it
seem like it might be a good idea to wait until it's near stable, hence the
hesitancy.
Also, it dont look good to get yourself a strike for 'Spamming', we know you are eager
to have recognition, but best not as a spammer.
Perhaps some time your offering will be recognised as a valuable addition, and if not,
you can always console yourself with the fact that you have something better than most
people. (swines!).

Chill bro, have a good one. :D

StainlessS.

Yellow_
14th November 2011, 16:39
Fickle, yeah count me in. :-) Using FFMS2, so with regard to HDV and H264 AVC could you suggest the benefits over FFMS2 for decoding afore mentioned, not ungreatful, need enlightenment. :-)

vampiredom
14th November 2011, 17:18
Chill bro, have a good one.
Right on. I will, and thanks for the advice!

with regard to HDV and H264 AVC could you suggest the benefits over FFMS2 for decoding

stability, quality, frame-accuracy, speed...

FFMS2 may do a great job with some sources but, when it comes to MPEG2 and MPEG4 TS, it is kind of a potshot in my experience.

JeffBDVS
18th November 2011, 17:29
vampiredom,

Thanks for a great tool! It's nice to be able to point to my files with a single command, run the script in VirtualDub, and have MAIS do for me all those separate steps I used to have to do for myself. So far it's been very stable with SetMTMode(), even when using NV=true. Well done!

-Jeff

vampiredom
19th November 2011, 20:09
Thanks for all your help testing this stuff, Jeff!

redfordxx
20th December 2011, 02:07
stability, quality, frame-accuracy, speed...What speed? Creating index or general playback?
Do you have any comparison on postprocessing FFMS versus DG? Moslty I use the slightest deblocking possible with all sources, which is 30/60 on d2v and 10/60 on ff.


How about colormatrix? Is included or should I take care?


If I have two files with following names and OverwriteIndex=false, does it recognize that the index is outdated and will create new one?
File.mpg
File.vob

vampiredom
20th December 2011, 02:30
What speed? Creating index or general playback?

General playback... though this does depend on on the source and options and whether you are using NV=true or DI=true. It is also very good at random seeking once it has been indexed.

Do you have any comparison on postprocessing FFMS versus DG?
No, but if you have any feedback out that, I would love to know.

OverwriteIndex=false, does it recognize that the index is outdated and will create new one?
No. You'd have to manually delete the outdated index files or set OverwriteIndex=true... But that is a good idea. I'll think about a way to implement that in a future release.

How about colormatrix? Is included or should I take care?
No color conversion is performed, so you'd have to take care of that. I should include a "d2v finder" function that allows users to quickly retrieve the path to the .d2v created for a particular file, so they can use the hinting with colormatrix. Hmmm.

redfordxx
20th December 2011, 08:12
So now there are no hint available? I cannot put colormatrix after the MPEGAutoIndexSource?

vampiredom
20th December 2011, 08:25
So now there are no hint available? I cannot put colormatrix after the MPEGAutoIndexSource?

Oh, sorry ... my bad. Yes, it should work with hints. Try ...

MpegAutoIndexSource("clip.ts", args="info=3")
ColorMatrix(hints=true, dest=0)

.. for example.

redfordxx
21st December 2011, 19:33
I am using it as follows:strSF=((RightStr(srcfile,4)!=".mpg")&&(RightStr(srcfile,5)!=".mpeg")&&(RightStr(srcfile,4)!=".vob")) ? strSF : """MpegAutoIndexSource(filename=srcfile,IndexDir=srcfile+".index")"""
Eval(strSF)
There seem to be several issues I have to investigate, however one seems to be that it has problem with ' as part of srcfile. Maybe you might wanna look into that.

vampiredom
22nd December 2011, 02:00
however one seems to be that it has problem with ' as part of srcfile.

Ah, yes, indeed. Thanks. I should be able to fix that ... there are a bunch of updates I have made and that I am working on and I will try to take care of that before the next release. For now, avoid apostrophes in the filename.

vampiredom
22nd December 2011, 05:04
I just took a quick look and it will be harder than it seems to fix this: Apparently, CALL_25.dll (which is used here to call the .exe from AviSynth) automatically translates ' -> " ... I guess this was done to facilitate long quoted arguments. The CALL_25 plugin is really old and I can't imagine it will be updated any time soon. The solution, it seems, will be to add a layer of abstraction to launching the executable: So, I'll have to create an executable that un-translates " back to ', then passes those arguments on to the application. Grrr.

The short solution for now: Avoid filenames that contain single-quotes or other strange characters.

redfordxx
22nd December 2011, 15:17
The short solution for now: Avoid filenames that contain single-quotes or other strange characters.Of course, I know, but I thought better to solve the root cause than repair the damage.

redfordxx
27th December 2011, 15:43
srcfile="errorinsource.avi"
strSF1="MpegAutoIndexSource(filename=srcfile)"
try{Eval(strSF1)}
catch (err_msg) {
Assert(false,strSF1)
}Why this code results into error message "I dont know what strSF1 means", when it should be "MpegAutoIndexSource(filename=srcfile)"?

redfordxx
27th December 2011, 15:46
Also seems that comma in filename makes problems too, please try on your computer.

You were asking about comparison of postprocessing of FF and DGAVC some time ago... well I didn't do any test but if I am not mistaken, there is only true/false on deblocking in DGAvc and you can choose more options in case of FF.

btw, is it necessary that DGAVCsource needs to demux full video track?

vampiredom
28th December 2011, 03:33
srcfile="errorinsource.avi"
strSF1="MpegAutoIndexSource(filename=srcfile)"
try{Eval(strSF1)}
catch (err_msg) {
Assert(false,strSF1)
}Why this code results into error message "I dont know what strSF1 means", when it should be "MpegAutoIndexSource(filename=srcfile)"?

On my machine, I get the 'correct' error when I try your script. I am not sure why you get the undefined string error. [Not related to your error, but you know that MpegAutoIndex does not work with .avi files anyway, I assume, right]

Also seems that comma in filename makes problems too, please try on your computer.

No, no problem on my system with that either. I did not torture-test the comma issue, but a simple filename with one comma caused no problem. Can you give me the exact filename that caused a problem for you?

btw, is it necessary that DGAVCsource needs to demux full video track?

Only in cases where a .mp4 or .mov H.264 container is used. This is not needed for .mts files, for example.

redfordxx
28th December 2011, 05:31
do you maybe think there is any part of your script that would on certain circumstances reset foreign variables?

when there is valid source, it works fine

vampiredom
28th December 2011, 05:58
do you maybe think there is any part of your script that would on certain circumstances reset foreign variables?

I don't think so. As far as I know, there are no back-referenced variables possible in AviSynth. I wish there were! Maybe there is something odd going on that has since been resolved. I have made some small changes to my local version lately and I am getting ready to do an update as soon as I have some time and I have found a decent way around the single-quote filename issue with CALL_25.dll.

But I don't think that there is an issue in the script itself that could cause such a thing. When you try to load an AVI file, for example, MpegAutoIndexSource() will fail in the section labeled: ############################################################################################
# throw errors for incorrect parameters
############################################################################################
Up to that point, the function is mostly just a bunch of string modifications and sanity-checking assertions and stuff.

redfordxx
29th December 2011, 17:17
Only in cases where a .mp4 or .mov H.264 container is used. This is not needed for .mts files, for example.Does the var isElementary something to do with that?

I don't think so. As far as I know, there are no back-referenced variables possible in AviSynth. I wish there were! What you mean by backreferences? Is that like getting more than one var out of function? I do it via string function followed by eval() if necessary
When you try to load an AVI file.
Up to that point, the function is mostly just a bunch of string modifications and sanity-checking assertions and stuff.But still, it should not clear my variables, right?




BTW: I happened to look at your SplitFilename and it might use some improvements. run this script for inspiration:function ReplaceStr(string ss, string fnd, string rpl)
{pos=FindStr(ss,fnd)
(pos==0) ? ss : LeftStr(ss,pos-1)+rpl+ReplaceStr(MidStr(ss,pos+StrLen(fnd)),fnd,rpl)
}

BlankClip()
#srcfile="d:/ee\ff/Gggg.XxX"
#srcfile="Gggg.XxXxX"#0
#srcfile="h/h\h/h\Gggg.XxXxX"#2
srcfile="\h/h\h/h\Gggg.XxXxX"#1
#srcfile="d:\h/h\h/h\Gggg.XxXxX"
srcfiletmp=ReplaceStr(srcfile,"/","\")
bckslsh=FindStr(RevStr(srcfiletmp), "\") # bckslsh==1 means it's a dir which is not good, but won't check for this error now
filename=(bckslsh==0) ? srcfiletmp : RightStr(srcfiletmp,bckslsh-1)
ext=LCase(RightStr(filename,FindStr(RevStr(filename), ".")))
namebase=LeftStr(filename,StrLen(filename)-StrLen(ext))
basepath=LeftStr(srcfiletmp,StrLen(srcfiletmp)-StrLen(filename))
path = (FindStr(srcfiletmp, ":")==2) ? basepath
\ : (FindStr(srcfiletmp, "\")==1) ? LeftStr(GetWorkingDir(),2)+basepath
\ : GetWorkingDir()+basepath
drive=LeftStr(path,2).UCase()
folder=MidStr(path,3)
Subtitle(srcfile+" = "+drive+"|"+folder+"|"+namebase+"|"+ext+"\n"+ srcfile+" = "+SplitFilename(srcfile,1)+"|"+SplitFilename(srcfile,2)+"|"+SplitFilename(srcfile,3)+"|"+SplitFilename(srcfile,4),lsp=1)

vampiredom
29th December 2011, 18:53
Does the var isElementary something to do with that?
isElementary is true when it is an elementary video-only file format, such .m2v or .m4v. When isElementary is true, it won't need demuxing because it is already demuxed.
What you mean by backreferences?
In other programming languages, you can use referenced vars ... http://www.cprogramming.com/tutorial/references.html
AviSynth cannot do that, I don't think.
But still, it should not clear my variables, right?
Um. No. It shouldn't and, when I ran your test on my machine, it didn't. I don't know how or why that happens to you.
BTW: I happened to look at your SplitFilename and it might use some improvements.
That function has already changed quite a bit since the last release. I will try to get a new version of MpegAutoSource up this weekend.

vampiredom
30th December 2011, 22:14
New version, link in top post. It should now allow ' in filenames, thanks to the "helper" I wrote for CALL_25.dll. Enjoy!

redfordxx
31st December 2011, 03:52
In other programming languages, you can use referenced vars ... http://www.cprogramming.com/tutorial/references.html
AviSynth cannot do that, I don't think.
As I wrote, I think it is possible with workaround.


Could you provide the easiest example of function which you consider impossible in avs? Just to let me be sure I understand what you want achieve precisely...

vampiredom
31st December 2011, 04:08
Could you provide the easiest example of function which you consider impossible in avs?

This will stray very much off-topic, so I started a new thread about referenced variables (http://forum.doom9.org/showthread.php?t=163665). Please feel free to comment there.

Pat357
5th January 2012, 02:57
Thanks for your nice tool, it saves me a lot of time.
I have a few question/remarks :
a) About the usage examples on the first page :
# Open an AVC stream using DGIndexNV and hardware double-rate deinterlacing
MpegAutoIndexSource("foo.mts", NV=true, args="deinterlacing=2")

# Open an AVC stream using DiAVC and hardware double-rate deinterlacing
MpegAutoIndexSource("foo.mts", DI=true, args="deinterlacing=2")
Both examples can't work, because DGDecodeNV has no option like "deinterlacing=2". It should be "deinterlace=2" instead.
The second example using Diavc.ax : there is no build-in option to deinterlace using "DGAVCDecodeDI.dll".. One would need to deinterlace with another tool....
Maybe it looks a bit tedious, but putting "non working" examples in the main post may scare new users away, thinking that the tool doesn't work.

b) Another thing : DGdecNV has had a silent update (version didn't change) : please download it again from neuron2 and replace the .dll / .exe.
The update was announced in the forum on neuron2. I've no idea why he didn't change the version number : it's at least very confusing this way.

c) I also noticed you included the latest DiAVC v1.26. According to Neuron2 & Diavc author, there are incompatibilities between the Neuron tools and the latest Diavc.
You can look at http://www.di-avc.com/download.html and you'll see a "special" version to use with with DG-tools (v1.2).
It's up to you of course, but in my experience this version is indeed more stable with DGAVCDecodeDI.
Could you include this version in your next updates ?

vampiredom
5th January 2012, 03:46
Thanks for your nice tool, it saves me a lot of time.

You're very welcome. I am glad it is useful to you.

Both examples can't work, because DGDecodeNV has no option like "deinterlacing=2". It should be "deinterlace=2" instead. The second example using Diavc.ax : there is no build-in option to deinterlace using "DGAVCDecodeDI.dll"..

Ah, yes... fixed. I suspect this was just a copy/paste/haste error on my part while putting together the notes. Thanks.

Another thing : DGdecNV has had a silent update (version didn't change) : please download it again from neuron2 and replace the .dll / .exe.

Excellent. That has been updated now.

It's up to you of course, but in my experience this version is indeed more stable with DGAVCDecodeDI.

Certainly, but that will be in a future update. I apparently need to re-register my copy of DiAVC to get this working with v1.2.2 (annoying) and I don't have time to do that right now.

NOTE: You can always overwrite the stuff in the /plugins/MpegAutoIndex/DGAvcIndexDi folder with whatever version you want. Assuming that neuron2 hasn't changed any command line flags or decoder functions parameters, it should work fine.

vampiredom
6th January 2012, 05:33
I fixed an issue that only occurred when using non-NV DGIndex (MPEG2) when there were absolute paths containing / instead of \. This was due to a fairly recent change and was not an issue in older versions of MpegAutoIndex.

Please download the updated package.

Pat357
6th January 2012, 16:51
Certainly, but that will be in a future update. I apparently need to re-register my copy of DiAVC to get this working with v1.2.2 (annoying) and I don't have time to do that right now.
Re-registering should not be needed : I have only one "key" and it works for both v1.26 and 1.2.
I switch between those versions by "regsvr32 /u" followed by "regsvr32" for the other.
For playback I use the latest v1.26, while for DG-stuff I use v1.2 (special version).

bencahill
29th January 2012, 05:51
Thanks for this awesome plugin! (or should I say meta-plugin-collection? :D) FFMPEGSource is faster for my videos, but has artifacts :(. This is working fine in the meantime.

Anyway, I couldn't get it to work at all at first...it gave me an unrelated error message. The actual problem (I found after digging through the source) is that mp4box didn't work because I didn't have msvcr100.dll. Once copied in, everything worked fine.

It would be nice if there was a way of warning of this (when running MpegAutoIndex manually, I got the relevant error message). Just thought I'd let you know. You should be able to reproduce by deleting/renaming/moving msvcr100.dll in %SYSTEMROOT%\system32, and opening a file that would use mp4box, like mp4 or mov (or that 3g* stuff).

Thanks!

vampiredom
2nd February 2012, 23:07
Thanks for this awesome plugin! (or should I say meta-plugin-collection? :D) FFMPEGSource is faster for my videos, but has artifacts :(. This is working fine in the meantime.

You are very welcome and thanks for the kind words about MpegAutoIndex. That's exactly why I made it: more reliable sourcing for many MPEG PS and TS files.

Anyway, I couldn't get it to work at all at first...it gave me an unrelated error message. The actual problem (I found after digging through the source) is that mp4box didn't work because I didn't have msvcr100.dll. Once copied in, everything worked fine.

Ah, yes. I have run into that once before, actually. I'll address this in a future release. Thanks for bringing this to my attention!