Andy, We can easily access the Pixel Array of my new library for any frame, create a Pixbuf for GTK, and then just load a DrawingArea that uses the in-memory Pixbuf. I have already got this working, and it works well. It just takes a 1/4 second for GTK and Python to translate the pixels, allocate the memory, and display the image... which is too slow to use as a video player, but perfect for showing a frame and letting a user draw on top of it, annotate it, select areas, etc... SDL would only be used to draw the "rapid fire" video frames for playing / previewing a video. JUCE would be used for playing audio.
Thanks! -Jonathan On Fri, Aug 19, 2011 at 9:23 AM, Andy Finch <[email protected]>wrote: > Whatever we end up using, we need to ensure we have the capability to > 'draw' on the preview screen, e.g. some effects are more useful when > selecting a specific area of the video. > > On 19 August 2011 09:35, [email protected] <[email protected]> wrote: > > HI Jonathan, > > > > It will be not helpful but if we could Clutter instead of to use SDL. The > > Gnome Team have seen the lack of this librairy (i.e less perform than > Compiz > > => 30 fps against 60 fps) and they are working on. Canonical saids that > > although they are using Compiz (better in performance actually), Clutter > > will be more perform after. Also, Clutter is the future. > > > > Maël is on holidays until the 27 of this month. > > > > Cheers. > > 2011/8/17 Jonathan Thomas <[email protected]> > >> > >> Hi Maël, > >> Sorry I never replied to your email about GTK3 and OpenShot. I am very > >> excited about your progress, and of course, GTK3 will be a big move for > the > >> OpenShot code-base, and I appreciate your help! > >> I have been steadily working on the new C++ video editing framework, and > >> specifically displaying the frame on the screen. Creating Pixbufs in > pygtk > >> (or PyGObject) is very slow (relatively speaking), and in my testing, > not > >> feasible for creating a native GTK video player widget. So, naturally, > I > >> looked back at SDL, which uses X11 draw functions, and just draws over > top > >> GTK. However, I'm very interested to know if you have uncovered any new > >> information about the lack of a get_xid() method in PyGObject? Clearly, > >> that is going to be a show-stopper for any SDL based application that > needs > >> to draw onto a GTK window. I have been investigating this as well, but > I > >> always end up on a forum, bug report, forum post, or chat log where > "you" > >> are asking the question, and nobody is answering you. =) So, it seems > like > >> you have made a huge effort to reach out to the GTK community and figure > out > >> a work-around. Hopefully, you have some good news to share with us... > >> Here is a recap from my testing: > >> > >> GTK is way too slow to create a native pixbuf-based video player, which > >> needs to update 30 times a second (or faster). Also, I was able to hook > up > >> a Python callback method to draw each frame from my new library, but > even > >> the passing pixel arrays to Python was a bit too slow for a video > player. > >> So, I just don't think Python or GTK is going to be able to accomplish > a > >> native video player widget. > >> SDL is incompatible with PyGObject & GTK3, due to the lack of a > get_xid() > >> method > >> Actually, any X11-based drawing library will be unable to draw on GTK > >> without an XID property > >> Clutter is based on OpenGL, which I don't really want to require for > >> OpenShot... but will if I have no other choice > >> > >> Also, I have discovered that most video players, including FFplay & > >> Gstreamer, use an SDL-based or X11-based drawing method. Regardless if > we > >> are using MLT or a new framework, having X11 draw on top of GTK is still > >> looking like the best approach... assuming we don't want to require > OpenGL. > >> Somehow, we really need to beg for the get_xid() method to be fixed in > >> PyGObject. =) > >> Thanks! > >> -Jonathan > >> > >> On Thu, Jun 30, 2011 at 4:28 AM, <[email protected]> wrote: > >>> > >>> Hi, > >>> > >>> Here are some news on my actual work. > >>> I'm working on the GTK3 version of openshot. Yesterday, i managed to > get > >>> a first (almost) working Pygobject/GTK3/GooCanvas2 version of openshot. > It > >>> required lot of changes to actually display the UI. > >>> > >>> I'm planning to make some modification to start on sane basis : > >>> > >>> - Port settings to GSetting(multi-os) and make them non-ui dependant > (to > >>> fix a bug with openshot render) > >>> - Remove the melt dependency (as distribution whose ship GTK3 come only > >>> with new version of mlt) > >>> - Remove the embeded gdata api for youtube and use the system one. > >>> - Some UI refinment to use all the GTK3 power (take advantage on the > new > >>> height for width layout system, use new widgets) > >>> - Maybe some long time standing bug will be fixed with the port > >>> > >>> The biggest problem i encounter in this preliminary version is the > >>> get_xid() function to embed the sdl window in our drawingarea, now it > popup > >>> a new window for the sdl preview. It seems that get_xid() is not > >>> introspectable -introspection = 0 in the gir file), so i have to find a > >>> replacement. Any idea ? > >>> > >>> Maybe this work can end up in a 2.0 openshot release ? What do you > think > >>> ? > >>> > >>> I think the transition in GTK3 should not happend with the transition > >>> from mlt to our new video library. It will be to much changes. A two > step > >>> transition is better. > >>> > >>> Thanks ! > >>> > >>> > >>> _______________________________________________ > >>> Mailing list: https://launchpad.net/~openshot.developers > >>> Post to : [email protected] > >>> Unsubscribe : https://launchpad.net/~openshot.developers > >>> More help : https://help.launchpad.net/ListHelp > >>> > >> > >> > >> _______________________________________________ > >> Mailing list: https://launchpad.net/~openshot.developers > >> Post to : [email protected] > >> 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 > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~openshot.developers > > Post to : [email protected] > > Unsubscribe : https://launchpad.net/~openshot.developers > > More help : https://help.launchpad.net/ListHelp > > > > >
_______________________________________________ Mailing list: https://launchpad.net/~openshot.developers Post to : [email protected] Unsubscribe : https://launchpad.net/~openshot.developers More help : https://help.launchpad.net/ListHelp

