Installing FFmpeg onto FreePBX

Perhaps this isn’t even necessary, but the Dashboard is telling me that I “might want to” install LAME and FFmpeg in order for everything to work with HTML5.

Now, I know that these two applications are plagued by weird licensing issues, and that Sangoma can’t just provide them with the distro. (When I say weird, I’m not trying to start a discussion about the intricacies of copyright law - just acknowledging that there are legitimate reasons that they can’t be in the official distribution.)

I’m assuming that because of these issues, Sangoma must be deliberately vague about installing them. (“You probably need to install something like LAME - and look, here’s a link to the LAME website. Good luck!”)

I’m not a lawyer, I’m a sysadmin. LAME was pretty easy. I installed RPMForge, ran “yum install lame” then disabled the repo. Single binary, no dependencies, so I shouldn’t need to worry that it’s going to mess something up in FreePBX later. FFmpeg looks like it’s going to be a little trickier. RPMforge contains a repo for FFmpeg, but the application has 16 dependencies that it also wants to install.

None of the dependencies seem to conflict with anything that’s already installed on FreePBX - Should it be safe to install this package, then disable RPMforge? On the surface, such an action wouldn’t seem too risky, but I’d like to get opinions of those who know more than me.

Thanks in advance!

rpmforge should have ffmpeg

yum install ffmpeg
yum install gstreamer*

Thank you for your reply. RPMforge does indeed have FFmpeg. My concern is whether that is the best way to install it onto a production system. One of the things I learned the hard way is that it isn’t wise to mess around with alternate repositories when using a FreePBX distro in production. I’ve specifically had problems with EPEL updating libraries and breaking things inside of FreePBX. There are currently a few packages in RPMforge that will update packages in FreePBX to versions higher than the officially sanctioned repositories. Probably not enough to break anything, but that might not always be the case, so if I install any of these components from RPMforge, I’m going to do it using “yum install <packages> --enablerepo=rpmforge” rather than just leaving RPMforge enabled.

All told, I’m probably going to install using that method. I just wanted to do a sanity check first.

One last question, what is gstreamer used for? The gstreamer package itself only installs two packages, gstreamer and gstreamer-tools, but if I run “yum search gstreamer* --enablerepo=rpmforge” there are 92 different packages and dependencies it wants to install. Even just installing gstreamer-ffmpeg wants to add 9 packages. (Although none of those seem to share dependencies with anything installed from FreePBX repos.)

I want to have full functionality, but I want to tread outside of the “officially sanctioned” code as lightly as possible. I don’t want to install a package, only to run into a problem 12 months from now and have someone on the forum say “Well, why the heck did you install something from RPMforge, you big dummy?”

As it stands, I have the RPMforge repo configured, but set to disabled in the config. I think I would run the following command:

yum install lame ffmpeg gstreamer gstreamer-ffmpeg --enablerepo=rpmforge

Does that sound like a reasonable action?

Again, a hearty thank you to the community for the feedback!

I don’t know if this helps, but I successfully installed FFmpeg onto FreePBX 13 by following the instructions here:

Install FFmpeg and ffmpeg-php on CentOS

Please note the advice to run yum update, MAY have unpredictable results on your FreePBX system. Personally, I did not follow through with the update.

However the command: yum search ffmpeg did show that several FFmpeg packages were available, which I then installed using: yum install ffmpeg ffmpeg-devel ffmpeg-libpostproc gstreamer-ffmpeg

After installation, I then disabled the DAG RPM Repo with the command: yum-config-manager --disable dag

It so happens that LAME was already installed on my system, so after processing the above, all those warnings you mention went away.

Why is gstreamer needed?

If you run: yum install lame ffmpeg --enablerepo=rpmforge it will install lame and ffmpeg (and some other depedecnies). After a freepbx reload (fwconsole reload) you will see that the paths for lame and ffmpeg at FreePBX Advanced Settings are filled(be sure to select Yes on Display Readonly Settings).