PDA

View Full Version : NLE editor based on Avisynth


vlada
17th May 2007, 17:45
Hi,
I'd like to ask you if anybody else had the same idea. I think it should be possible to create a GUI NLE with AviSynth as the background engine. It supports everything you would expect from such program - transitions, multitrack, chroma key, changing speed, splitting, trimming, almost every format as input.

Is this a good idea to think about anything like that? Or are there any major drawbacks why this wouldn't work? My current programming skills are not good enough to create a program like that, but maybe sometimes....

mitsubishi
17th May 2007, 18:36
Have you tried searching "avisynth" on http://www.digital-digest.com/ ?

There's quite a few avisynth editors there.

vlada
17th May 2007, 18:52
But could you any of the programs call NLE?

Zarxrax
18th May 2007, 00:13
A number of such projects have been proposed, and some have even been started. I think they all die off though...

Ebobtron
18th May 2007, 08:07
@vlada

Beyond the dated AviSynth pages that fail to mention programs like AvsP (http://forum.doom9.org/showthread.php?t=115506) and even AVSEdit. Neither program is what you are looking for but are better than nothing.
Oh look, AvsP is hosted on AviSynth.org http://forum.doom9.org/showthread.php?t=115506

http://avisynth.org/MoreAboutAviSynth
http://avisynth.org/mediawiki/More_about_AviSynth
Thought I jumped to Wikipedia, wow!
Before everyone starts clicking on the post reply button, I am not blasting anyone's efforts. I very much admire the efforts made by so so many people, a magnificent team, and a truly magnificent result.

This can all become a lot of work.

http://forum.doom9.org/showthread.php?t=91448
"simple non-linear editor (like Premiere)" simple, Premiere ??

http://forum.doom9.org/showthread.php?s=&threadid=68392
The website for this one is so cool (well done).

Zarxrax's
http://forum.doom9.org/showthread.php?t=85573
Zarxrax's has or had these thoughts too.
@Zarxrax
Not all are dead. Some day someone may drop a really good one on us.
@vlada
The idea is easy, but the more it does for you the less total it begins to do. If I give you an set of options and you pick the wrong one? The hardest part of programming for windows is the stuff I don't want you to do. I sort of know that it is hard, I have been working on one for two years.

http://forum.doom9.org/showthread.php?p=687842

It is a GUI and it has in it a NLE.
If you got some ideas, I have my ears turned on.:)
Rob

vlada
19th May 2007, 02:55
Ebobtron
Thanks for the many information and links. I already tried most of the programs you mentioned. I think that your is the closest one to a NLE.

But basically I meant to create something that would look like Vegas, Premiere, UMS or even Pinnacle. And something that would be really easy to use. The users shouldn't have to know anything about AviSynth. I aslo understand that it is very hard to code something like that, because I'm currently working on a AviSynth based tool too.

I would like to see something with an interface like this:
http://img259.imageshack.us/img259/4292/nleoi4.png

AviSynth has IMHO much better filters then most commercial editors. So I think it is a shame that only a few people can use them. Because it is obvious that most people have no idea how to use Avisynth. It is to difficult for them.

I have plenty of ideas, unfortunately my coding skills are really low and the only language I know is PHP-GTK. This is not very powerful language. But it is very easy. Maybe one day I'll learn PyGTK or PyQT, which should be more suitable for this.

What I would expect from such editor are following features:
1) Open video clips and align them on a time line.
2) Apply transitions
3) Apply effects to the clips (deinterlace, tweak, noise reduction etc.) ot to the whole project.
4) Add subtitles (unfortunately AFAIK AviSynth only has basic subtitling options)
More features might come later:
5) Overlay clips or pictures with transparent background or with chroma keying.
6) Slow down or speed up video clips (I don't know if Avisynth can do it fluently)
7) Compress to different formats (with the help of QuEnc, HC, Aften, DVDAuthor, Muxman, x264, XviD CLI, LAME, MP4Box, MKVMerge etc.)

I think there are many great open tools, but most of them are just to difficult to use for average users.

Ebobtron
22nd May 2007, 16:09
@vlada
What you are suggesting is possible. I would rethink the python stuff, for this kind of idea. To do this, a couple of the first words in you first post would become very important. I think it should be possible to create a GUI NLE with AviSynth as the background engine.
avsFilmCutter and most other helper applications that I am aware of, write for the user a tightly defined little or not so little script, which must be delivered to our favorite dll.

To do what you ask the scripting interface for AviSynth's components would need to be replaced by the GUI. Select a function to use, adjust the params and your done. Sounds easy. I can see the structure in my mind, have not a clue where to start. This could be a big project, not near as big a writing the script generator that could emulate "Vegas, Premiere, UMS or even Pinnacle".

I love the way you say "even Pinnacle", when I purchased Studio 8 it took me a long time to understand what they won an Emmy for, then it hit me "best acting in the role of video editor on a home pc."What this teaches me is that a nice GUI is not the hard part.
I think that one of the first things this kind of project would need is a plan, what development package. Most importantly though would be the team. The team of people you need are here. Somebody has to push the ball down the hill, whole bunch of other people need to chase after the ball.

