Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[EBUILD] OpenShot Video Editor
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Mousee
Apprentice
Apprentice


Joined: 29 Mar 2004
Posts: 291
Location: Illinois, USA

PostPosted: Sun Sep 13, 2009 8:27 pm    Post subject: [EBUILD] OpenShot Video Editor Reply with quote

Introduction

Homepage: http://www.openshotvideo.com

What is OpenShot? As best explained in an excerpt from the OpenShot website:
"OpenShot Video Editor is a free, open-source, non-linear video editor, based on Python, GTK, and MLT."

The program was created and developed by Jonathan Thomas in early-mid 2008 and has already begun to surpass many of its video editing, *nix-based predecessors. Being programmed purely in Python, OpenShot relies heavily on other frameworks and plug-ins such as FFmpeg, MLT, GTK, and Frie0r. This however is great for Gentoo users as each framework or plug-in can be fine tuned via USE flags, leaving the program's own footprint relatively small. The author also appears to take great interest in using frameworks and libraries that provide cross-platform support, though he currently only (officially) supports Ubuntu Linux. OpenShot currently operates under the GPLv3 license.

How big is it?
As of version 0.9.22, OpenShot and its dependencies download ~30-33megs worth of distfiles (depending on your USE flags). The program itself is ~2.8meg.

Why should I use this program when there's so many other video editing apps available?
That's entirely personal preference. While you may find that some editors may provide more or better codec and filtering support, others may be less stable, have slower support, and/or use messy frameworks. Take a look at OpenShot's Features page, read some of Jonathan's blog posts, and check out the support page to determine if you think giving OpenShot a try is worth it or not.


Installation & Support

There is currently an ebuild in development (see bug 283673) for OpenShot version 0.9.43 that works well on both x86 and amd64 systems. You may also be able to run and install the program directly through the author's provided Python installer once you've extracted the Debian package somewhere on your system (see app-arch/deb2targz), this however is a completely unsupported and untried method, so do so at your own risk.

Using the Ebuild Method

*Please consult the Gentoo Wiki document and follow the steps provided in Overlay - Creating a Local Overlay before you proceed any further. You will not be able to use this ebuild otherwise.*

  1. From within your local overlay, create the subdirectory structure media-video/openshot
  2. Download the OpenShot ebuild (see provided attachment in bug 283673) and move it into your newly created media-video/openshot folder.
  3. Create a digest for the ebuild.
    • Example: ebuild openshot-0.9.43.ebuild digest

  4. Now you can install/emerge the ebuild as-is or modify your USE flags to your preference, installing the ebuild afterwords.
  5. Unless the installation was unsuccessful, you should now be able to run OpenShot from the Applications menu in your GUI.

Ebuild Support

Support for this ebuild is purely limited to the bugzilla page for now, located at: bug 283673
Please keep in mind that this is an unofficial ebuild and is in no way supported by the Gentoo maintainers or developers and as a result support for it is limited.
Feel free to discuss the contents and design of the ebuild here though, or the OpenShot program itself.


TODO List and Other Thoughts

TODO List
As of: 13-Sept-2009
  • Changes to package handling and installation locations due to a change in the OpenShot packaging system.
  • Incorporate full Python handling for the install process via setup.py to further reduce the code size of the ebuild.
  • Mention of FFmpeg bug where FFmpeg may need to be reinstalled if OpenShot crashes when started or doesn't allow you to import files.
  • Determine any other (optional) packages that may work with OpenShot (ie. filters, codecs, etc).
  • Add additional info to the "Introduction" section of the guide to explain what the program actually does (a bit unclear atm).
  • ?

