← Back to team overview

openshot.developers team mailing list archive

Re: OpenShot Video Editing Library!

 

Jonathan,

Cimg C++ is done by the same author Davide Tschumperlé who have began to
work on this library and after on G'mic who use this one. G'mic comes from
more than 500 commands and it was not the priority of the development (but
more the language and the library). The best way is having a conversion with
this author. Perhaps, if you want we can speak on Gmail or on IRC. I can
join David and it will explain better his software. And I understand well
that a lot of work have been done on this but I am sure that we will miss
something and I prefer re-speak about this (vow after I will stop ^^) than
never.

I have forgotten to say about on Python 3.2 that this version will be soon
the standard on all the Linux distribution. And she will be include on the
major of them. Anyway his installation is really easy and can live with the
normal version (2.7).

 | I am definitely open to suggestions on how to name this library, but I
don't think I like a word I can't pronounce: Mjöllnir. =)  Ideally, we would
include the term "OpenShot" in the name.  I have not put much though behind
the name yet.

Yeah , i convince.   OpenValhalla(Shot) (contraction of Openshot and
Valhalla) or  Open(Shot)Graal (contraction of Openshot and Graal)
What do you think about ?

 | My main focus over the next few weeks will be on this new library, with a
goal of getting a demo put together which showcases how it works.

Okay so I will look for the DVD Iso Creation like I have already work
on.............
Perhaps the 1.3.1 before ? And after work on the next version ? It will take
a lot of time and we have not give into of the habit of having a version
quickly.

Cheers.


2011/4/12 Jonathan Thomas <jonathan.oomph@xxxxxxxxx>