I would be glad to sweep the floors. That I know how to do.
How to get talent inspired? Not one of my strong points.

Good luck the idea has my support.

vinetu
23rd May 2007, 17:44
@vlada
@Ebobtron

You guys... I dont know how to say... Now that really makes my day!!! ... no... I LOVE YOU!!!

I am VERY VERY inspired in this new project, but i am not even close to software development and programming :(
However I want to talk ... to say something... :)

First - the picture from vlada is THE ONLY correct interface for a NLE, I can think of, because there is a TIME LINE! :)

...and next...
What you think about this:

The movie project file - the equivalent to *.pproj in Premiere or *.vegs in Vegas could be a normal avisynth script???

Pros:
1.no need to invent new format

2.you can open that "project.avs" at any time in VirtualDub or HC or other appl. and render a part of the movie or entire project ...or send to someone along with the footage

3.if, for some reason after 6 months of furious editing, only 1h before the movie deadline, something goes wrong with the project file - one can edit and correct the script in notepad! (impossible to Adobe or Sony or every other users)

Cons:
!NONE!... for now :)

The possible structure of the movie script could be like this???:
------------------------------
#ASYNTHER MovieProject

setmemorymax(8192) # :)

loadplugin("TDeint.dll") |
loadplugin("cnr2.dll") |
loadplugin("MaskTools.dll") |
. . . . . . . . . . |
# load plugins part
. . . . . . . . . . |
. . . . . . . . . . |



clip001F000=AviSource("x:\footage\green.avi") |
clip002F000=DirectShowSource("x:\footage\gray.m2t") |
clip003F000=ImageSource("x:\footage\grass.png") |
clip004F000=WAVSource("x:\footage\soundtrack.wav") |
. . . . . . . . . . . . . . . |
. . . . . . . . . . . . . . . |
# imported footage and subclips part.
#
# May be there should be 2 names on every graphic rectangle (clip on the TimeLine)
# "upper name" - the real file name and "lower name"-
# the current variable name for the exact rectangle on the TimeLine
# --example--:
#
# -=green.avi=-
# -=clip001F000=-
#
# the F000 addition is a number wich grows up on every
# trimmed/filtered/resized version(subclip)
# of the source green.avi (clip001F000)
#
# --example--:
# clip001F001=Trim(clip001F000,5000,6000)
# clip001F002=Levels(clip001F001,0,1,211,155,0)
# clip001F003=Trim(clip001F000,11111,111111)
. . . . . . . . . . . . . . . |
. . . . . . . . . . . . . . . |





track01=BlankClip(777) ++ Trim(clip001F000,2000,2500) ++ BlankClip(888) ++ Trim(clip004F000,3000,3500) ++ BlankClip(999) ++ Trim(clip002F000,1000,1500)
track02=BlankClip(111) ++ Trim(clip003F000,2000,2500) ++ BlankClip(222) ++ Trim(clip002F000,3000,3500) ++ BlankClip(333) ++ Trim(clip003F000,1000,1500)
track03=BlankClip(101) ++ Trim(clip007F000,2000,2500) ++ BlankClip(202) ++ Trim(clip015F000,3000,3500) ++ BlankClip(300) ++ Trim(clip022F000,1000,1500)
track04=BlankClip(99999)

TimeLine tracks part.

# those above are 4 tracks (on our TimeLine).
# There is nothing (yet) on "track04" and the project lenght is 1h 6min 40sec ( 99999 frames@25fps)
# "BlankClip(202)" on track03 mean - there is no video/audio
# between "clip007F000" and "clip015F000" - a transparent gap.
# i say transparent... the point is to Merge all tracks, where the BlankClip() clips
# are transparent... something like "Layer(track01,track02,add=true)", but How?

# To be able to finish with this part, I will assume that there is exist some imaginary filter called "LayerTracks()"
# wich work like this:
# ...............
# LayerTracks(track01, track02, track03, track04, track05, trackNN)
#
# where track01 has the lower priority
# track02 is 100% visible over track01 and 100% trasparent for the full frames(not pixels) with 100% black collor
# track03 is 100% visible over track02 and 100% trasparent for black frames and so on...
# ...............
# so using that LayerTracks() filter at the end we have the dreamed "Output" :




Output=LayerTracks(track01, track02, track03, track04)
TMonitor(Output, startup=5)

||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ...end of story!!! :)


Next - the "Project_Files.exe" (colored in white on the picture from vlada) - an Explorer like appl. wich should be responsible for project.avs file creation, importing footage files in the "imported footage and subclips part" area and track the subclip creation - updating the project.avs file.

Next - the TimeLine.exe (colored in yelow on the picture) - an application, wich should reread the text from lines with "trackXX=" variables on every detected project.avs update, calculate positions of BlankClips() and render the rest as colored rectangles - our visualised clips :)
In the same time, if we move/delete a rectangle (clip), TimeLine.exe should update the text on "trackXX=" lines.

Next - Effects_and_Transitions.exe - another application wich should be able to get info from TimeLine.exe (when we drag&drop a filter over a rectangle on the TimeLine ) who exactly is the target subclip, then update the project.avs in the "imported footage and subclips part" area and not in the "tracksXX" area ...