Ebuild History/Notes
13-Sept-2009
  • openshot-0.9.22_pre1 - The original ebuild, developed for version 0.9.22 of OpenShot, has undergone significant changes throughout its development (pre1-pre6). When I first wrote the ebuild I didn't fully understand how the program itself was linked to the binary dependencies provided by the OpenShot site, as I'm not very familiar with the Python language, and therefore hoped that the dependencies listed in the provided package would be all that was necessary to create a working install. Unfortunately it wasn't.
  • openshot-0.9.22_pre2 - Thankfully the original ebuild requester was able to find a site that detailed some of the missing libraries and packages required to run the program. This new ebuild provided for these new found deps as I also learned that the MLT binary package, located in one of two binary dependencies packages (32bit and 64bit) provided by the OpenShot site, was likewise required by the ebuild due to three pre-compiled files (MLT Python bindings) that were not built by the MLT ebuild in portage. I struggled for a while on this issue because I had never had to link to a Python-specific location before and the MLT Python bindings had to be installed into a version specific Python folder (ie. /usr/lib*/python(-version)/site-packages; where the red indicates a variable value). The ebuild was looking pretty ugly at this point and so I continued to research ways to change that for the better.
  • openshot-0.9.22_pre3-pre5 - No real major changes took place between pre3 and pre5. I spent most of my time researching ways to completely avoid using the binary dependencies package and managed to discover Bazaar, which unfortunately got my hopes up as it sounded to be a lot like Subversion. After discovering I couldn't pull in specific revisions like you can with Subversion (or at least I never found out how), I scrapped that idea, which would have been pre4, and moved on to making minor corrections throughout the ebuild and added what I found through further Googling to be additional and likewise optional packages that could be installed to work with OpenShot. AMD64 (64-bit) support was also completed, though I never fully tested it.
  • openshot-0.9.22_pre6 - Pre5 would be the last of what I consider my "mistakes", or "learning phase", if you will. Pre6 became a whole new demon as the research I had accumulated and continued to do finally paid off. I said "good-bye" to the dependencies packages and a huge ~22meg download (of which I only needed 3 small files), "good-bye" to the Python installer/uninstaller files used to remove the MLT Python bindings files, and "good-bye" to my complete "noobness" in writing an ebuild... granted I still have a long way to go before I'm even decent, heh. This latest ebuild, which I decided would be the last of my pre-releases due to information I gathered on the OpenShot site, finally relied on portage to manage the MLT package instead of using pre-built binaries, while also compiling and installing its own MLT Python bindings files. This itself was a bit of a learning curve because I had to figure out how to incorporate the build process of the MLT Python bindings package into the ebuild directly. Thus the addition of the python.eclass and the usage of python_mod_cleanup to replace the external Python uninstaller file. I also added a lot more verbosity throughout the ebuild's comments to explain various tasks during each phase of the build process and to better aid someone attempting to fix bugs or add features. This also included some minor, post-install end-user verbosity, though not really needed yet.
  • openshot-0.9.43 - Skipping release 0.9.33's ebuild, this version of the ebuild now pulls the .tar.gz version of OpenShot from the new PPA packing system (note to self: remove deb2targz from deps). Some minor changes to how file permissions are handled and nothing else really. You will notice however that OpenShot installs itself to a newer, more "*nixified" location. A nice change at least. Hopefully updates besides version bumps will be far fewer now that the packaging system seems to have been sorted out.


Last edited by Mousee on Fri Oct 02, 2009 10:55 pm; edited 2 times in total
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6313
Location: /usr/lib64/lv2

PostPosted: Sun Sep 13, 2009 9:48 pm    Post subject: Reply with quote

The link to the ebuild is openerp. This is what you want:

https://bugs.gentoo.org/show_bug.cgi?id=283673

8)
_________________
Gentoo Studio: A Gentoo-based, professional digital audio workstation OS.
Back to top
View user's profile Send private message
Mousee
Apprentice
Apprentice


Joined: 29 Mar 2004
Posts: 291
Location: Illinois, USA

PostPosted: Sun Sep 13, 2009 10:02 pm    Post subject: Reply with quote

audiodef wrote:
The link to the ebuild is openerp. This is what you want:

https://bugs.gentoo.org/show_bug.cgi?id=283673

8)

Gahhh! Copy and paste failure!
Thanks for the catch lol

* Fixed
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5338

PostPosted: Mon Sep 14, 2009 4:53 am    Post subject: Reply with quote

I've noticed that you are compiling mlt in it, why? why not use the mlt package in portage?
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
Mousee
Apprentice
Apprentice


Joined: 29 Mar 2004
Posts: 291
Location: Illinois, USA

PostPosted: Mon Sep 14, 2009 10:19 am    Post subject: Reply with quote

DaggyStyle wrote:
I've noticed that you are compiling mlt in it, why? why not use the mlt package in portage?

No it does use the MLT package in portage (see DEPENDS list), however it has to compile the MLT Python bindings which are a part of the MLT package and the portage package does not (yet) compile those bindings. So unfortunately I have to download & unpack the MLT package to do so - but thankfully the bindings don't require you to build MLT if it's already installed. You just go into the bindings source directory, ie. mlt-0.4.4/src/swig/python, and run the contents of the "build" file that resides in there, which is what I've integrated into the ebuild itself. I attempted to just run the "build" file by itself without integrating it, but portage just wasn't having it, heh. I'll be trying out a patch file for it later to see if I can fix that though.
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5338

