Installing and configuring ffmpeg + Openshot on Slackware.

by intox

I’ve run into a few problems doing this. The first two times I neglected to document what I did to fix it, which has wasted some of my time. Hopefully this post will serve to save my future self and possibly others some time. I’m installing everything from the slackbuilds on slackbuilds.org. If you’re reading this you should probably already know how slackbuilds and their dependencies work.

You can use sbopkg to install most of the dependencies for Openshot, but you have to manually configure and install ffmpeg. Do not install mlt with the unmodified ffmpeg install, or you will have to reconfigure and recompile ffmpeg then recompile and install mlt. Otherwise, some of the features in openshot will not work. There are a few packages you probably want to configure in ffmpeg. frei0r, x264, and lame all enable features in Openshot. Install them from sbopkg / slackbuilds. The lines in the ffmpeg.Slackbuild script should look something like this:

libfrei0r="--enable-frei0r"  ; [ "${FREI0R:-no}" != "no" ]       && libfrei0r="--enable-frei0r"
mp3lame="--enable-libmp3lame"    ; [ "${LAME:-no}" != "no" ]         && mp3lame="--enable-libmp3lame"
libx264="--enable-libx264"    ; [ "${X264:-no}" != "no" ]         && libx264="--enable-libx264"

Leave the rest of the config alone unless you want to enable additional stuff. You may have also noticed that ffmpeg will not compile and throws an error message about texi2html or texlive not being in your PATH. To fix this, run:

export PATH=$PATH:"/usr/share/texmf/bin"

Then you should be able to compile, install, and move on with the rest of the dependencies (including mlt). If you already installed ffmpeg or mlt, you’ll have to reconfigure and recompile and reinstall them.

Note that this will not create a persistent change to the path, only a temporary change that will last as long as you have the shell open with that user. That is, once you close you shell this change will be lost unless you make it persistent by adding it to your profile or bashrc file… That means you should use the same shell and instance that you used the export command on to compile and install ffmpeg, or add it your path permanently. Either one works for this.


Comments

By: Glenda (Wed Jan 13 18:12:15 EST 2016)
Just a little bit of news, Openshot 2.0 beta is out.

By: absent (Thu Feb 4 21:00:06 EST 2016)
Thanks for the news, definitely gonna try it out when I can.

By: Glenda (Wed Mar 9 13:30:46 EST 2016)
Hi, I run in either version into the error that my x264 and mp3lame codecs are not found although they are installed in /usr/lib64/ (on slackware64-current). Did you experience that at all? I also had to --enable-avresample in the ffmpeg.SlackBuild to get the new libopenshot compiled (as well as changing some paths in the makefile to find the ffmpeg libaries). Still no fun in exporting videos. Would this be linked to the fact that in Slackware64 all lives in /usr/lib64/ where ubuntu etc uses a different set-up???

Cheers,

rob

By: Glenda (Mon Mar 14 13:56:33 EDT 2016)
ok, realized eventually that x264, mp3lame encoders were not compiled into ffmpeg; after doing that it all works... I missed your instruction how to do this as I did not read it alongside the Slackbuild script and missed that a line like:

libfrei0r="" ; [ "${FREI0R:-no}" != "no" ] && libfrei0r="--enable-frei0r"

as given in the script, needed to be changed to

libfrei0r="--enable-frei0r" ; [ "${FREI0R:-no}" != "no" ] && libfrei0r="--enable-frei0r"