View previous topic :: View next topic |
Author |
Message |
Mousee Apprentice
Joined: 29 Mar 2004 Posts: 291 Location: Illinois, USA
|
Posted: Sun Sep 13, 2009 8:27 pm Post subject: [EBUILD] OpenShot Video Editor |
|
|
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.*
- From within your local overlay, create the subdirectory structure media-video/openshot
- Download the OpenShot ebuild (see provided attachment in bug 283673) and move it into your newly created media-video/openshot folder.
- Create a digest for the ebuild.
- Example: ebuild openshot-0.9.43.ebuild digest
- Now you can install/emerge the ebuild as-is or modify your USE flags to your preference, installing the ebuild afterwords.
- 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 |
|
|
audiodef Watchman
Joined: 06 Jul 2005 Posts: 6656 Location: The soundosphere
|
|
Back to top |
|
|
Mousee Apprentice
Joined: 29 Mar 2004 Posts: 291 Location: Illinois, USA
|
Posted: Sun Sep 13, 2009 10:02 pm Post subject: |
|
|
Gahhh! Copy and paste failure!
Thanks for the catch lol
* Fixed |
|
Back to top |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5929
|
Posted: Mon Sep 14, 2009 4:53 am Post subject: |
|
|
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 |
|
|
Mousee Apprentice
Joined: 29 Mar 2004 Posts: 291 Location: Illinois, USA
|
Posted: Mon Sep 14, 2009 10:19 am Post subject: |
|
|
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 |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5929
|
Posted: Mon Sep 14, 2009 12:11 pm Post subject: |
|
|
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 |
|
|
Mousee Apprentice
Joined: 29 Mar 2004 Posts: 291 Location: Illinois, USA
|
Posted: Mon Sep 14, 2009 12:56 pm Post subject: |
|
|
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
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 |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5929
|
Posted: Mon Sep 14, 2009 1:31 pm Post subject: |
|
|
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 |
|
|
Mousee Apprentice
Joined: 29 Mar 2004 Posts: 291 Location: Illinois, USA
|
Posted: Mon Sep 14, 2009 2:51 pm Post subject: |
|
|
DaggyStyle wrote: | use flag aren't for configure dependecy only...
how about this:
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 |
|
|
myceliv Apprentice
Joined: 29 Nov 2007 Posts: 178
|
Posted: Tue Jan 12, 2010 12:03 am Post subject: |
|
|
[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 |
|
|
Xamindar Veteran
Joined: 03 Oct 2004 Posts: 1155 Location: California
|
Posted: Mon Jan 18, 2010 7:46 am Post subject: Openshot? |
|
|
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 |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5929
|
Posted: Mon Jan 18, 2010 3:19 pm Post subject: |
|
|
works here, even in my native language _________________ Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein |
|
Back to top |
|
|
yther Apprentice
Joined: 25 Oct 2002 Posts: 151 Location: Charlotte, NC (USA)
|
Posted: Mon Jan 18, 2010 4:18 pm Post subject: |
|
|
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 |
|
|
Xamindar Veteran
Joined: 03 Oct 2004 Posts: 1155 Location: California
|
Posted: Mon Jan 18, 2010 4:29 pm Post subject: |
|
|
DaggyStyle wrote: | works here, even in my native language |
Maybe it's an amd64 thing then. |
|
Back to top |
|
|
nixnut Bodhisattva
Joined: 09 Apr 2004 Posts: 10974 Location: the dutch mountains
|
Posted: Mon Jan 18, 2010 5:27 pm Post subject: |
|
|
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 |
|
|
Xamindar Veteran
Joined: 03 Oct 2004 Posts: 1155 Location: California
|
Posted: Mon Jan 18, 2010 7:46 pm Post subject: |
|
|
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 |
|
|
yngwin Retired Dev
Joined: 19 Dec 2002 Posts: 4572 Location: Suzhou, China
|
Posted: Mon Jan 18, 2010 8:53 pm Post subject: |
|
|
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 |
|
|
Xamindar Veteran
Joined: 03 Oct 2004 Posts: 1155 Location: California
|
Posted: Mon Mar 08, 2010 2:45 am Post subject: |
|
|
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 |
|
|
jcTux Apprentice
Joined: 29 Dec 2009 Posts: 276 Location: Tours, France
|
|
Back to top |
|
|
Xamindar Veteran
Joined: 03 Oct 2004 Posts: 1155 Location: California
|
Posted: Tue Mar 09, 2010 10:18 am Post subject: |
|
|
Yup. Looks like someone heard me. Thanks! That was fast! |
|
Back to top |
|
|
RoeR Tux's lil' helper
Joined: 11 Aug 2002 Posts: 99 Location: Vienna, Austria
|
Posted: Wed Jan 05, 2011 12:09 pm Post subject: |
|
|
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 |
|
|
jlpoole Guru
Joined: 01 Nov 2005 Posts: 488 Location: Salem, OR
|
|
Back to top |
|
|
Shining Arcanine Veteran
Joined: 24 Sep 2009 Posts: 1110
|
Posted: Sun Nov 06, 2011 6:12 pm Post subject: |
|
|
Is there any chance of having this in portage? |
|
Back to top |
|
|
|