PostPosted: Mon Sep 14, 2009 12:11 pm    Post subject: Reply with quote

Mousee wrote:
DaggyStyle wrote:
I've noticed that you are compiling mlt in it, why? why not use the mlt package in portage?

No it does use the MLT package in portage (see DEPENDS list), however it has to compile the MLT Python bindings which are a part of the MLT package and the portage package does not (yet) compile those bindings. So unfortunately I have to download & unpack the MLT package to do so - but thankfully the bindings don't require you to build MLT if it's already installed. You just go into the bindings source directory, ie. mlt-0.4.4/src/swig/python, and run the contents of the "build" file that resides in there, which is what I've integrated into the ebuild itself. I attempted to just run the "build" file by itself without integrating it, but portage just wasn't having it, heh. I'll be trying out a patch file for it later to see if I can fix that though.

so why not add the python binding as flag to the mlt ebuild and make openshot dependent on that flag?
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
Mousee
Apprentice
Apprentice


Joined: 29 Mar 2004
Posts: 291
Location: Illinois, USA

PostPosted: Mon Sep 14, 2009 12:56 pm    Post subject: Reply with quote

DaggyStyle wrote:
so why not add the python binding as flag to the mlt ebuild and make openshot dependent on that flag?

It's not a configure flag, that I'm aware of, that can be enabled unfortunately. There's a comment in the MLT ebuild itself suggesting adding support for the bindings eventually and I've considered looking into adding it:

mlt-0.4.4.ebuild View
Quote:

# TODO: add swig language bindings
# see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover


I've not yet found *any* documentation on how to incorporate those bindings into the MLT build process other than after MLT itself has already been built and, I assume, installed. So beyond adding the current bindings build process in my ebuild to the MLT ebuild or creating a new "mlt-python-bindings" ebuild/package that only has the required build files, I don't have any other option but to continue with the way its setup currently. :/
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5338

PostPosted: Mon Sep 14, 2009 1:31 pm    Post subject: Reply with quote

use flag aren't for configure dependecy only...
how about this:
Code:

start of normal mlt ebuild:
.
.
.
.
.
USE="python"


src_compile() {
   if use python; then
      ebegin "Building MLT Python bindings"
      # Export the Python environtment or we get lovely Python.h errors
      export PYTHON_INCLUDE=`python -c "import sys;print \"%s/include/python%d.%d\"%(sys.prefix,sys.version_info[0],sys.version_info[1])"`

      # First we need to symlink to mlt.i
      ln -sf ${WORKDIR}/mlt-0.4.4/src/swig/mlt.i \
         ${WORKDIR}/mlt-0.4.4/src/swig/python/mlt.i >/dev/null 2>&1 \
         || die "Symlinking of the mlt.i file failed!"
      # Now we invoke swig
      swig -c++ -I${WORKDIR}/mlt-0.4.4/src/mlt++ \
         -I${WORKDIR}/mlt-0.4.4/src -python \
         ${WORKDIR}/mlt-0.4.4/src/swig/mlt.i >/dev/null 2>&1 \
         ||   die "Failed to invoke swig!"
      # Compile the wrapper
      g++ -fPIC -D_GNU_SOURCE -c -rdynamic -pthread \
         -I${WORKDIR}/mlt-0.4.4/src -I$PYTHON_INCLUDE \
         ${WORKDIR}/mlt-0.4.4/src/swig/mlt_wrap.cxx >/dev/null 2>&1 \
         || die "Failed compiling the wrapper!"
      # Create the module
      gcc -shared ${WORKDIR}/mlt_wrap.o \
         -L${WORKDIR}/mlt-0.4.4/src/mlt++ -lmlt++ \
         -o ${WORKDIR}/mlt-0.4.4/src/swig/python/_mlt.so >/dev/null 2>&1 \
         || die "Bindings module compile failed!"
      einfo "Bindings installed successfully"
   fi
}
.
.
.
src_install() {

   if use python; then
      # Install our MLT Python bindings
      python_version
      dodir /usr/$(get_libdir)/python${PYVER}/site-packages
      insinto /usr/$(get_libdir)/python${PYVER}/site-packages
      doins ${WORKDIR}/mlt_wrap.o
      doins ${WORKDIR}/mlt-0.4.4/src/swig/mlt.py
      exeinto /usr/$(get_libdir)/python${PYVER}/site-packages
      doexe ${WORKDIR}/mlt-0.4.4/src/swig/python/_mlt.so

      # Time to create symlinks to our portage-managed MLT install      
      local MLTLIB=/usr/lib
      local MLTSYMLIB=/usr/local/lib
      dosym /usr/lib/mlt /usr/local/lib/mlt
      dosym /usr/bin/melt /usr/local/bin/melt
      dosym /usr/share/mlt /usr/local/share/mlt
      dosym /usr/include/mlt /usr/local/share/include/mlt
      dosym /usr/include/mlt++ /usr/local/share/include/mlt++
      dosym /usr/lib/pkgconfig/mlt++.pc /usr/local/lib/pkgconfig/mlt++.pc
      dosym /usr/lib/pkgconfig/mlt-framework.pc /usr/local/lib/pkgconfig/mlt-framework.pc
      dosym ${MLTLIB}/libmlt++.so ${MLTSYMLIB}/libmlt++.so
      dosym ${MLTLIB}/libmlt++.so.0.4.4 ${MLTSYMLIB}/libmlt++.so.0.4.4
      dosym ${MLTLIB}/libmlt++.so.2 ${MLTSYMLIB}/libmlt++.so.2
      dosym ${MLTLIB}/libmlt.so ${MLTSYMLIB}/libmlt.so
      dosym ${MLTLIB}/libmlt.so.0.4.4 ${MLTSYMLIB}/libmlt.so.0.4.4
      dosym ${MLTLIB}/libmlt.so.1 ${MLTSYMLIB}/libmlt.so.1
   fi
}
.
.
.
end of mlt ebuild

