Reply to topic

Build script questions/help (updating ffmpeg for ubuntu)

User avatar Ubu the Tech Guru
Registered Member
Posts
67
Karma
0
OS
I am using Xubuntu 14.04 which comes with avconv by default and not ffmpeg. I know sunab provides a ppa for ubuntu users and I am currently using it (kdenlive uses avconv) BUT I would like to get a more recent version of ffmpeg on my system. I checked out the official ffmpeg wiki for compiling ffmpeg in ubuntu. I believe I got it installed and working but now how do I get kdenlive installed so that it references ffmpeg that's installed in ~/bin/. The build instructions I found on kdenlive are way way old and refer to Ubuntu 9.10 https://kdenlive.org/forum/howto-instal ... karmic-910 so I don't want to use that. I found the melt and kdenlive build scripts here: http://www.mltframework.org/bin/view/MLT/BuildScripts are those the ones I want to use but what do I change in them to make them use my ffmpeg which is installed in my home partition? Any help would be appreciated. There's other software that relies on ffmpeg also like obs-studio and currently even that software uses ffmpeg 1.2 only which is really old and I want it to use a newer ffmpeg.


400+ Videos on YouTubehttp://www.youtube.com/ubuntuaddicted
Support me directly on Patreon http://www.patreon.com/ubuntuaddicted
Follow me on Twitter http://www.twitter.com/ubuntuaddicted
User avatar Steve Guilford
Registered Member
Posts
207
Karma
0
The build script which you found at the MLT Framework site is the one to use. It uses the most recent version of FFMpeg and builds an isolated version of Kdenlive that will not utilize any of your 'distro' components.

LibAV is a fork off of FFMpeg. It's supposed to be a drop-in replacement for FFMpeg - to varying degrees of success and elegance. As far as FFMpeg and your 'other' programs, you may have to remove LibAV w/out removing it's dependencies. Then, you can install FFMpeg.
vpinon
KDE Developer
Posts
509
Karma
3
OS

Sun Oct 26, 2014 8:39 pm
Yes, to complete Steve's answer:

Kdenlive doesn't depend directly on ffmpeg/libav but on MLT that itself is built against libavcodec/libavformat (well, except in transcode menu & proxy generation, but it is not really "core" functions). So your real goal is to rebuild MLT and make kdenlive use this one.

The build script rebuilds all multimedia dependancies (ffmpeg among others like x264 / vpx etc) in a given subdirectory and then start-kdenlive sets all environment variables to point o these libs, so you are running the bleeding edge for your tests...
User avatar ttguy
Moderator
Posts
1142
Karma
6
OS
So to check my understanding of this so I am clear (I might add this info to the manual) here is my understanding - these statements might not be true. Please correct them if wrong...

1. When you install Kdenlive from a repository - eg sunabs or you distros repository the melt component will attempt to use your installations avconv if melt was complied against avconv and it will attempt to user your installations ffmpeg if it was compiled against ffmpeg.

2. Sunabs PPA is compiled against avconv and so it will use your distros avconv.

2b - Question - what happens if you use a melt compiled against avconv but you only have ffmpeg on your system ?

3. If you want to change MLT/Kdenlive to use ffmpeg instead of avconv you can use the build script and it will build a sandbox version of kdenlive, melt and ffmpeg and use these.

4. If you want to change your main MLT/Kdenlive instal to use ffmpeg instead of avconv it is is a whole lot harder. You would need to instal ffmpeg and recompile a kdenlive/MLT version against that.

5. Changing the kdenlive settings for ffmpeg path in Settings > Configure Kdenlive>Environment>MLT environment does not actually change what MLT/Kdnelive uses for most of its work. It only changes what it uses for stabilize and proxy transcoding.
vpinon
KDE Developer
Posts
509
Karma
3
OS
1 almost OK. avconv is just the command line utility corresponding to ffmpeg utility, but the project name and homepage is libav... both projects provide libavcodec, libavformat, libavfilter, so the names are a bit confusing :-/

2 OK (PPA is useable only by Ubuntu & derivatives, which provide libav; Debian uses a different lib layout for "multiarch")

2b Replacing the distro's multimedia libraries (libavcodec etc) may lead to unstabilities, as many components are built on them (media players, but also file manager showing preview for example!). They are theoretically compatible, but in practice you may encounter some problems here and there (one of the reasons why debian discourages using deb-multimedia packages)

3 easiest solution is to download pre-built versions on MLT's site (builds.meltytech.com, thanks for the service)! You then don't need to install all build environment (which can be problematic on old distro)
Even if your distro doesn't match the reference ones, as these references are older (with ascendant compatibility libs) and the important libs are embedded, it normally works without problem.

4 see 2b: changing system libavcodec etc is a deep change (see everything you loose when removing those packages)

5 Kdenlive will use the pointed "melt" command for rendering, but will keep using "libmlt*" from LD_LIBRARY_PATH or system for monitor
User avatar Ubu the Tech Guru
Registered Member
Posts
67
Karma
0
OS
thank you for all the responses, they've been informative.

I want to install ffmpeg (latest version) and it's required libraries and in doing so update my kdenlive so that it uses ffmpeg. i would also need to ensure that obs-studio works with this new ffmpeg installation because currently it's using ffmpeg from jon-severinsson ppa which is only version 1.2 i believe. i realize i would have to remove the jon-severinsson ppa and purge those dependent libraries.

im afraid if i just use the build scripts obs-studio and other apps (vlc and maybe others?) won't be able to utilize the new ffmpeg that i'm installing


400+ Videos on YouTubehttp://www.youtube.com/ubuntuaddicted
Support me directly on Patreon http://www.patreon.com/ubuntuaddicted
Follow me on Twitter http://www.twitter.com/ubuntuaddicted
User avatar Ubu the Tech Guru
Registered Member
Posts
67
Karma
0
OS
will other apps that need to use ffmpeg know about this version i install using the mlt, kdenlive, and ffmpeg scripts? i know for sure that obs-studio requires certain ffmpeg libraries like libavcodec and resample or whatever it's called, so will obs-studio work with a static ffmpeg build that's in my home folder?


400+ Videos on YouTubehttp://www.youtube.com/ubuntuaddicted
Support me directly on Patreon http://www.patreon.com/ubuntuaddicted
Follow me on Twitter http://www.twitter.com/ubuntuaddicted
User avatar ttguy
Moderator
Posts
1142
Karma
6
OS
If you use the build script it is my understanding that you do not have to purge other instances of ffmpeg/avconv. The build script creates its own private sand boxed version of ffmpeg, mlt and kdenlive. So your other apps will continue to use the other instance of ffmpeg/avconv. So I would recommend that you do not uninstal or purge anything.

 
Reply to topic

Bookmarks



Who is online

Registered users: AceMcCrank, Baidu [Spider], bartoloni, Bing [Bot], dmiroshnichenko, dougjones, Exabot [Bot], gfielding, Google [Bot], jackdinn, Nyugame, rolfreiner, vinnywright, vpinon, Yahoo [Bot]