Wow!!! MultyProcessor support!!! ;)

Bye,Bye!

Selur
25th May 2007, 12:28
Maybe AVSCutter is worth a check.
What is AVSCutter?

AVSCutter is a non linear editing tool for AviSynth. It accepts a source video stream described with AviSynth commands.

The tool allows you to
create Clips,
assemble Clips to a Film and
specify Transitions between the Clips in the Film.

During editing the project can be stored in a project file.

Finally an AviSynth script can be generated which describes the edited Film. This script can be played with suitable players or used as source for several freeware MPEG2 encoders.

For more information download the tool or read the documentation in the download section.



Helper tool for automated Clip creation

For automated Clip creation from DV sources which include date and time information a helper tool DV2AVSCutter and its documentation is available in the download section.
(http://www.ecs.fh-osnabrueck.de/avscutter.html)

Ebobtron
25th May 2007, 13:58
@Selur
Maybe AVSCutter is worth a check.

(http://www.ecs.fh-osnabrueck.de/avscutter.html)
I am sure that it is, as well as Rockas's SynthEditor http://www.rockassoftware.pt.vu/

vlada, desires an emulation of Vegas, Premiere not just a NLE.

My view is that a masive program that is just a script wizard is a waste of time, and a huge undertaking. vinetu, thinks that is a good idea.

What say you.

:)
Rob

Fizick
25th May 2007, 16:18
Ebobtron,
but when we will have at last two-frame timeline in your filmcutter? ;)

Ebobtron
25th May 2007, 18:13
Fizick,

:)Ebobtron,
but when we will have at last two-frame timeline in your filmcutter? ;)

I submit the following as an excuse. The when was last September 18, 2006.;)
video menu -> Show Dual Frame Editor http://avsfilmcutter.com/ss_02.jpg
http://img457.imageshack.us/img457/8241/ss02dg3.jpg (http://imageshack.us)

The little frame at the top is one frame ahead of the main frame. Been waiting for your comments on this. If this is not what you are looking for please try to explaining again. And I will try to implement again.

I can write the frame numbers over the video, I can give the user a before or after button(plus or minus).
Please sir Fizick, input, I need input.

:thanks: for asking again. :)
Rob

Fizick
26th May 2007, 12:04
Rob, your "timeline" on picture has strange reverse direction for Europe and America :).
it is confusing to have "ahead" frame at the left of "current" frame...

Ebobtron
21st June 2007, 14:13
Ok yes I see it,

123456789
not
987654321, :)

You all see this?

http://forum.doom9.org/showthread.php?t=127187

RadicalEd
22nd June 2007, 06:06
Oh wow, I missed this thread. Check out my new thread about Celluloid (http://forum.doom9.org/showthread.php?t=127187).

vlada
23rd October 2007, 01:39
I now have some free time and gained some experience with PHP-GTK. I'd like to start my project with Avisynth NLE editor.

I know basically all I need to know to do it except of one thing: How do I get a PHP-GTK application to display video output from AviSynth? Also I need to capture an image from the script. Does anybody have any idea?

Thank you...

JuanC
23rd October 2007, 07:20
I now have some free time and gained some experience with PHP-GTK. I'd like to start my project with Avisynth NLE editor.

I know basically all I need to know to do it except of one thing: How do I get a PHP-GTK application to display video output from AviSynth? Also I need to capture an image from the script. Does anybody have any idea?

Thank you...
Could something like Avsproxy (http://www.avidemux.org/admWiki/index.php?title=Avsproxy) be of any use? it's a derivative of avs2yuv (http://akuvian.org/src/avisynth/avs2yuv/). Avidemux (http://forum.doom9.org/showthread.php?t=126164) is a GTK+ application that gets avisynth video frames thru avsproxy.

Kane1
16th March 2010, 10:15
I hope it is more usable than Mainconcept's Mainactor.

An NLE is mostly a user interface issue. Tech guys just don't get the problem. They aren't users.

I think you should concentrate on a top level graphical user interface for AVISynth that is heavy on tutorials. Even then you need to connect with the user.


As heard on CNBC (financial TV channel)
Paraphrase.

TheFluff
16th March 2010, 21:07
thank you for reviving this thread from three years ago about vaporware that will never exist in the real world
we really value your profound insights in software design

davidhorman
17th March 2010, 19:37
thank you for reviving this thread from three years ago about vaporware that will never exist in the real world
we really value your profound insights in software design

No, thank you for bumping the thread again, this time to say absolutely nothing constructive about the topic under discussion!

David

PS Yes, I do appreciate the irony of my own post :cool:

verydoomed
1st April 2010, 14:50
I think time would be better spent getting avisynth to interface easily with an already existing NLE editor preferably a free one, Wax? and also making a working plugin for Vegas or some other common paid for app.

JoeH
4th April 2010, 23:11
Here is a project which is currently dead. However, the author has open sourced the code and said he would be happy if someone continued it, as long as he mentioned the original author in the credits.

http://teejee2008.wordpress.com/avisynth-studio/