or something like that
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
Mousee
Apprentice
Apprentice


Joined: 29 Mar 2004
Posts: 291
Location: Illinois, USA

PostPosted: Mon Sep 14, 2009 2:51 pm    Post subject: Reply with quote

DaggyStyle wrote:
use flag aren't for configure dependecy only...
how about this:
Code:

..

or something like that

Of course I could do that, but I'm not the maintainer of the MLT ebuild either, so it may take some time for it to get committed, assuming it gets committed at all, heh. I'd prefer to avoid that extra work for now and focus on developing the OpenShot ebuild itself until I feel it's a stable enough project.
I'll certainly consider your suggestion though - I'm just curious as to why the current MLT ebuild maintainer never added support for the bindings...
Back to top
View user's profile Send private message
myceliv
Apprentice
Apprentice


Joined: 29 Nov 2007
Posts: 178

PostPosted: Tue Jan 12, 2010 12:03 am    Post subject: Reply with quote

[Solved] Trying out the openshot 1.0.0 ebuild video seems to work properly, but haven't been able to get audio to work; I just get `pcm_dmix.c:1010:(snd_pcm_dmix_open) unable to open slave' when trying to playback audio. There also seems to be nowhere to configure much of anything. Before I post a bunch of system details... Is this the right place for such troubleshooting?
Don't want to clutter bug 283673 if this is just a configuration issue.

Tried first openshot with USE="faac faad jack mp3 quicktime theora vorbis x264 -ieee1394"on ~amd64. qjackctl shows jackd happily running. I have jack use flag set globally so all deps should be happy with USE jack.

[Edit:] Yes, was configuration. Had to create an empty /etc/asound.conf file for audio to work. Will comment on bug.
Back to top
View user's profile Send private message
Xamindar
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1155
Location: California

PostPosted: Mon Jan 18, 2010 7:46 am    Post subject: Openshot? Reply with quote

Anyone plan to get an openshot ebuild in portage? It's a video editing program I would like to try out.
There is a bug that has some ebuilds for it here https://bugs.gentoo.org/show_bug.cgi?id=283673

But none of the 1.0 version ebuilds work.


Last edited by Xamindar on Mon Jan 18, 2010 4:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
DaggyStyle
Watchman
Watchman


Joined: 22 Mar 2006
Posts: 5338

PostPosted: Mon Jan 18, 2010 3:19 pm    Post subject: Reply with quote

works here, even in my native language 8O
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
Back to top
View user's profile Send private message
yther
Apprentice
Apprentice


Joined: 25 Oct 2002
Posts: 151
Location: Charlotte, NC (USA)

PostPosted: Mon Jan 18, 2010 4:18 pm    Post subject: Reply with quote

I'm watching this one eagerly now, as I discovered this morning that I can crash kdenlive's DVD wizard without even trying. ;)

Looks like we might be close to getting this one into either Portage or some overlay... I hope!
Back to top
View user's profile Send private message
Xamindar
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1155
Location: California

PostPosted: Mon Jan 18, 2010 4:29 pm    Post subject: Reply with quote

DaggyStyle wrote:
works here, even in my native language 8O

