View Full Version : Introducing Celluloid: an AVISynth-based NLE
rfmmars
23rd July 2007, 12:22
Let the man have his day, yes Edison's light bulb finally worked.
Richard
RadicalEd
23rd July 2007, 17:03
Whereas the sales pitch may have been premature, I for one can only encourage the original poster to have a go. The negative tone of many of the above posts seems, to me at least, to be inappropriare for a community with substantial open-source development credentials. Surely we don't require every potential developer to run this gauntlet of criticism. Regardless of how people begin, is it not in our best interests as a community to encourage each and every development? And to support it with ideas, advice and encouragement, rather than a list of reasons why it won't work? I am sure many initiatives will fail, but every now and again someone produces a useful tool, or even a real gem. So even if the pitch was premature, that is the only feedback the poster needs on that issue. After that - we should be discussing ideas and how-to's.I just wanted to comment on how much I appreciate this post. It's come to the point where I dread clicking this topic expecting more critics to fend off.
For all you vaporware-crying folk, I've set a deadline for the alpha/beta. It's nebulous, but no less than that of many projects, open or otherwise: we will have a functioning product no later than (but possibly sooner than) Fall. The reason for this is twofold: one, many of our developers are currently up to their necks in work and cannot contribute much until the Fall. The second is my personal inexperience with Cocoa programming, which will be supplemented aggressively with books and PDFs for the remainder of the summer. Remember, Celluloid could very well become a Summer blockbuster. But if not, watch for it this Fall at the latest.
honai
23rd July 2007, 18:18
Let the man have his day, yes Edison's light bulb finally worked.
The difference being that Edison did indeed do most of the actual, hard work, whereas Mr RadicalEd is solely relying on outside contributors who actually make his "dream" come true.
I'll commit the single script interface to cvs first thing in the morning
Looking forward to it. I hope you don't mind if I place much of the pending judgement on the veracity of your past and present claims on whether you actually commit code that does produce the "screenshots" currently up on the project homepage.
Quoting you once again:
For your information, the only photoshop in the interface screenshots currently is the iMovie video controls and timeline, and that can be easily fixed. Everything else is real, live Interface Builder, including the entire single-script mode.
Wilbert
23rd July 2007, 20:22
Guys be civil to each other! I'm getting tired of the negative posts in this thread and won't warn again.
@TheFluff and others,
As far as i know the lower level parser in avs3.0 works fine. The basic color conversions (8 bit) work fine. The resizers are not implemented yet. Many filters are working fine. GStreamerSource works fine.
RadicalEd
23rd July 2007, 21:42
Good news. The SVN is up with the single-script interface's Interface Builder project files.
svn co https://celluloid.svn.sourceforge.net
Alternatively, there's a websvn available at
http://celluloid.svn.sourceforge.net/viewvc/celluloid/
Go nuts.
Yobbo
24th July 2007, 10:00
RadicalEd, will you be looking at any kind of multitracking audio ("sound-on-sound") facility, as I mentioned before? Would be neat to be able to add sounds to existing audio track.
I don't think anything like this exists in the open-source arena (could be wrong). Windows Movie Maker, Avid Free DV, DDClip Free, etc - I think they're all limited to 2 tracks? (Again, maybe I'm wrong).
wonkey_monkey
24th July 2007, 10:16
I don't think anything like this exists in the open-source arena (could be wrong). Windows Movie Maker, Avid Free DV, DDClip Free, etc - I think they're all limited to 2 tracks? (Again, maybe I'm wrong).
There's Cinelerra, but it's on Linux and the interface is ugly-lookin'.
David
jkwarras
24th July 2007, 10:50
There's Cinelerra, but it's on Linux and the interface is ugly-lookin'.
David
I use cinelerra since I switched to ubuntu 2 years ago. in the past I've used Premiere and Final Cut Pro. As everyone else will tell you there's no alternative to these packages for pro editing in linux. only cinelerra is near them and have a lot of potencial but:
- Ugly interface and doesn't behave like the others NLE suites (see drag n drop, transitions and detaching audio and video and moving them, it's quite "different"). It really needs to "copy" how the "big brothers" works. But it already works since 1999 :)
So, this kind of project (NLE avisynth based) it's what I'm looking for. I hope that the interface could be ported to gnome or kde for linux. If this works as expected, you could probably try to get it into Ubuntu Studio and get a lot of pro users and testers: http://ubuntustudio.org/
Hope you the best.
RadicalEd
24th July 2007, 15:15
RadicalEd, will you be looking at any kind of multitracking audio ("sound-on-sound") facility, as I mentioned before? Would be neat to be able to add sounds to existing audio track.
Yes, naturally, audio tracks will work just like video tracks on the timeline. Drag any type of media file onto the little white bar and it will pop in a new track relative to the type of file.
So, this kind of project (NLE avisynth based) it's what I'm looking for. I hope that the interface could be ported to gnome or kde for linux. If this works as expected, you could probably try to get it into Ubuntu Studio and get a lot of pro users and testers: http://ubuntustudio.org/Then I have good news for you: as mentioned on the about page, we are heavily considering a port to the EFL (http://www.enlightenment.org). This will make possible a great Linux UI and even allow Celluloid to run on Windows (conveniently, Caro, one of the Avisynth devs, is also an EFL dev, and he's working on the Win32 port of EFL).
jkwarras
24th July 2007, 17:17
Then I have good news for you: as mentioned on the about page, we are heavily considering a port to the EFL (http://www.enlightenment.org). This will make possible a great Linux UI and even allow Celluloid to run on Windows (conveniently, Caro, one of the Avisynth devs, is also an EFL dev, and he's working on the Win32 port of EFL).
As long as it works on my Ubuntu I'll be happy :)
Dr.Khron
24th July 2007, 20:00
Since when is "marketing" a bad word? Without marketing we'd still be using analog calculators... marketing drives technology and technology drives marketing; its a symbiotic relationship. Rarely do useful products come from pure R&D: the give and take between and R&D and market demands is what produces "insanely great" products.
A great example is the development of the original Palm Pilot... all the engineers were excited about what technologies they could build into it, but ultimately the design specs were based on what users needed, and how the were going to to use it. For instance, instead of deciding the physical size of the device based on what they wanted to pack into it, the size spec said "must fit into the front pocket of a standard Brooks Brothers dress shirt".
I think many of you have a very narrow view of what the word marketing means. "marketing" is not equal to "marketing hype".
If anything, however, I think this project actually needs a little MORE marketing... not marketing hype, but some marketing reasearch to help guide the development.
I mean, WHO is this for? WHY will the use it, and for WHAT?
If you can answer all of those questions in an informative manner, it might help the project seem a little less vague.
RadicalEd
24th July 2007, 23:38
Well, if you know the direction, goal, and target audience of Avisynth, then you know the direction, goal, and target audience of Celluloid, and then some. Celluloid is a powerful video editor for professionals and hobbyists alike. Like the about page says, it will most likely fit into a nice middle-ground between hobbyist editors like iMovie and WMM and pro software like FCP, Avid, and Premiere. Basically, Celluloid is a project to take the power of AVS and give it a nice, functional interface with some added features unique to the project.
DSP8000
25th July 2007, 05:48
Youch. Why rely on the user having Java (and having the patience to wait for it to load) when you can just add 5-10% to the height of your image?
David
easy for maintenance, no need for manipulating the images. Sorry for OT.
jkwarras
25th July 2007, 11:17
Celluloid is a powerful video editor for professionals and hobbyists alike. Like the about page says, it will most likely fit into a nice middle-ground between hobbyist editors like iMovie and WMM and pro software like FCP, Avid, and Premiere.
RadicalEd,
I think you should target the pro market, assuming that "pro" is not pro high-budget studio, but mid-low range budget studios-profesional. You'll targeting most of the pro people that uses avisynth to post-process their video in DV/DVCAM/HDV and further (not 2k obviously).
Most people I know that want to edit their short/documentaries, either uses pirated copies of adobe premiere or buy a Mac and get a pirated copy of FCP. It's like that when you don't have the money or the will to pay for it. I personally was tired of that, and get into linux 2 years ago and tried a lot of NLE, but cinelerra is the closest app to work as I used to in the propietary applications.
If you get something that looks like a NLE, looks nice, uses the same structure as others do, and uses the powerfull potential of avisynth, let the word-to-mouth flow and you'll get these people into it. The problem is to get a user base. If a pro-user talks nice about your application, home-users will also get into it.
You'll also be able to edit your home-videos with it, but I think isn't really your goal looking at the celluloid website.
RadicalEd
7th August 2007, 14:39
For those of you following the project, you'll have noticed that things have been quiet on the Celluloid front for the past couple of weeks. You'll be excited to learn that we haven't been idling. If you pay attention to the site (http://celluloid.sourceforge.net/), you may have noticed some incremental updates in recent days -- we've been readying it for this announcement. As of today, some major updates have gone live. I'll give you a run down of the biggies:
Design Mode (non-linear editing):
We've finalized the interface for Celluloid's non-linear "Design" mode. The mock-up seen on the screenshots page (http://celluloid.sourceforge.net/Screenshots.html) will be the base model that we work on for the project's interface. The interface has seen some updates since the last post and overall been polished up quite a bit. Moreover, the mock-up on the screenshots page is now fully interactive -- mouse over the interface elements for descriptions and demonstrations of their functions. Mostly all of the elements are interactive in this way, but we've provided a guide highlighting the hotspots above the screenshot.
Source Mode (single source processing and transcoding):
With this update, we're introducing Celluloid's Source Mode -- a mode that we think will make Celluloid the premier transcoding app on the Mac. With this mode, one can select a source, be it a file, drive, or otherwise, and a destination file or drive, and filter and transcode to a plethora of formats using the GStreamer framework (or QuickTime framework, if you prefer). It comes fully loaded with batch processing functionality, a built-in script editor (the same as Design Mode's editor, so syntax highlighting and code-completion are included), live filtering and encoding previews, pause/resume functionality, and OS X's Console.app dumps. It is also very likely that Source Mode will see the light of day sooner than the fully-featured Design Mode is ready due to its simpler nature, so keep your eyes out. Furthermore, Source Mode's interface is not a mock-up like Design Mode's, but rather a product of real, live Interface Builder work. Source Mode's interface shell has already been checked into Celluloid's Subversion repository, and can be downloaded via websvn here (http://celluloid.svn.sourceforge.net/viewvc/celluloid/). The interface can be seen in interactive form on the screenshots page (http://celluloid.sourceforge.net/Screenshots.html), of course.
Collaborate:
Celluloid is breaking new ground in the editing field with its live, online collaboration feature. Whether it's over a local network, or across the world, Celluloid is going to allow you to share assets and edits with other editors working on the same project. Changes are highlighted in Celluloid's interface, and can then be selectively merged into your branch of the project. Assets may come from an online server, a public folder on your machine, or even from identical sources on individual editors' computers. We think this will make Celluloid a big hit for the massive, multi-editor projects popular among hobbyist editing communities. Overall, we're very excited to bring collaboration to the world of video editing, and we think you will be too.
ETA:
After much deliberation and in response to many comments from you, we're proud to announce an estimated, admittedly nebulous release time for Celluloid's first alpha and possibly beta. Right now, we're shooting for a Fall release, to coincide with the release of OS X Leopard and to give our devs some time to get all that summer work out of the way. We may have a working alpha as soon as next month, if all goes well.
Join in:
We've recently opened up shop on FreeNode (http://freenode.net/) (the same server as #avisynth (irc://irc.freenode.net/#avisynth), naturally), bringing Celluloid an official IRC channel (irc://irc.freenode.net/#celluloid). Since its inception, the channel has been relatively quiet, but we hope interested users will bring their feature requests and suggestions to the table and developers will come to discuss the project. Come on in, check us out, and idle for awhile. We appreciate the company ;)
All the buzz:
We also have a nice, new pool of over twenty randomly displaying images for the front page highlighting Celluloid's features. We think you'll like them :) The full list of images are here (http://celluloid.sourceforge.net/Images/fp/), for those interested. Other minor cosmetic improvements and polish have been added to the webpage as necessary, so take a look around.
The other good news is that with this long-time coming website update out of the way, Celluloid's interface finalized, and the transition of Avisynth 3 to Subversion, we're clear to set full speed ahead and move into a stage of heavy development. Look for lots of activity in the coming weeks as things ramp up into high gear. As always, you can keep a track of Celluloid's Subversion activity through the websvn interface (http://celluloid.svn.sourceforge.net/viewvc/celluloid/), or simply check out the repository with your own Subversion client.
One final note -- we're overwhelmed to learn that Celluloid's project website has gotten over 100,000 hits (http://sourceforge.net/project/stats/detail.php?group_id=199483&ugn=celluloid&type=prweb&mode=alltime) in just a month of life. We're glad to see such enormous interest in the project and we hope you'll stay interested (and tell your friends!) and stay tuned as the project progresses.
Well, that's a wrap! Check out the new stuff, and enjoy! :)
smok3
8th August 2007, 16:08
just some ideas:
1. for basic 'story' editing you need dual-pane gui (or more than dual if you are working multicam, but thats not that important...)
2. the recorder window should have EE button (see input) so that you can do quick visual inspection of the cut generated (no computer video editor that i know has this simple function)
2b. the recorder window should have an X button, where you can see an X composition (50:50 mix of the input and edit), again the purpose is similar to the point 2. (no computer editor that i know has this simple functionality)
if you are an editor you will know what iam talking about, otherwise, well who cares... :)
the idea for gui you have is basically bad (you just need to see whats important, and the most important is always cut decision, assets and stuff like that should be visible when they are needed and not all the time...)
some ideas you can get from here (while smoke is not really a classic video editor, doesnt even have a dual-pane editing, you should get an idea on how to setup gui for non-cluttered work):
http://download.autodesk.com/us/smoke/smoke12/
DarkNite
9th August 2007, 12:38
Well, since we have different sections of the audience chiming in on what should or should not be visible, how about a setup screen with previews that let's you decide which "mode" you would like to work with and then intiates a preset of active/visible GUI elements? Much like you would choose "Designer" or "Coder" presets when launching DreamWeaver (just an example), and could change on the fly while you're working.
RadicalEd
9th August 2007, 22:57
how about a setup screen with previews that let's you decide which "mode" you would like to work with and then intiates a preset of active/visible GUI elements?
Sure, that shouldn't be a problem. All major interface panes will be dock-able and therefore close-able, so customizing the interface will be pretty easy. I don't see why we couldn't provide some pre-set customizations while we're at it.
1. for basic 'story' editing you need dual-pane gui (or more than dual if you are working multicam, but thats not that important...)
Given that filters are selectively visible, I don't see a need for that, really. It's just redundant and a waste of interface space.
2. the recorder window should have EE button (see input) so that you can do quick visual inspection of the cut generated (no computer video editor that i know has this simple function)
2b. the recorder window should have an X button, where you can see an X composition (50:50 mix of the input and edit), again the purpose is similar to the point 2. (no computer editor that i know has this simple functionality)Not sure I understand. Can you explain further?
http://download.autodesk.com/us/smoke/smoke12/Man, that is one ugly interface :|
TheFluff
10th August 2007, 00:56
Nice to see some progress here. I guess it's all photoshopping though and no actual code because I don't see any commits whatsoever on the SVN you linked to in the last two weeks (i.e. since last time you posted). I'm not really a programmer so I dunno, but I thought collaborative programming relied pretty heavily on a common source code repository. Is it on some secret hush-hush server that only people on IRC get to see, or is that pluralis majestasis (aka. the royal "We") you're using when you're saying "we" and "us" in the post above?
RadicalEd
10th August 2007, 02:00
Nice to see some progress here. I guess it's all photoshopping though and no actual code because I don't see any commits whatsoever on the SVN you linked to in the last two weeks (i.e. since last time you posted). I'm not really a programmer so I dunno, but I thought collaborative programming relied pretty heavily on a common source code repository. Is it on some secret hush-hush server that only people on IRC get to see, or is that pluralis majestasis (aka. the royal "We") you're using when you're saying "we" and "us" in the post above?
Everything that's been done so far has been committed. Actually, I just laid out the base components for the design mode interface this morning, so you should see those committed to SVN soon. All that's in the SVN right now is the base Interface Builder layout for the source mode.
As for relying on a common source repo, I'm really the only active developer at the moment (hence why we'd really like some more devs to jump on board). David is too busy with work to do any real work on the project, but he has been guiding me along, so that's been helpful.
RadicalEd
10th August 2007, 10:51
For those earlier in the thread who were interested in the Interface Builder files, I've just checked in the new Design Mode Interface Builder shell to SVN. This is a rough draft of a rough draft, and not everything may be entirely correct. It's just something to work off of. Obviously the screenshot is a heavily modified version of this, but the basics are all there, if not entirely functional.
buzzqw
10th August 2007, 11:09
(don't forget the windows world...:thanks: )
BHH
RadicalEd
11th August 2007, 00:29
(don't forget the windows world...:thanks: )
From the front page:
The latter two, DNA and Nucleus, will be inherently cross-platform. The third, Cell, will be ported to the Enlightenment Foundation Libraries, enabling it too to be cross-platform. We are also considering porting Cell to .NET.
:)
vlada
11th August 2007, 19:36
RadicalEd
Regarding GUI, have you ever tried Qt from Trolltech? If your application will be GPL (I believe it is), you can use Qt4 on Windows, Linux and OS X with native look. So you could have one GUI for all basic platforms.
I think what the opensource world really needs is a user-friendly NLE. But on the other side it should be powerful and have a high quality output. We have AviSynth and great free video encoders - XviD, x264, ffmpeg/libavcodec, muxers like MP4Box or MKVMerge etc. to achieve this goals.
I think that the initial effort should be to enable easy composing of DV material - align clips, add transitions, add titles and export as DVD-Video. Later add multiple tracks, different blending modes, chroma-key. Then allow to add per track/per clip effects (including animation). The effects should include simple things like color adjustment, deinterlace, denoise, crop and then more difficult things like speed change, rotation and clip motion. This will need a lot of work IMHO.
For an inspiration on AviSynth and transition effects, have look at DVD slideshow GUI (http://download.videohelp.com/tin2tin/). Before I've seen this application I didn't know there are possible so many transition effects in AviSynth.
The next step would be to include "smart rendering" support. This would mean to only recompress the parts which need to be recompressed. I think this feature becomes more important with new camcorders (HDV, HDD/SD/DVD MPEG-2 and AVCHD). These new MPEG-2 and MPEG-4 formats will degrade much more during recompression then DV. This would be a killer feature since no other NLE has this feature for other formats then DV AVI. But we would need reliable CLI multiplatform cutters for AVI, MPEG TS, MPEG PS, MP4 (MP4Box?), MKV (MKVMerge?).
Also beside GStreamer it might be useful to include FFMPEG as an alternative.
Before I discovered your project I wanted to start something similar myself. But your GUI is just beautiful and you certainly have much more programming skills then I. So I leave it up to you ;-).
But I hope I can at least help with some creative ideas. Also if you would have any AviSynth related tasks to do, I hope I might be able to help with them.
And the last thing I would like to mention is the I way I believe AviSynth internal and external plugins should be included. I think it would really nice to he a file dgbob.avsp with following content:
<Celluloid plugin>
<Plugin>
dgbob
</Plugin>
<PluginName>
DGBob Deinterlacer
</PluginName>
<Category>
Deinterlace
</Category>
<Parameters>
<Parameter1>
<Name>
order
</Name>
<Type>
radio
</Type>
<Value1>
0
</Value1>
<DescriptionValue1>
BFF
</DescriptionValue1>
<Value2>
1
</Value2>
<DescriptionValue2>
TFF
</DescriptionValue2>
<DefaultValue>
$field_order
</DefaultValue>
<Help>
Indicates interlaced field order. BFF is typically used in NTSC and DV camcorders, TFF is used on PAL DVDs and TV broadcasting.
</Help>
</Parameter1>
<Parameter2>
<Name>
mode
</Name>
<Type>
slelect
</Type>
<Value1>
0
</Value1>
<DescriptionValue1>
Normal mode
</DescriptionValue1>
<Value2>
2
</Value2>
<DescriptionValue2>
Slow motion
</DescriptionValue2>
<DefaultValue>
0
</DefaultValue>
<Help>
Deinterlace mode. Normal mode is classic smart deinterlacer. Slow motion mode doubles number of frames. Use it to create 50% slow motion video or to get 50p/60p video from 50i/60i source.
</Help>
</Parameter2>
<Parameter3>
<Name>
thresh
</Name>
<Type>
integer
</Type>
<Value1>
0
</Value1>
<DescriptionValue1>
Less artifacts
</DescriptionValue1>
<Value2>
255
</Value2>
<DescriptionValue2>
Less flickering
</DescriptionValue2>
<DefaultValue>
12
</DefaultValue>
<Help>
This parameter controls a tradeoff between amount of flickering and amount of residual combing and artifacting. Lowering the threshold removes more combing and reduces artifacts, but it increases flickering. Raising the threshold reduces flickering, but it increases residual combing and artifacts. Set it as low as possible without making the flickering intolerable.
</Help>
</Parameter3>
</Parameters>
</Celluloid plugin>
This information should be enough to get following information: display the plugin between Deinterlace filters and name it DGBOb Deinterlacer. As configuration dialog display 3 parameters with defined names and values. For first parameter display 2 radio buttons. For the 2nd one make a select box. The third one should be a slider (0-255) with a direct input field.
It should also make it absolutely clear as how to include the filter in a script:
Clip0001b = dgbob(Clip0001a,order=0,mode=0,thresh=12)
The default value for order will be taken from variable $field_order which will internally store the information about track or clip field order. In this case it might be even useful to allow hidden parameters which would be set by the program not by a user.
What do you think about it? Are my ideas useful?
Btw. I would really need a Windows or Linux version for testing, since I don't have a Mac OS X computer.
RadicalEd
11th August 2007, 23:24
Wow, awesome post Vlada :) Lots to reply to here...
Regarding GUI, have you ever tried Qt from Trolltech? If your application will be GPL (I believe it is), you can use Qt4 on Windows, Linux and OS X with native look. So you could have one GUI for all basic platforms.
Qt was looked at for possible x-platform support. However, Qt Designer is truly a nightmare graphically, and won't suit the needs of the project at all. Furthermore, use of the Enlightenment Foundation Libraries will give us all the benefits of Qt, but likely better performance and better visuals.
I think what the opensource world really needs is a user-friendly NLE. But on the other side it should be powerful and have a high quality output. We have AviSynth and great free video encoders - XviD, x264, ffmpeg/libavcodec, muxers like MP4Box or MKVMerge etc. to achieve this goals.
That's our goal ;)
I think that the initial effort should be to enable easy composing of DV material - align clips, add transitions, add titles and export as DVD-Video. Later add multiple tracks, different blending modes, chroma-key. Then allow to add per track/per clip effects (including animation). The effects should include simple things like color adjustment, deinterlace, denoise, crop and then more difficult things like speed change, rotation and clip motion. This will need a lot of work IMHO.
Multiple tracks, blending modes, etc will all take just as much (or little) work as implementing basic compositing and basic filtering, since all of that is simply handed off to the AviSynth filters.
The next step would be to include "smart rendering" support. This would mean to only recompress the parts which need to be recompressed. I think this feature becomes more important with new camcorders (HDV, HDD/SD/DVD MPEG-2 and AVCHD). These new MPEG-2 and MPEG-4 formats will degrade much more during recompression then DV. This would be a killer feature since no other NLE has this feature for other formats then DV AVI. But we would need reliable CLI multiplatform cutters for AVI, MPEG TS, MPEG PS, MP4 (MP4Box?), MKV (MKVMerge?).
Interesting but of dubious possibility due to what you say at the end -- namely that there aren't necessarily tools to do that. And if there aren't any GStreamer filters that can accomplish that, then we're out of luck. Celluloid's goal is to implement an interface for and hand all processing off to AviSynth and GStreamer, not to muck around with the video processing itself. Likewise, the output format is likely to be so drastically different from the input that recompression would be necessary anyway (different resolution, bitrate, codec, etc). I'd love to see something like that but it just doesn't seem feasible.
Also beside GStreamer it might be useful to include FFMPEG as an alternative.
There was at one point a working FFMPEG backend for AviSynth 3, but that has since been ditched. GStreamer has FFMPEG plugins anyway, so there's really no need for a dedicated FFMPEG backend.
Before I discovered your project I wanted to start something similar myself. But your GUI is just beautiful and you certainly have much more programming skills then I. So I leave it up to you ;-).
Thank you :) If you're a decent coder, feel free to join the team (we need all the help we can get), especially if you're experienced with .NET development. Make no mistakes -- this project is going to be a big learning experience for me personally, as it's by far my most ambitious project yet (all my other non-school programming has centered around image/video signal processing). Fortunately we have some very talented and knowledgeable developers on board like David and Andrew to help out.
But I hope I can at least help with some creative ideas.
Absolutely. This is just the kind of discussion I've been hoping for -- feature requests, design suggestions, ideas -- we're very eager to hear all of them.
And the last thing I would like to mention is the I way I believe AviSynth internal and external plugins should be included.
...
Well, the thing with that suggestion is that there really isn't any information contained in such a file that couldn't be extracted from the plugin itself. We're aiming to implement AviSynth, not redefine it. That's why we're planning on allowing import of external plugins independent of Celluloid's development. We should be able to queue up all the parameters taken by the plugin and construct a configuration panel based on those parameters. This is our ideal.
What do you think about it? Are my ideas useful?
Very appreciated :) Keep 'em coming! If you want, check out our IRC (irc://irc.freenode.net/#celluloid) channel. It's been pretty dead, but hopefully more interested parties like yourself will soon join in on the discussion.
vlada
12th August 2007, 22:35
RadicalEd
Thanks a lot for your answers.
I'm sorry but unfortunately I'm not a very good programmer. I hope I'll improve my skills, but unfortunately I have a lack of free time. I only know PHP (PHP-GTK) and a little about Java. I have no experiences with .NET so far.
Some other points I'd like to mention are following:
1) According to Smart Rendering/Direct Stream Copy there are following reasons why this would be extremly useful: There are plenty of camcorders recording to SD/HDD/DVD in a DVD-Video compliant MPEG-2. So you can just keep the original format to create regular DVDs. Also now there are plenty of AVCHD camcorders. Their recordings are compliant with Blu-ray and HD DVD (MPEG-4 AVC + AC3). Also imagine the time needed for MPEG-4 AVC recompression. If we can avoid it, it will be a huge performance boost. I know it might be very difficult, but I believe it is doable. I'll try to find something out and I will let you know if I come across something useful. If you want to use GStreamer as a background, I think it might be possible to use it for this task.
2) What all information can you extract from a plugin? I'm afraid it won't be enough. You can probably get all parameters and their values. But I think the user will also need some description of the parameters. If I set mode=0 or mode=2 in DGBob, what does it mean? Most users will have no idea. But if I display a select box with options "normal mode" and "slow motion" it will be absolutely clear. And I think this information can't be extracted from the plugin itself. So a file with computer readable description and help for some (not necessary all) plugins is useful IMHO.
RadicalEd
13th August 2007, 05:19
We're trying to decide on a new icon for the project. The benefit of the old one is that it reflects the project's goal of being easy to use for hobbyists (the camcorder) yet powerful enough for professionals (the film reel). The attractive thing about the new icon is that it's somewhat of a re-take of the AviSynth icon -- gears and a film strip. It's also more unique and recognizable than the old one. We're undecided.
Old icon:
http://celluloid.sourceforge.net/Images/128.png
New icon (with AviSynth icon for comparison, click to view high-res icon):
http://celluloid.sourceforge.net/Images/testo2.png (http://celluloid.sourceforge.net/Images/testhigh.png)http://celluloid.sourceforge.net/About_files/avs.png
Thoughts?
P.S. Vlad: I'll get to your new post in a bit ;)
RadicalEd
13th August 2007, 15:27
Well, although it was too soon to get any feedback from this thread, we've decided -- this is our new icon:
http://celluloid.sourceforge.net/Screenshots_files/testhigh.png (http://celluloid.sourceforge.net/Images/testhigh.png)
The reasons for the change are trifold:
1. It's ours. The last icon was a mash-up of two different icons from other freely-licensed icon sets. This new icon is from the ground-up original to our project, so there won't be any licensing issues, or merely any calling of "copycat" ;)
2. It pays homage to the AviSynth logo, continuing the motif of gears and film strip.
3. It's all done with vectors, meaning we are ready for Leopard's monstrous 512x512-sized icon format. The previous icon topped out at 256x256. To see the full-sized version, click the smaller icon above.
buzzqw
13th August 2007, 15:59
i like it, it's essential, eye pleasing, intuitive, and can describe the software...
i like it!
BHH
P.S. i need some icon for my automkv too... ;)
honai
13th August 2007, 17:03
Perhaps the project should concentrate on releasing fancy icons and mock-ups rather than producing actual code (of which there is not a single line so far). Might be a better suited path for the skills I see on display here. Just change the project category at SourceForge, and you're done.
EDIT:
That wasn't sarcasm after all. It's an honest suggestion. RadicalEd obviously doesn't possess any coding skills, and neither has he developers at hand, so he should concentrate on what he knows best: drawing. Seriously, why not just offer his services to other open-source projects, like automkv, that are in need of screen designers? That way he'd be of far greater service to the community.
ARDA
13th August 2007, 17:25
The next step would be to include "smart rendering" support. This would mean to only recompress the parts which need
to be recompressed. I think this feature becomes more important with new camcorders (HDV, HDD/SD/DVD MPEG-2 and AVCHD).
These new MPEG-2 and MPEG-4 formats will degrade much more during recompression then DV. This would be a killer feature
since no other NLE has this feature for other formats then DV AVI. But we would need reliable CLI multiplatform cutters
for AVI, MPEG TS, MPEG PS, MP4 (MP4Box?), MKV (MKVMerge?)
Interesting but of dubious possibility due to what you say at the end -- namely that there aren't necessarily
tools to do that. And if there aren't any GStreamer filters that can accomplish that, then we're out of luck.
Celluloid's goal is to implement an interface for and hand all processing off to AviSynth and GStreamer, not
to muck around with the video processing itself. Likewise, the output format is likely to be so drastically
different from the input that recompression would be necessary anyway (different resolution, bitrate, codec, etc).
I'd love to see something like that but it just doesn't seem feasible.
1) According to Smart Rendering/Direct Stream Copy there are following reasons why this would be extremly useful:
There are plenty of camcorders recording to SD/HDD/DVD in a DVD-Video compliant MPEG-2. So you can just keep the original
format to create regular DVDs. Also now there are plenty of AVCHD camcorders. Their recordings are compliant with Blu-ray
and HD DVD (MPEG-4 AVC + AC3). Also imagine the time needed for MPEG-4 AVC recompression. If we can avoid it, it will be
a huge performance boost. I know it might be very difficult, but I believe it is doable. I'll try to find something out
and I will let you know if I come across something useful. If you want to use GStreamer as a background, I think it might
be possible to use it for this task.
I think this subject was already been discussed
http://forum.doom9.org/showthread.php?t=71482
best of regards for the project
ARDA
Wilbert
13th August 2007, 19:28
I think this subject was already been discussed
http://forum.doom9.org/showthread.php?t=71482
Yes, direct video stream copy should be working in avs3.0. Direct audio stream copy isn't implemented yet.
RadicalEd
13th August 2007, 19:39
That wasn't sarcasm after all. It's an honest suggestion. RadicalEd obviously doesn't possess any coding skills, and neither has he developers at hand, so he should concentrate on what he knows best: drawing. Seriously, why not just offer his services to other open-source projects, like automkv, that are in need of screen designers? That way he'd be of far greater service to the community.I'm surprised you've the balls to be so abrasive after Wilbert explicitly warned against this level of utterly meaningless trolling. But here, since you're apparently incapable of navigating a website on your own, I'll help you out:
http://celluloid.sourceforge.net/Team.html
http://www.brutus-music.com/Pro/Programming 2.html
Do your research next time.
I should also point out that, while coming from the Windows world you may not understand this, icon design is very important in Mac development. Application icons take the center stage, being everpresent in the dock. They're so important that Apple bumped the resolution of its .icns format up to support 512x512 icons in the coming release of OS X. Furthermore, I've already explained the immense benefits to mocking up the interface before actually creating it earlier in this thread. So don't try to tell me that the design work that's gone into Celluloid thus far is in any way "useless" or misplaced. You're the only one with misplaced ideas here, pal.
(of which there is not a single line so far).Realize that we're bottlenecked by the progress of AviSynth 3, which I've been pestering the developers about for a status update for a few days now. As soon as that is compiling on Mac OS X, we can begin to build an editor. However, as you should be well aware from reading this thread, interface NIB files have already been committed to CVS.
honai
13th August 2007, 20:56
Huh? There seems to be a misunderstanding. It was meant as a constructive suggestion. You are really a good artist, and those icons (as well as the rest of the project website) are really nice to look at. I sincerely believe you should concentrate your efforts on graphic design.
And you might reconsider your choice of words if you want to attract any team members.
Speaking of which, let me quote from your very own developer David Yip aka trythil, straight from this thread:
I'd like to also ask that the marketing be put on hold until some more workable project artifacts are produced. It's fun, yes, but it does nothing good from a software engineering perspective.
By "workable project artifacts" I mean materials like use cases and prototypes: materials to more clearly define what the project is, the problems it is meant to address, and what it needs to do. (Is that even well-defined? All I've learned from reading the existing literature is "it's an AVISynth-based editor", and that's all. I've yet to see a real concrete mention of initial feature set, target audience, or anything of the sort, and I'm technically on the development team!) Mock-ups and honesty are steps in this direction. Marketing isn't.
Finally, on a personal note: All this spin makes me and the other recruited developers look bad by association, and I don't want that. (In open source and free software, reputation is an enormous force for one's benefit or detriment -- as I'm sure you're noticed, or at least are discovering.) I'd like to help out with this project because I think it's an interesting idea, but if I'm going to get tainted by all the hype and resulting (justified) ill will I don't really want to be a part of it.
In his own words. So it seems your software development plans are not going anywhere. You should rather concentrate on the graphic design aspect of your talent. Seriously. The icon you did is a good start, and I'm sure there are countless projects out there in the NLE/AviSynth department that might need a good graphic artist.
Also, since your own efforts so far clearly concentrated on designing rather than coding I'm actually surprised by your reaction to such an obvious suggestion.
RadicalEd
13th August 2007, 21:06
I apologize, then, I (understandably, I believe) interpreted "RadicalEd obviously doesn't possess any coding skills, and neither has he developers at hand" as your attempt at being snide. It did sound rather uncouth. I do appreciate the artistic complements immensely, though. Thank you. I apologize for the misunderstanding. As you may have seen earlier in the thread, I'm already quite accustomed to catching all varieties of flak about the project, so you'll have to excuse my defensiveness. I feel very strongly about making this project work, and work well. That's where I stand in all this.
You should rather concentrate on the graphic design aspect of your talent.You have to realize that what we're doing now isn't intentional foreplay -- we're doing all we can (things that would need to be done anyway) in the interim of AviSynth's development. Furthermore, two of my three co-developers are bogged down with real-life work until the Fall, leaving me and Courtney to do the brunt of the work. This, combined with the current absence of a working AviSynth 3/Mac, is why we've been focusing on graphics and mock-ups. Not because we're incapable or in any way incompetent. Not because we lack the manpower. Merely because it's not ready yet. I ask everyone to please keep that in mind.
honai
13th August 2007, 21:13
No harm done.
This, combined with the current absence of a working AviSynth 3/Mac, is why we've been focusing on graphics and mock-ups. Not because we're incapable or in any way incompetent. Not because we lack the manpower.
Hence the suggestion. The point is that by participating in other AVS-related projects you might get to know people and contacts and use that channel to recruit developers. I think there's a big opportunity out there, and rather than simply wait for AVS 3.0 or your developers you should just go ahead and put your talents to good use now rather than later.
RadicalEd
13th August 2007, 22:20
Hence the suggestion. The point is that by participating in other AVS-related projects you might get to know people and contacts and use that channel to recruit developers. I think there's a big opportunity out there, and rather than simply wait for AVS 3.0 or your developers you should just go ahead and put your talents to good use now rather than later.Good point. I've been mingling in #avisynth for the last few weeks, but overall the place is usually pretty dead. Same with #doom9. Any suggestions as to where I could meet up with said developers?
I should also point out, regarding your comments earlier about my (apparent) artistic talent, that I'm much more a programmer than I am a designer. I've only been doing graphic design for just over a year -- I hadn't even touched PhotoShop (Paint Shop Pro 4 lyf) until I started work on Celluloid. On the other hand, I've been programming in five different languages (progressively, VB6 -> VB.NET -> Java -> C++ -> Obj-C) for nearly five years now. Granted, speaking of Paint Shop Pro, I guess you could say I've been working with digital imaging since the late nineties. Nevertheless, I never considered myself even remotely a "graphic designer" until I really got into it last year. With that said, perhaps you'll have some more faith in me and my team (two of which -- Tosh and Dave -- are much more knowledgeable programmers than I) :)
Guest
13th August 2007, 23:03
Given the obstacles and uncertainties that you've described, not to mention the ambitious scope of the project, why are you touting a "Fall 2007 Rollout" on your website? Just curious.
RadicalEd
13th August 2007, 23:23
Given the obstacles and uncertainties that you've described, not to mention the ambitious scope of the project, why are you touting a "Fall 2007 Rollout" on your website? Just curious.I believe that should give the AviSynth devs enough time to get something working. Furthermore, once Summer ends two of the three other developers will be free to contribute. And finally, I'm still learning Cocoa, and that should give me enough time to brush up. The basic featureset shouldn't really be all that hard to implement given that the majority of the work is done by AviSynth. We're just writing the interface. These factors considered, with the heavy demand for a working product weighed in, led me to choose "Fall 2007", which, I believe, is nebulous enough (i.e. any time between September and December) to make it happen. I'd say ideally we'll have at least a functional alpha by the end of next month, and possibly a beta by the end of October or early November. That's my guess as things stand now. I may be grossly underestimating the complexity of the project; in which case, I apologize. But that's my hope for the project.
Manao
14th August 2007, 14:27
Quite frankly, without any helps, Bidoche and d'Oursse will never finish avisynth 3.0. Though the progresses have been good at the beginning, the development is now stalled and imho won't start again if Bidoche doesn't find a new motivation, or if somebody doesn't continue his work.
So if you plan to use avisynth 3.0 as a backend, don't even expect it to be ready for fall 2007 if you don't help them.
vlada
14th August 2007, 17:24
Quite frankly, without any helps, Bidoche and d'Oursse will never finish avisynth 3.0. Though the progresses have been good at the beginning, the development is now stalled and imho won't start again if Bidoche doesn't find a new motivation, or if somebody doesn't continue his work.
So if you plan to use avisynth 3.0 as a backend, don't even expect it to be ready for fall 2007 if you don't help them.
That's not a good news. I think that his project might be a good motivation for Bidoche.
RadicalEd
Is OS X your only working platform ATM? You might start coding the cross platform part on Linux. There is a working AVS 3.0 build for it I believe. Talking about it, I only knew Enlightenment as a Linux window manager. I didn't know it is a GUI toolkit. Is it cross-platform or Linux only?
Talking about Direct Stream Copy, it is nice to hear that it will be available in AviSynth 3.0. This will make things much easier, but still not easy.
I see following problems which I hope other people might help with:
First of all there is a need to check which files a compatible with output format. This includes following parameters for video: compression, resolution and for audio: compression, sampling frequency. Video FPS might not be issue in some cases (AssumeFPS shouldn't need any recompression). The thing I'm not sure about is progressive/tff/bff content. Is it possible to change from tff to bff in a middle of a video? Is it possible to change from progressive to interlaced (I can imagine this happens often in digital broadcasting)? neuron2, I believe you know this ;-)
The next step is to find parts which don't need recompression. Shouldn't be a big problem as long as an I-frame only format (DV, MJPEG) is used. But if formats such as MPEG-2 or MPEG-4 are used, when selecting cutting points it is necessary to make sure every part starts with an I-frame and ends with a I/P-frame.
The process of compression of the rest brings another problem. I believe to make any use of VBR and 2-pass encoding it is need to compress it all as one stream. But now here is a problem that we can't be sure key frames will be inserted at the future cut points. Is it possible to force any codecs to insert key frames at certain positions (I believe HC can do it)? Does anybody have any ideas or solution?
Manao
14th August 2007, 17:37
I think that his project might be a good motivation for Bidoche.No.
What they need is developpers, not a MacOsX video editing GUI. The project needs fresh blood.
RadicalEd
16th August 2007, 00:56
I only knew Enlightenment as a Linux window manager. I didn't know it is a GUI toolkit. Is it cross-platform or Linux only?
Conveniently, Caro, an AviSynth dev, is also an Enlightenment dev and is in charge of the Win32 port. So yes, the EFL is cross-platform. The EFL is much more than a GUI toolkit (ETK and EWL are EFL-based GUI toolkits) -- it's an entire canvas and rendering subsystem that happens to be lightning-fast and also packed with animation and effects features. My reason for wanting to use the EFL over GTK or Qt is that it's A. more powerful than simply a toolkit, B. fast as hell, C. capable of producing beautiful graphics (see E17), and D. easy to animate with, which will make porting any OS X animation effects possible.
It's a shame that AviSynth 3.0 is so short on developers and seems to be in a lull. I'll try to get in contact with Bidoche and see what needs to be done yet, and what I might be able to help with.
RadicalEd
31st August 2007, 22:02
http://celluloid.sourceforge.net/Images/coming.png
Big things are on the horizon.
Guest
31st August 2007, 22:34
OK, I give up. What big things are on the horizon and when might we see them?
Your post is close to a rule 11 violation. Think about it.
RadicalEd
1st September 2007, 01:41
OK, I give up. What big things are on the horizon and when might we see them?Within the next few days a massive update to the site will take effect, giving a more streamlined, descriptive, and attractive view of Celluloid's featureset. As implied in coming.png, the interface has been overhauled to feature a sleek new black glass look. And the overhaul touches on more than just aesthetics, as the timeline has been re-imagined. There's also a new view, labeled "Graph", whose function I will leave to your interpretation for the time being ;)
There, does this validate my post enough to escape the wrath of rule 11? This post was a status update, to let people know that we're not sitting idle despite the long silence. I'd call that functional enough to avoid "posting to increase postcount". Besides, I'd think with nearly 1000 posts in almost six years, I'd have escaped that sort of silliness.
Harukalover
1st September 2007, 02:28
And the overhaul touches on more than just aesthetics, as the timeline has been re-imagined.
And where in that timeline does actual coding fit in?
RadicalEd
1st September 2007, 04:06
And where in that timeline does actual coding fit in?When AviSynth 3.0 is in a compile-able state on UNIX systems, which Caro and Bidoche are keeping me well informed about. There is a definite plan for the interested:
1. Get AviSynth compiling.
2. Implement a GStreamer view for the main window and graph view.
3. Subclass GStreamer view for the timeline, assets browser.
4. Subclass NSTextView for the script editor.
5. Implement an engine to convert interface interactions into AviSynth calls.
6. Implement other, secondary functions (collaboration, Cellulite, etc)
7. Tie it all together.
8. Release party.
Also, since I wasn't given a reference by which to respond to this private message, how did I violate rule 4 with my last post? I find it insulting to be treated like a second class citizen when I've been a contributing member of the site since 2001 and am working on such a significant and relevant project as Celluloid (not to toot my own horn, but seriously). I hope this can be resolved peacefully, without any unnecessary and damaging bans or escalation.
TheFluff
1st September 2007, 18:05
I've been a contributing member of the site since 2001 and am working on such a significant and relevant project as Celluloid
You're not working on it, you're posting about it. Not sure if you are aware of it, but there is a rather significant difference. And I don't know how well you keep track of development on your own project, but may I remind you that there has been zero (0) SVN commits in the last three weeks, both to your own SVN and to the Avisynth 3 one?
Also I fail to see how Celluloid can be either significant or relevant before it becomes something more than just words and pretty photoshopped pictures. Are you even trying anymore? There is no GUI, there are no redesigns, there is no timeline. There's just empty words and pretty pictures. If you want people to take this project and you yourself seriously, start providing something else than hot air. Talk is cheap. Show us the code.
RadicalEd
2nd September 2007, 00:28
If you want people to take this project and you yourself seriously, start providing something else than hot air. Talk is cheap. Show us the code.
See my previous post, please.
1. Get AviSynth compiling.
2. Implement a GStreamer view for the main window and graph view.
3. Subclass GStreamer view for the timeline, assets browser.
4. Subclass NSTextView for the script editor.
5. Implement an engine to convert interface interactions into AviSynth calls.
6. Implement other, secondary functions (collaboration, Cellulite, etc)
7. Tie it all together.
8. Release party.
You're not working on it, you're posting about it.
I'm not sure I even understand what you're saying with that.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.