Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
19th November 2004, 04:48 | #1 | Link |
Registered User
Join Date: Dec 2001
Posts: 1,219
|
Possibility of turning Avisynth into a full-fledged NLE
Avisynth is great for processing and fixing up my video, but for years I have been dreaming of the possibilities of an NLE like Adobe Premiere built around avisynth. From time to time I would hear rumors of various projects in the works, but nothing has ever come of it.
Avisynth has EVERYTHING it needs to be a real graphical NLE... well... everything except a GUI. There are a lot of GUIs out there for the general video processing functions of avisynth, but none for actual editing. I have tried literally every NLE out there, from Premiere, to Avid, to Windows Movie Maker. Never found a single one that I really liked, always for different reasons. One NLE might do something PERFECT, but it toally screws things up in some other area... then the next NLE might have things the other way around. The main problem, is that commercial NLEs are designed either for professionals, or for people that want to edit their home videos. There aren't any for people that just wanna mess around with their AVI files! I'm making this post because I am curious if there are any others out there that would have an interest in such a project? Perhaps any people that could even be interested in coding such a thing? If I could code something like this myself... I certainly would. Programming is just not my thing though. I do know a fair bit about it though and could maybe assist in some monkey-work programming as an assistant or whatever. I would also be able to assist greatly with GUI design (which is what the majority of the project would consist of). Just what all does my vision of an Avisynth-based NLE consist of? Here are the key things: - A project files management window, where files can be imported for later use. All files would of course need to be formatted to conform to the same colorspaces/framerates/etc. - A multi-track timeline. The ability to drag files from the project window down to the timeline. The ability to cut up the clips and move them around on the timeline, and move them between tracks. Allow for opacity handles on the pieces. This would definately be the most complex part to program. - A preview window. Displays the current frame (AND current bit of audio, if there is an audio track) as you scroll over the timeline. - An effects window that allows you to apply simple avisynth effects to clips. - Avi exporting. Both for rendering preview clips, and for rendering the script to avi when you finish. And thats basically all of the key parts that would be required. If you haven't figured it out already, all that this GUI does is simply generates an extremely complex avisynth script for you I've been talking about this like its a fairly trivial process to make something like this... but I imagine it is actually quite complex and a huge thing to create. I am hopeing there are some good people out there that would like to see something like this as much as I do though Last edited by Zarxrax; 19th November 2004 at 04:59. |
19th November 2004, 11:49 | #2 | Link |
Moderator
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
|
Perhaps this is a good start?
http://forum.doom9.org/showthread.php?s=&threadid=68392 (AVE Visual Editor of vion11) Btw, (sadly) I never used this, so it might not be what you are looking for. |
19th November 2004, 11:52 | #3 | Link |
Registered User
Join Date: Oct 2001
Posts: 62
|
I'm not familar with Linux and/or its programs, but I know a free NLE-application (Cinelerra) already exists for it. What would be the advantages of an Avisynth NLE-Gui over Cinelerra?
And afaik avisynth 2.5x is quite incomatible with Linux, wouldn't it be better to wait for the development team until version 3 (where they try to reach better portability IIRC) arrives at beta-stage? Or was your general idea: Linux-world=Cinelerra / Windows-world= Avisynth-NLE ? |
19th November 2004, 13:38 | #5 | Link | ||
Registered User
Join Date: Dec 2001
Posts: 1,219
|
Quote:
Quote:
|
||
19th November 2004, 18:36 | #6 | Link |
Registered User
Join Date: Dec 2001
Posts: 1,219
|
Just for fun, i did an example of what this would actually do. I made up a sample timeline in Adobe Premiere, then converted it to an AVIsynth script. It seems like the code to generate the script would be fairly trivial.
Note that I did not test this script, so I probably have made errors somewhere. Also, I don't know if the Trim() function works on Audio sources or not, but I have used it on them anyways. Also, I'm pretty sure the way I am trying to use a blank audio clip wont work. Here is the timeline I started from: A bit of explanation for those who aren't familiar with this: The purple box in video track 1 represents a crossfade transition between clips vid1 & vid2. The orange lines represent the opacity level of the clips. On video track 3, "vid3" begins at 50% opacity and later decreases to 0%. "vid1" on that same track stays at 100% opacity. On video track 2, "vid3" starts at 0% opacity and goes to 100%. And here is the script I wrote up: #Source files vid01 = AVISource("vid01.avi", false) vid02 = AVISource("vid02.avi", false) vid03 = AVISource("vid03.avi", false) aud01 = WAVSource("audio01.wav") aud02 = WAVSource("audio02.wav") Blankv = BlankClip(length=24, width=640, height=480, pixel_type="YV12", fps=23.976).KillAudio() Blanka = BlankClip(Blankv, audio_rate=48000) #Video Track 01 v01_0001 = vid01.Trim(0,18) v01_0002 = vid02.Trim(10,22) v01_0003 = Blankv.Trim(22,34) #Video Track 02 v02_0001 = Blankv.Trim(0,19) v02_0002 = vid03.Trim(19,30) #Video Track 03 v03_0001 = vid03.Trim(0,14) v03_0002 = Blankv.Trim(14,29) v03_0003 = vid01.Trim(29,34) #Audio Track 01 a01_0001 = aud01.Trim(0,22) a01_0002 = Blanka.Trim(22,29) a01_0003 = aud02.Trim(29,34) #Full Track Output Vtrack_01 = Dissolve(v01_0001, v01_0002, 8) + v01_0003 VTrack_02 = v02_0001 + v02_0002 VTrack_03 = v03_0001 + v03_0002 + v03_0003 ATrack_01 = a01_0001 + a01_0002 + a01_0003 #Video Composition #Comp01 = Video Tracks 1+2 Comp01_0001 = VTrack_01.Trim(0,19) Comp01_0002 = Animate(0,3,"Overlay", VTrack_01.Trim(19,22),Vtrack_02.Trim(19,22),opacity=0, VTrack_01.Trim(19,22),Vtrack_02.Trim(19,22),opacity=1) Comp01_0003 = VTrack_02.Trim(22,34) Comp01 = Comp01_0001 + Comp01_0002 + Comp01_0003 #Comp02 = Comp01 + Video Track 3 Comp02_0001 = Overlay(Comp01.Trim(0,10),VTrack03.Trim(0,10), opacity=0.5) Comp02_0002 = Animate(0,4,"Overlay", Comp_01.Trim(10,14),Vtrack_03.Trim(10,14),opacity=0.5, Comp_01.Trim(10,14),Vtrack_03.Trim(10,14),opacity=0) Comp02_0003 = VTrack_03.Trim(22,30) Comp02_0004 = Comp01.Trim(30,34) Comp02 = Comp02_0001 + Comp02_0002 + Comp02_0003 + Comp02_0004 #Audio Composition AComp01 = ATrack_01 #Output Output = AudioDub(Comp02, AComp01) Last edited by Zarxrax; 19th November 2004 at 18:53. |
19th November 2004, 18:43 | #7 | Link |
Registered User
Join Date: Oct 2002
Posts: 167
|
@Zarxrax
What main points would distinguish the ultimate GUI from existing ones, except it should have all good stuff from premiere, vdub, after effects, combustion and avid? Does this timeline thingy really makes sense, if you want "to mess around"? Look here in VJ Software listing to find many different approaches of video editing. In fact I can't understand advantages of timeslines if you want to do non linear editing |
19th November 2004, 19:01 | #8 | Link |
Registered User
Join Date: Dec 2001
Posts: 1,219
|
Well, not so much for "messing around" really... so much as editing stuff together for whatever reason. If you don't see the point of a timeline, then I think you probably don't fully understand the concept of nonlinear editing.
If you work with NLEs like Premiere, I think you will understand the point. But you ask what will distinguish this GUI from the others... as I said above, the other guis are all for the video processing aspects of avisynth. Cleaning up your source, resizing, and all that stuff. This gui would be for EDITING--cutting up clips, rearranging them, and making an entirely new video from it. |
19th November 2004, 22:56 | #9 | Link |
Avisynth 3.0 Developer
Join Date: Jan 2002
Location: France
Posts: 639
|
All this talk about a wish list for the GUI is good and well, but it's a bit too soon for that.
As the interface that avs3.0 should provide to any GUI for it to do its work is still unspecified. There is still not even a reasonable list of things that should be possible/allowed. |
19th November 2004, 23:56 | #12 | Link | |
Avisynth 3.0 Developer
Join Date: Jan 2002
Location: France
Posts: 639
|
Quote:
Those are mostly about communicating about available functions IIRC. There are other things that may be desirable. I recently had some talks with esby about graph exploring (which is possible) and edition of filters in the graph (which is damn harder) @Zarxrax There is an avisynth3_0_dev mailing list on yahoogroups and a corresponding newsgroup through the gmame list to news portal. |
|
21st November 2004, 01:13 | #13 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
Yes, cut-merge on timeline will be great.
may be we must ask Stax for it in next AVSEDIT version?
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
25th November 2004, 20:58 | #14 | Link |
Registered User
Join Date: Feb 2004
Posts: 61
|
I think the only difference between the type of GUI that you're asking for and the one already available for avisynth is the timeline... you could probably very easily use some of the open source code from the other GUIs for the rendering of the effects etc...
I think the best way to set up a timeline type editor would be to use some bits and codes from other opensourced projects... you would need a video player that could export the frame numbers to the trim function obviously. In even a simple a manner as in virtual dub when you can click on a place on the time line and mark it as the begginig or end. And there has been some requests for Audacity (an open source audio editor) to have their audio synched with a video player, so that you could use Audacity to edit the sound for a video. Basically, I think the best way to do something like this would be to use some of the bits and codes already availible with some of these opensource projects and just comine them... and the AVS file should be the equivilaant of the project file for any of the other video editors. (to make this GUI would be kind of like reverse engineering, starting from the project file, and making a program that would render that) |
26th November 2004, 17:00 | #15 | Link |
Registered User
Join Date: Oct 2002
Posts: 167
|
I agree most algos for video stuff are available
as open source. But to achieve a useful GUI one have to create a abstraction layer transforming the video objects to adjustable 'mouse objects'. In case of Trim() it sounds easy: a rectangle with hotspots at both sides, knowing min/max values. Actually not at least the windows small/big font option makes headache, there are huge amounts of parameters and contraints you have to know and handle. And additional a data layer is needed, usable from both the gui side and the video side. Sources for data and abstraction layer are not existing up to useless. I'm not saying it is unpossible, but there should exists a very good reason to build up something claiming better video editing than premiere. And why develop something less featured? |
26th November 2004, 18:40 | #16 | Link | |
Really? Really really!
Join Date: Jan 2004
Location: Finland
Posts: 163
|
Quote:
Regards, M7S
__________________
How many Microsoft employees does it take to screw in a light bulb? None, they declare darkness a new standard. |
|
26th November 2004, 23:52 | #18 | Link |
brontosaurusrex
Join Date: Oct 2001
Posts: 2,392
|
I might be an idealist but isn't US$ 699 vs. free a reason as good as any? no it is not, would require painintheasshish amount of time, which no money can repay.
but i was toying with an idea like that as well, building 3 simple apps: 1. see (player, mark-park, flag, move-to, delete, ect) 2. manage (wincmd type of file manager, simple avisynth prepare me for editing, convert, encode type of thingy, 100% configurable buttons - think directory opus) 3. edit multiline editor, each clip gets its own avisynth script, so the final edit can be changed fast (like klip455+klip334+klipn) - there is a lot of features i can think of based on perception of curent edit - that no known editor has right now. ................. i would be prepared to work on such project as gui designer with someone that knows lightworks editor very well (only decent video editors gui imho) .................. edit: notes, things that i see right now, which seems very hard to do nicely: - decent timeline, sync - decent preview - timecode management - is there a need for intermediate (fast) database, robustnes - it is very likely that very few users would use such an editor at the end: newbies - to damn complex to use, pros: they do need much more than that Last edited by smok3; 27th November 2004 at 00:07. |
27th November 2004, 18:14 | #19 | Link | |
Really? Really really!
Join Date: Jan 2004
Location: Finland
Posts: 163
|
Quote:
__________________
How many Microsoft employees does it take to screw in a light bulb? None, they declare darkness a new standard. |
|
1st December 2004, 11:08 | #20 | Link |
Registered User
Join Date: Jul 2003
Posts: 52
|
I thought about this already. It's not a big problem
to make such a tool, but it's a lot of work. Also, there are several things that I could wish AviSynth to have : 1. PROPER handling of static images. (damn!) 2. a kind of 'upward' api, an object that can call AVS filters using predefined frames and get back a result - for things like adjusting color using window controls. Including those built-in filters too ! 3. If I only had time... |
Thread Tools | Search this Thread |
Display Modes | |
|
|