The most correct solution would be for you to build your own kaltura-ffmpeg RPM/deb, which will be exactly the same as the original one, only the configure line will also include:
This package can then replace the original. Of course, whenever we switch to a newer FFmpeg version, you’ll need to also build a new package and install it.
Alternatively, perhaps with a smaller effort on your end [I am assuming here you do not have extensive packaging experience], you could build your own FFmpeg manually, again, using all the same dependencies utilised when building kaltura-ffmpeg but install it onto an alternative location. Then, you will need to make sure the alt location is added to PATH [BEFORE the kaltura-ffmpeg binaries so that it takes precedence] and also that the path where the FFmpeg shared objects reside is included in the LD path. For this there are two options:
- Add it to LD_LIBRARY_PATH and export it from one of the RC files [/etc/profile, /etc/bashrc, etc]
- Or, the better option, add a file to the LD and profile scandirs, which is what we do for our packages:
Then, in order to make the Kaltura Server use these new FFmpeg binaries, you will need to modify:
And reload Apache.
That way, you will not have to remove the kaltura-ffmpeg package since indeed, removing it will trigger the removal of many additional packages you must keep and any upgrades made will not override your custom FFmpeg since it is not included in any of the packages, again, installed onto an alt location.
In regards to rebuilding Nginx, the Nginx VOD module only requires libfdk_aac for Audio filtering (for changing playback rate / gain) so unless you need that particular feature, there is not reason to rebuild Nginx. The Nginx RTMP module does not bind directly with any of the FFmpeg libs but instead, triggers the ffmpeg binary from the config so, you can simply change the path to it.
Hope this clarifies things,