Maybe it's an amd64 thing then. :?
Back to top
View user's profile Send private message
nixnut
Bodhisattva
Bodhisattva


Joined: 09 Apr 2004
Posts: 10974
Location: the dutch mountains

PostPosted: Mon Jan 18, 2010 5:27 pm    Post subject: Reply with quote

merged above four posts here
_________________
Please add [solved] to the initial post's subject line if you feel your problem is resolved. Help answer the unanswered

talk is cheap. supply exceeds demand
Back to top
View user's profile Send private message
Xamindar
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1155
Location: California

PostPosted: Mon Jan 18, 2010 7:46 pm    Post subject: Reply with quote

I'm a little annoyed that you merged my unsolved topic into a solved one nixnut. My issue is not resolved. I would like you to explain what this other openshot thread has to do with mine.

The best I have been able to get is the package installed. But if I try to run it I get the following:
Code:
openshot
Added /usr/share/openshot to system path
--------------------------------
   OpenShot (version 1.0.0)
--------------------------------
/usr/share/openshot/windows/SimpleGladeApp.py:340: GtkWarning: gtk_toolbar_set_icon_size: assertion `icon_size != GTK_ICON_SIZE_INVALID' failed
  return gtk.glade.XML(self.glade_path, root, domain)
A new frmMain has been created
The program 'openshot' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 25 error_code 11 request_code 132 minor_code 19)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Anyone have any idea what is wrong here? Unfortunately I can not take off the "solved" marker as I don't have control over the thread I created any more.
Thanks for any help.
Back to top
View user's profile Send private message
yngwin
Retired Dev
Retired Dev


Joined: 19 Dec 2002
Posts: 4572
Location: Suzhou, China

PostPosted: Mon Jan 18, 2010 8:53 pm    Post subject: Reply with quote

I suggest someone get this ebuild reviewed for inclusion in Sunrise. Once it's there and tested by a few people I am willing to commit it to portage.
_________________
"Those who deny freedom to others deserve it not for themselves." - Abraham Lincoln
Free Culture | Defective by Design | EFF
Back to top
View user's profile Send private message
Xamindar
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1155
Location: California

PostPosted: Mon Mar 08, 2010 2:45 am    Post subject: Reply with quote

Anyone up for making an ebuild for the new version 1.1.0 of openshot?

I figured out my issues with this program was my video driver. Fixed now and it works.
Back to top
View user's profile Send private message
jcTux
Apprentice
Apprentice


Joined: 29 Dec 2009
Posts: 276
Location: Tours, France

PostPosted: Mon Mar 08, 2010 8:59 pm    Post subject: Reply with quote

There is actually an ebuild in the bugzilla page : https://bugs.gentoo.org/283673
Back to top
View user's profile Send private message
Xamindar
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1155
Location: California

PostPosted: Tue Mar 09, 2010 10:18 am    Post subject: Reply with quote

jcTux wrote:
There is actually an ebuild in the bugzilla page : https://bugs.gentoo.org/283673

Yup. Looks like someone heard me. Thanks! That was fast!
Back to top
View user's profile Send private message
RoeR
Tux's lil' helper
Tux's lil' helper


Joined: 11 Aug 2002
Posts: 99
Location: Vienna, Austria

PostPosted: Wed Jan 05, 2011 12:09 pm    Post subject: Reply with quote

just to stay with the openshot topic

i installed the overlay and tried to install every openshot ebuild i found ..
from version 1.1.1 to 1.2.2 but ..
there are no video effects to select and no transitions available in the left pane where they should be - allthoug it builds very fine ..

did i miss something? any dependencies missing in the ebuild? anything else i could have been done wrong?

anyone else having this experience?

seems to be the same as here http://ubuntuforums.org/showthread.php?t=1552086 with no solution

can anyone help please

thanks a lot
RoeR
_________________
Unix is user friendly, it's just very picky about who its friends are.
Back to top
View user's profile Send private message
jlpoole
Guru
Guru


Joined: 01 Nov 2005
Posts: 344
Location: Salem, OR

PostPosted: Fri Sep 16, 2011 9:07 pm    Post subject: Version 1.4 released Reply with quote

Version 1.4 has been released.

http://www.openshotvideo.com/2011/09/version-14-sweeties-and-future.html
Back to top
View user's profile Send private message
Shining Arcanine
Veteran
Veteran


Joined: 24 Sep 2009
Posts: 1110

PostPosted: Sun Nov 06, 2011 6:12 pm    Post subject: Reply with quote

Is there any chance of having this in portage?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum