1

I'm having issues with setting up a Centos 6.4 server to convert audio tracks needed for a project I'm currently involved in.

So users of a site I've been working on can Upload tracks, but because some browsers don't support all audio types I've got to use a audio converter to convert mp3 -> ogg, and ogg -> mp3. (Would also like m4a support and maybe others).

On my local (Ubuntu) I've had no problem installing SoX and FFmpeg to do this. However when it comes to moving over to the Centos server I've been running into a number of problems. Installing SoX is fine, but it doesn't haven't Mp3 support, and the packages it needs for it (Sox-plugins-Freeworld + Sox-plugins-nonfree) are seemingly not supported by Centos 6.4 only by Fedora 19. Because it keeps throwing up the Glibc 2.14 needed, but I understand that Centos 6.4 only support glibc 2.12. Now I can install FFmpeg but now I need extra plugins for that to convert to Ogg, of which is again seemingly not supported by Centos 6.4. I tried pipe-lining the tracks between the pair to avoid the issues, but the bit-rates aren't converting properly and the resulting track skips and the audio quality is poor . I was thinking of converting tracks to WAV and then using either FFMpeg or SoX to convert them to ogg or mp3 but it's not a viable strategy since Wav's can be very large tracks. Plus converting loosely to looseless and back again can have issues again.

So my questions is, firstly can anyone confirm that both SoX and FFmpeg plugins aren't supported in Centos. Secondly is there a easy audio converter that can convert tracks without losing quality for Centos that I've clearly overlooked?

.

slm
  • 7,355
  • 16
  • 54
  • 72

2 Answers2

4

Red Hat doesn't distribute MP3-enabled packages due to patent and licensing issues.

You can find the necessary packages for CentOS and Fedora from the RPM Fusion free and nonfree repositories.

Michael Hampton
  • 237,123
  • 42
  • 477
  • 940
  • Thanks for the fast reply. However, this doesn't answer my question. I've founded the needed packages but there's seemingly only Fedora plugins for both ffmpeg and sox; yet when I try to Yum Install Sox-Plugins-Freeworld, I get complaints that glibc 2.14 is needed, and CentOS only supports glibc 2.12, correct? – Simon Nicholls Aug 19 '13 at 16:32
  • RPM Fusion contains `ffmpeg`, and is _supposed_ to contain the `sox-plugins-freeworld` and `sox-plugins-nonfree` packages. However, it seems to be missing. Might be the build failed or something. I'd contact the repository maintainer. – Michael Hampton Aug 19 '13 at 16:37
  • It sounds like you installed the rpmfusion-release RPMs for Fedora on a CentOS system. This isn't supposed to work, and certainly won't have positive results. – Michael Hampton Aug 19 '13 at 16:38
  • For both, ffmpeg and SoX, I literally Yum installed both, and doing a Yum list I can confirm that they are both el6(CentOS) rpms. And they work fine as their standalone packages. Though instead of using both I was hoping to simply use one, but it's seemingly looking like I might have to instead configuring the pipeline through both to achieve what I need – Simon Nicholls Aug 19 '13 at 16:48
  • Unless I get hold of the repository maintainer as you suggest. However, looking through the repos it seems maybe Gtstreamer might be a viable option. Thanks for the help. – Simon Nicholls Aug 19 '13 at 16:50
1

I finally solved my issues!

I found that for some reason my rpmfusion repos were all pointed at the Fedora packages; which is why I was getting all the glibc conflicts were coming from. If anyone ever receives errors of Glibc.2.14()(64BIT) required or something similar check your repos in the /etc/yum.repos.d with vim and see where they're pointed. To solve this I simply removed rpmfusion free and nonfree with Yum, once I did this I did a clean all and update to check everything was working; and then re-installed them using;

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm'.

Now back to the issue of audio conversion. As Michael Hampton pointed out in a comment the sox plugins needed for mp3 and ogg conversion aren't included for CentOS. However, FFmpeg does have a great tutorial that helps compile the needed codecs I needed from source. This worked though I had a slight hiccup on the ffmpeg build since I had issues with the tmp folder. I managed to solve this by making a tmp folder in my actual home folder and then using;

export TMPDIR=$HOME/tmp.

This compiled correctly and now I have ffmpeg working with all sorts of codecs. If anyone else is using ffmpeg or any other audio conversion on a server side; you also might want to look up php fileinfo afterwards so that you can check what people are uploading. Hope this helps someone.

Andrew Schulman
  • 8,561
  • 21
  • 31
  • 47