View Full Version : Serious problem joining clips! (or not?)
MoSs
11th October 2003, 02:41
I have a problem with the audio decompression.
When i try to play the following stupidly simple script:
AVISource("vid1.avi")
it works fine, both video and audio works fine.
When I try this:
Source1 = AVISource("vid1.avi")
Source2 = AVISource("vid1.avi") (NOTICE SAME CLIP!)
AlignedSplice(Source1, Source2)
I get an error message:
Error initializing audio stream decompression:
The requested conversion is not possible.
Check to make sure you have the required codec.
(The error is detected on the second line of the script)
I am really annoyed by this thing! I have a whole collection of clips
that i really want to join into one video!
Please tell me is this a bug? Or am I doing something wrong?
(Using AviSynth 2.5.2)
FYI: The video codec of the clip is DivX 5 and the audio is Mp3, CBR 96Kbps 48Khz encoded with the classic Radium Mp3 Codec.
FYI2: Don't bother asking me if i installed the Mp3 radium codec again or at all. I did that like 10 times and it works ONLY for 1 source clip...
killingspree
11th October 2003, 11:57
have you tried joining them in vdub(mod) ??
steVe
MoSs
11th October 2003, 15:18
this is not the solution i want...
you cannot join avi clips of different resolution/bitrate/audiobitrate etc etc with vdubmod
plus vdubmod does not let you split the avi or select
a part of the avi in any frame you want. you can only
split a clip at it's keyframes, which sucks...
you can do anything with avisynth that's why i like it..
you dont have the freedom that avisynth gives you with
anything else!
please can anybody help?
it this a problem with avisynth or with the codec?
stickboy
11th October 2003, 19:55
Originally posted by MoSs
you can do anything with avisynth that's why i like it..AviSynth isn't a magic genie. Just because it gives you a little more freedom than VirtualDub doesn't mean it you can do anything with it. It can't splice videos together with different resolutions. It can't do your laundry or clean your dishes either.
And VirtualDub does things AviSynth can't, such as splicing clips together without recompressing. When you open a file with AviSynth, AviSynth must decompress it first. This is why you can splice on non-keyframes; if you were to use Full-Processing Mode in VirtualDub, you could splice on non-keyframes too.
WarpEnterprises
11th October 2003, 22:01
1) does it work if you use two separate files (e.g. filecopy vid1.avi to vid2.avi)
2) did you try AviSource("vid1.avi","vid1.avi") ? (yes, this is only unalignedsplice)
anyhow, it seems that the requested audio codec can only be loaded once (at least on the same file)
MoSs
11th October 2003, 23:59
Originally posted by stickboy
AviSynth isn't a magic genie. Just because it gives you a little more freedom than VirtualDub doesn't mean it you can do anything with it. It can't splice videos together with different resolutions. It can't do your laundry or clean your dishes either.
And VirtualDub does things AviSynth can't, such as splicing clips together without recompressing. When you open a file with AviSynth, AviSynth must decompress it first. This is why you can splice on non-keyframes; if you were to use Full-Processing Mode in VirtualDub, you could splice on non-keyframes too.
You cannot compare AviSynth with VirtualDub! VD even though I like it and using it a lot, is nothing compared to AviSynth... Maybe you should revise the features of Avisynth again...
And yes it IS a magic genie... You can do everything to videos...
It CAN splice videos together that have different resolutions,
again maybe you should read again manuals and examples...
Consider the following example:
Source1 = AviSource("320x240.avi")
Source2 = AviSource("384x288.avi").LanzosResize(320,240)
AlignedSplice(Source1, Source2)
The above script works perfectly.
I found the problem before I read the post from WarpEntrerprises.
He was actually correct:
Originally posted by WarpEnterprises
anyhow, it seems that the requested audio codec can only be loaded once (at least on the same file)
I removed the radium codec and installed an Mp3 codec that comes with Creative Playcenter. It works fine when trying to Splice in any way, any files, same or different...
So the outcome of this mess is:
AviSynth has NO problem at all splicing clips (aligned or unaligned), the problem was on the Radium Mp3 Codec.
(Still can't figure out why the codec was such a problem...)
Anyway thanks WarpEnterprises for the ideas.
No thanks to stickboy for beeing so negative on Avisynth...
stickboy
12th October 2003, 01:52
Originally posted by MoSs:
No thanks to stickboy for beeing so negative on Avisynth...Oh please. I'm hardly negative on AviSynth. Read some of my other posts if you think otherwise.
I'm merely trying to make sure your expectations are realistic. Obviously, AviSynth is restricted by limitations of the file format and of the codec. It can't join together clips with different bitrates and frame sizes unless you first convert one of the clips to have properties that match the other's. These limitations are the same in AviSynth as they are in VirtualDub.It CAN splice videos together that have different resolutions, again maybe you should read again manuals and examples...You know that's not what I meant. That's not just a splice; it's a splice preceded by a resize. You could have used VirtualDub's resize filter and saved an intermediate file first (or maybe used VirtualDub's internal frame-server) to accomplish the same thing. Does that mean that VirtualDub can splice videos together that have different frame sizes? No.You cannot compare AviSynth with VirtualDub! VD even though I like it and using it a lot, is nothing compared to AviSynth...You missed my point. I am not comparing AviSynth and VirtualDub; I am not saying that VirtualDub is better than AviSynth. I am addressing only your complaint that VirtualDub can't splice together dissimilar videos without conversion and recompression.
If you want to avoid conversion or recompression, AviSynth can't help you. If you don't mind converting and recompressing, then either tool is suitable. Furthermore, if you don't mind converting and recompressing, then a general work-around to audio codec problems is to decompress the audio first using some other tool (such as VirtualDub :p) and then do:AudioDub(AVISource("foo.avi", audio=false),
\ WAVSource("foo.wav"))
MoSs
12th October 2003, 02:09
I'm merely trying to make sure your expectations are realistic.
I am not one of those guys that expect everything from a software they dont even know too well. I can imagine the limitations of such software since I am dealing with video editing for years. I am just relatively new to Avisynth and it is the first time in my life that i encounter such a problem with the CODEC and not the Avisynth
Obviously, AviSynth is restricted by limitations of the file format and of the codec.
I didn't know and i couldn't tell if this was a bug of the Avisynth, which was possible, or a problem with the specific codec (which was actually a codec problem) and sorry but it is not obvious.
You know that's not what I meant. That's not just a splice; it's a splice preceded by a resize. You could have used VirtualDub's resize filter and VirtualDub's frame-server to accomplish the same thing. Does that mean that VirtualDub can splice videos together that have different frame sizes? No.
Well since I dont know you I couldn't tell what you meant. And also i don't know how to use frameserving in virtualdub (maybe i do, i don't know what the term is refered to... i'm Greek)
Anyway ofcource i could do the operations i wanted with virtualdub but
it would take me way moooooore time than i would do them
in an avs script and it just didn't worth it (the time).
Take a look at what i wanted to do:
this is a part copy-pasted from the avs script
S1=AVISource("G:\Friends Season 1 DVD\Friends -101- TOW It All Began.avi").Trim(4900,5100)
S2=AVISource("G:\Friends Season 1 DVD\Friends -103- TOW The Thumb.avi").Trim(18429,19875)
S3=AVISource("G:\Friends Season 1 DVD\Friends -104- TOW George Stephanopoulos.avi").Trim(23316,24000)
S4=AVISource("G:\Friends Season 1 DVD\Friends -105- TOW The East German Laundry Detergent.avi").Trim(27800,29750)
S5=AVISource("G:\Friends Season 1 DVD\Friends -107- TOW The Blackout.avi").Trim(24000,25700)
S6=AVISource("G:\Friends Season 1 DVD\Friends -110- TOW The Monkey.avi").Trim(10019,10420)
S7=AVISource("G:\Friends Season 1 DVD\Friends -110- TOW The Monkey.avi").Trim(24382,25007)
S8=AVISource("G:\Friends Season 1 DVD\Friends -110- TOW The Monkey.avi").Trim(25898,26801)
S9=AVISource("G:\Friends Season 1 DVD\Friends -110- TOW The Monkey.avi").Trim(30975,31876)
S10=AVISource("G:\Friends Season 1 DVD\Friends -111- TOW Mrs Bing.avi").Trim(18888,20773)
...
...
S35=AVISource("G:\Friends Season 1 DVD\Friends -124- TOW Rachel Finds Out.avi").Trim(13009,14343)
AlignedSplice(S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,.....,S35)
LanczosResize(400,300)
UnFilter(10,10)
Oh and btw these avi's have the same specs (resolution,bitrate,etc.)
I don't think i could do this easier with virtualdub. My way of doing that would be to save each of the parts i wanted from each avi (maybe quick recompress them with a fast codec like Intel Video 5) and then join them together again and then recompress the final avi with divx.
This would take me a lot of time since i would have to wait for each part to reencode and also what if i changed my mind about a specific part? I would have to make it again!
So here in a script like that, that kind of job is very easy with avisynth plus you can preview it in realtime before actually encode it!
Virtualdub, when using filters it is very slow (at least at my computer) and can't preview it in real time.
If you have a different opinion please enlighten me! :)
clima
12th October 2003, 09:49
Originally posted by MoSs
this is not the solution i want...
you can only
split a clip at it's keyframes, which sucks...
Sorry for the reply which has nothing to do with your question, just willing to say, you can do it with Aviutil.
MoSs
12th October 2003, 12:59
Originally posted by clima
Sorry for the reply which has nothing to do with your question, just willing to say, you can do it with Aviutil.
Hmmm did you even read my last post?
Anyway thanks...
killingspree
12th October 2003, 13:23
Originally posted by MoSs
I don't think i could do this easier with virtualdub. My way of doing that would be to save each of the parts i wanted from each avi (maybe quick recompress them with a fast codec like Intel Video 5) and then join them together again and then recompress the final avi with divx.
This would take me a lot of time since i would have to wait for each part to reencode and also what if i changed my mind about a specific part? I would have to make it again!
wait a sec... do you want to tell us that you rather manually enter 35 (very) long filenames in addition with the corresponding trim values than to load the files with a normal open file dialog and entering the trim values with the convenience of a nice and easy to use gui that vdub provides?
furthermore i do not see why you do want to save the avi to an interim compressed file... what step would you need that for??
If you have a different opinion please enlighten me! :)
definitely do, as you see above. in my eyes you haven't really understood the difference and similarities of avisynth and virtualdub. don't get me wrong, avisynth is of more value to the video world (at least around doom9.org :)) than any other program. it's range of possible applications is greater than with any other program, but still it has things that you can do easier with other programs.
in addition the genie you see in avisynth is actually not one of the two applications, but the both in combinations. what would you do with avisynth if you didn't have virtualdub(mod) to encode in YV12 and fast recompress mode. only by using the two programs together you can make full advantage of the speed and quality advantage.
you said you cannot compare these two apps with each other and that is, at least partly, true, as they are two closely linked to each other and are also, as explained above, too dependant from each other.
hope you get my point,
steVe
MoSs
12th October 2003, 23:31
alright i agree but still you didn't mention how do i do this easier
with vdmod?
show me the procedure! really i don't know the features of vdmod beyond the obvious ones.
and the filenames, it's just copy paste man... big deal...
show me how i select frame ranges for 35 clips and join them together
all in one big step.
don't tell me something like:
Open first clip, select frame range, then Save (fullprocessingmode) and close.
I say full processing, because if not then the only ranges you can select is between keyframes.
Open second clip and again the same.
Continue for the rest 33 clips and when you finish open first clip and append the rest, then save again. In 33 years you're done... :P
This is the only way i know in order to do my job with virtualdub and it is really painful for me...
Now on the other hand Avisynth gives you the freedom of scripting. In a script you have the freedom to change everything "on the fly".
Since i am a programmer, i like this freedom...
Ofcourse when i'm done and happy with the avs i will put it in the vdmod and it will happily do my final video :)
Again if you know another way show it to me please! I like when i have easier options. And probably i'm not aware of...
Thanks :)
killingspree
14th October 2003, 16:42
open first clip, select range, open second clip (by choosing 'append segment'), select range, etc, etc
afterwards of course you'll have to choose full processing mode.
steVe
MoSs
14th October 2003, 19:21
hehe i was right
that is exactly the way that i wanted to avoid, cause it's painful...
and it is easier (for me at least) with avisynth scripting
thanks anyway :)
xmd5a
20th November 2007, 09:31
I had the same problem with using many avis in one script through AVISource (Error initializing audio stream decompression: The requested conversion is not possible. Check to make sure you have the required codec.) I found solution for myself. It may be complicated or not correct but it works.
What I did:
1.Deleted all mp3 codecs from system and l3codec*.acm from windows\system32 directory.
2.Installed "Fraunhofer MP3 Codec Pro v1.263.exe".
3.Downloaded l2codeca.acm (290 816 bytes), renamed it to l2codecp.acm and copied over windows\system32\l2codecp.acm.
4.At this point I could not see in codec list any mp3 codec which can encode 44100hz or more. So I installed lame3.95.1.zip.
5.Turned on if needed Lame ACM MP3 codec and Fraunhofer MP3 Codec Pro v1.263 in system properties - audio codecs.
Now avisynth (2.5.8) can join many avis with MP3 through AVISource.
Zach
20th November 2007, 10:56
2.Installed "Fraunhofer MP3 Codec Pro v1.263.exe".
I'm pretty sure that's not free, you know. And if you think it is, be weary of the site you got it from. ;)
5.Turned on if needed Lame ACM MP3 codec and Fraunhofer MP3 Codec Pro v1.263 in system properties - audio codecs.
That just seems redundant. If you have LAME installed, there's no need for Fraunhofer's version. That's the whole point of LAME: an open-sourced, free alternative to Fraunhofer. :p
squid_80
20th November 2007, 11:24
That just seems redundant. If you have LAME installed, there's no need for Fraunhofer's version. That's the whole point of LAME: an open-sourced, free alternative to Fraunhofer. :p
An alternative encoder; LAME can't decode.
Zach
21st November 2007, 01:11
An alternative encoder; LAME can't decode.
Where on earth did you get that idea? :eek: :cool:
squid_80
21st November 2007, 08:05
Duh, from the source code. And the fact that the LAME ACM codec refuses all decompression queries.
2Bdecided
21st November 2007, 10:38
Command line lame can certainly decode (--decode!) - don't know about the ACM.
squid_80
21st November 2007, 11:41
5.Turned on if needed Lame ACM MP3 codec and Fraunhofer MP3 Codec Pro v1.263 in system properties - audio codecs.Obviously we're not talking about command line...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.