> Olivier,
> The G'mic project is based on the Cimg C++ image library, which I also
> evaluated.  Cimg was very limited on image formats, and required the
> installation of ImageMagick to handle any unknown formats.  It seemed that
> ImageMagick already duplicates most of the Cimg functionality, so I thought
> Cimg was just an unnecessary library.  I don't think G'mic is a library, but
> rather an automation framework that uses the Cimg library.  Also, Cimg seems
> to have a rather small group of developers compared to ImageMagick.  What
> features does Cimg have that ImageMagick does not?  I guess that is the
> question to ask.
>
> I am definitely open to suggestions on how to name this library, but I
> don't think I like a word I can't pronounce: Mjöllnir. =)  Ideally, we
> would include the term "OpenShot" in the name.  I have not put much though
> behind the name yet.
>
> In the short term, we need to release 1.3.1, but there is still 1 bug
> outstanding I haven't had time to look at yet.  Yeah, any of the suggestions
> from our GSOC application can be worked on, and the timeline really needs to
> have some work put into it.  For example, I really want to address the
> ability to zoom in and out faster, support larger timelines (i.e. dynamic
> scrolling and drawing of the timeline), selection of multiple clips, etc...
>
> My main focus over the next few weeks will be on this new library, with a
> goal of getting a demo put together which showcases how it works.
>
> Thanks!
> -Jonathan
>
>
> On Tue, Apr 12, 2011 at 12:02 PM, eolinwen@xxxxxxxxx <eolinwen@xxxxxxxxx>wrote:
>
>> Hi Jonathan,
>>
>> Like Andy was saying, just one word : Whaooo.
>>
>> Effectively, with the 1.3.0 version (and it has began with the previous) ,
>> we can see the limit of the MLT framework who need some works of their part.
>> But we are not the master of it.
>>
>> Analysis of the existing Frameworks is really good and me too I was having
>> a lot of hope in the AML Framework. For nothing with the reason that you
>> have given us.
>>
>>
>>
>> * | My focus has been to develop a framework that has the following
>> features:*
>>
>>    - *C++ code base.  Object-oriented.  Simple API and design.  Good use
>>    of Exceptions and error handling.  Prevent crashing at all costs.*
>>    - *Multi-processor aware (take advantage of all available processing
>>    cores)*
>>    - *Powerful bezeir curve-based keyframe system (every setting and
>>    parameter should support keyframes)*
>>    - *A node-based audio system, including JACK support, and LADSPA
>>    filters.  Also, strong audio analysis, including waveforms, spectral
>>    analysis, time stretching / shrinking, and 3D audio (i.e. dolby / surround
>>    sound).  I have spent much of my time improving my understand of audio
>>    processing. =)*
>>    - *FFmpeg <http://www.ffmpeg.org/>*
>>    * *
>>    *-based, for decoding and encoding*
>>    - *Use a powerful image processing module: ImageMagick++<http://www.imagemagick.org/Magick++/>
>>    *
>>    * *
>>    - *Use a powerful audio processing module: CLAM Audio<http://clam-project.org/>
>>    *
>>    * *
>>    - *Python interface designed specifically for OpenShot (to minimize
>>    the impact to OpenShot changing multimedia back-ends)*
>>    - *All meta data available via the API (list of profiles, list of
>>    effects, parameters of effects, etc...)*
>>
>> I know that you are confident but create a Video Framework is really a
>> hard task and huge work. On the paper, it is very very interesting and all
>> benefits for us and the user.
>> I want to do a proposition about the Image processing module. I have a
>> remark about him.
>>  For my opinion , we should use his competitor : G'mic<http://gmic.sourceforge.net/>(instead of ImageMagick). LIke you can see, G'mic is not only a script
>> language (like Imagemagic)  but it is too a framework powerful stable and an
>> interpreter. He is packaged for all the distributions and in intensive
>> development and go always on forward.. You could have a look here<http://gmic.sourceforge.net/reference.shtml>,
>> (and here <https://bugs.launchpad.net/openshot/+bug/725303> too) in the
>> Gimp plugin and in EKD (development version only but you have some
>> possibility here<http://ekdm.wordpress.com/2011/03/02/nouveaux-filtres-image-pour-ekd-implementation-finalisee-le-02032011/>
>> , here<http://ekdm.wordpress.com/2010/07/21/quand-ekd-rencontre-gmic-premiere-partie/>
>> , here<http://ekdm.wordpress.com/2010/07/23/quand-ekd-rencontre-g%E2%80%99mic-deuxieme-partie/>,
>> and here<http://ekdm.wordpress.com/2010/07/27/quand-ekd-rencontre-g%e2%80%99mic-troisieme-partie/>).
>>
>> I insist but please see your position.  I believe like hard iron that if
>> we don't use it we miss something and pass beside something essential for
>> the image.  the both could give (and the other modules of course) a awesone
>> powerful, impressive software.
>>
>>
>> Thinking at something else, we could use Python 3.2 instead of 2.7. It is
>> the occasion
>>
>> Tell me when you will post a blog entry, I am going to prepare something
>> that I will adapt after.
>>
>> A version like this, should be at least a version ..........3.0 (no I am
>> laughing the 2.0 will be perfect. ^ ^ )
>>
>> A name for this framework will be very nicely. Have you think at something
>> ? I will see well *Mjöllnir *the name of the Thor 's hammer. It will be
>> perfect for this framework who is your armed arm for Openshot. Now, with
>> this, we will playing in the taller playground.
>>
>> With all this features (audio have a big part in it), I have some contacts
>> with a strong and mainly audio French community (and    to be more precise
>> with the Tango Studio) <http://tangostudio.tuxfamily.org/>. I will have
>> (certainly) a person who will create the package for the framework and
>> certainly all the French audio Users (perfect for the test :=) ). I hope to
>> see it in the RMLL (the 5 & 6 July if I can go ) and If it is not possible
>> for the Ubuntu Party of November, I will go to Paris for that. Since the
>> time that I want to go to t this event).
>>
>>
>> * |
>> *
>> *That is big news. If you're confident you can do it, then go for it. It
>> will be a huge advantage for Openshot to have it's own library, and as you
>> say will eliminate a lot of library problems if the library is under our
>> control (although format support will still be ffmpeg dependent?).*
>> *
>> *
>> *A quick word on the audio front - LV2 is rapidly becoming the new
>> standard for audio plugins, so we should aim to support that as well as
>> LADSPA :-)*
>> *
>> *
>> *Look forward to seeing the results!*
>>
>> Totally agree with Andy. Same if I am a bit afraid with the framework,
>> let's go onward. Go go go .
>>
>> What do you plan a short term ? Did we began to developp something or not
>> ? What are the plan for the ...........suit. Can I implement DVD iso
>> Creation (dvd creator and a Export module iso (like the draft of  the GSoc)
>> ?
>>
>>
>> Cheers.
>>
>> 2011/4/12 Jonathan Thomas <jonathan.oomph@xxxxxxxxx>
>>
>>> Andy,
>>> Yes, I am confident I can do it, as I've already put down quite a bit of
>>> code and I am really feeling good about it all.  The formats and codecs will
>>> still be driven by FFmpeg and which codecs it was installed with.  LV2 is
>>> also supported by the CLAM audio library, so that should not be an issue.  I
>>> am just trying to push myself to get everything wrapped up quickly so I can
>>> get it onto LaunchPad.  =)
>>>
>>> Also, once we get a somewhat working and complete version of the
>>> framework, we can branch OpenShot and starting integrating everything in
>>> it's own branch.  Finally, once the new branch is stable and all of us
>>> developers are happy with OpenShot, we'll merge this branch back into the
>>> main trunk.  Possibly this could be version 2.0 of OpenShot?
>>>
>>> Thanks!
>>> -Jonathan
>>>
>>> On Mon, Apr 11, 2011 at 4:31 PM, Andy Finch <we.rocked.in79@xxxxxxxxx>wrote:
>>>
>>>> One word -  Whoa!
>>>>
>>>> That is big news. If you're confident you can do it, then go for it. It
>>>> will be a huge advantage for Openshot to have it's own library, and as you
>>>> say will eliminate a lot of library problems if the library is under our
>>>> control (although format support will still be ffmpeg dependent?).
>>>>
>>>> A quick word on the audio front - LV2 is rapidly becoming the new
>>>> standard for audio plugins, so we should aim to support that as well as
>>>> LADSPA :-)
>>>>
>>>> Look forward to seeing the results!
>>>>
>>>> Andy.
>>>>
>>>> On 11 April 2011 21:12, Jonathan Thomas <jonathan.oomph@xxxxxxxxx>wrote:
>>>>
>>>>> Hi everyone!  I have some *Big OpenShot News *today to announce to
>>>>> everyone!  I know I've been real quiet the past 4 to 6 weeks, but all of
>>>>> that is about to change.  I have been developing a new video editing
>>>>> library, written in C++, based on FFmpeg, and patterned after the animation
>>>>> framework used by Blender.  I have been thinking about this for a long time,
>>>>> and have a very clear vision for what I am creating.  Let me breakdown my
>>>>> decision, and give some supporting facts:
>>>>>
>>>>> *MLT* has been a* great framework*, but almost all of the bugs and
>>>>> complaints we get are related to MLT: crashes, choppy HD video playback,
>>>>> choppy audio, poor JACK support, poor multi-core performance, scaling
>>>>> issues, poor key-frame support, limited de-interlacing options, and issues
>>>>> with frame accuracy when seeking.  As we move forward with OpenShot, it is
>>>>> important we solve and improve these highly complex issues.  The way I see
>>>>> it, we have 3 options when it comes to improving the video framework
>>>>> that OpenShot uses.
>>>>>
>>>>>    - *Option 1:* Enhance the MLT framework
>>>>>       - With an aging C code base, limited key-frame support, buggy
>>>>>       multi-threading, the work required and the risk is very high to enhance some
>>>>>       of the core features in MLT.  C has no error handling, no support for
>>>>>       object-oriented code, and other issues that make development more difficult.
>>>>>    - *Option 2:* Switch to the AML framework<https://launchpad.net/ardome-ml> (developed
>>>>>    by Charlie Yates, one of the original developers of MLT)
>>>>>       - Although I was initially excited about this option, it has
>>>>>       become difficult to contact Charlie, and the framework has not been modified
>>>>>       since mid-2010.  However, this project inherits much of it's code from
>>>>>       another (even older project), and thus it is quite complex.
>>>>>    - *Option 3:* Create a new framework, with complete control over
>>>>>    stability, design, and features
>>>>>       - This is a high risk option, but has the greatest advantage, as
>>>>>       the code base can be designed around OpenShot, and only contain the features
>>>>>       we need
>>>>>
>>>>> After much research and consideration, I have chosen option 3.  This
>>>>> required creating many simple proof-of-concept C++ applications and many
>>>>> conversations with the upstream projects that would be involved in such
>>>>> an endeavorer.  At this point, I have proven all the concepts that needed
>>>>> proving, and I am feeling very confident about the design and implementation
>>>>> at this point.
>>>>> *
>>>>> *
>>>>> *My focus* has been to develop a framework that has the following
>>>>> features:
>>>>>
>>>>>    - C++ code base.  Object-oriented.  Simple API and design.  Good
>>>>>    use of Exceptions and error handling.  Prevent crashing at all costs.
>>>>>    - Multi-processor aware (take advantage of all available processing
>>>>>    cores)
>>>>>    - Powerful bezeir curve-based keyframe system (every setting and
>>>>>    parameter should support keyframes)
>>>>>    - A node-based audio system, including JACK support, and LADSPA
>>>>>    filters.  Also, strong audio analysis, including waveforms, spectral
>>>>>    analysis, time stretching / shrinking, and 3D audio (i.e. dolby / surround
>>>>>    sound).  I have spent much of my time improving my understand of audio
>>>>>    processing. =)
>>>>>    - FFmpeg <http://www.ffmpeg.org/>-based, for decoding and encoding
>>>>>    - Use a powerful image processing module: ImageMagick++<http://www.imagemagick.org/Magick++/>
>>>>>    - Use a powerful audio processing module: CLAM Audio<http://clam-project.org/>
>>>>>    - Python interface designed specifically for OpenShot (to minimize
>>>>>    the impact to OpenShot changing multimedia back-ends)
>>>>>    - All meta data available via the API (list of profiles, list of
>>>>>    effects, parameters of effects, etc...)
>>>>>
>>>>> What's next?  Soon (i.e. in the next 2 weeks hopefully) I will wrap up
>>>>> my initial framework code and start setting up the project in LaunchPad.
>>>>>  Realistically, there is about 6 weeks of work left for me to achieve all
>>>>> the features I want.  The development of this framework will be fast and
>>>>> will be very focused, so I don't expect this to take very long to complete.
>>>>>  Of course, once LaunchPad has the source code, we will need to "hopefully"
>>>>> recruit some other C++ programmers to help us out, especially with the build
>>>>> process and packaging.
>>>>>
>>>>> *The big picture:*
>>>>>
>>>>>    - *Great Stability*
>>>>>    - *Better Performance*
>>>>>    - *A huge increase in the number of image and audio effects
>>>>>    (including JACK support)*
>>>>>    - *Animation key-frame system that rivals Hollywood animation
>>>>>    packages*
>>>>>    - *Much simpler framework (i.e. less code to maintain)*
>>>>>
>>>>> Hopefully I have convinced everyone that this is a good decision, and
>>>>> not some knee jerk decision. =)  I am very excited about this, and I have no
>>>>> doubt we can achieve these results very quickly.  Soon I will announce this
>>>>> on my blog, but I wanted to get feedback from our OpenShot Developers team
>>>>> first.  So, please let me know what you think.
>>>>>
>>>>> Thanks!
>>>>> -Jonathan
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~openshot.developers
>>>>> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~openshot.developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openshot.developers
>>> Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openshot.developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Olivier
>> Cenwen un elfe sur la banquise/ an elve on the ice
>> Mon blog perso  sur le multimédia, Ubuntu, Linux et OpenShot :
>> http://linuxevolution.wordpress.com/
>> Le forum d'Openshot où vous me trouverez : http://openshotusers.com/
>> http://openshotusers.com/forum/index.php
>>
>
>


-- 
Olivier
Cenwen un elfe sur la banquise/ an elve on the ice
Mon blog perso  sur le multimédia, Ubuntu, Linux et OpenShot :
http://linuxevolution.wordpress.com/
Le forum d'Openshot où vous me trouverez : http://openshotusers.com/
http://openshotusers.com/forum/index.php

Follow ups

References