У меня возникают проблемы с настройкой сервера Centos 6.4 для преобразования аудиодорожек, необходимых для проекта, в котором я сейчас участвую.
Таким образом, пользователи сайта, над которым я работал, могут загружать треки, но поскольку некоторые браузеры не поддерживают все типы аудио, мне пришлось использовать аудиоконвертер для преобразования mp3 -> ogg и ogg -> mp3. (Хотелось бы также поддержки m4a и, возможно, других).
На моем локальном компьютере (Ubuntu) у меня не было проблем с установкой SoX и FFmpeg для этого. Однако, когда дело доходит до перехода на сервер Centos, я столкнулся с рядом проблем. Установка SoX - это нормально, но у него нет поддержки Mp3, а пакеты, необходимые для этого (Sox-plugins-Freeworld + Sox-plugins-nonfree), по-видимому, не поддерживаются Centos 6.4 только Fedora 19. Потому что это продолжает подбрасывать необходимую Glibc 2.14, но я понимаю, что Centos 6.4 поддерживает только glibc 2.12. Теперь я могу установить FFmpeg, но теперь мне нужны дополнительные плагины для преобразования в Ogg, из которых, похоже, снова не поддерживается Centos 6.4. Я попытался соединить дорожки между парой, чтобы избежать проблем, но скорость передачи данных не преобразуется должным образом, и в результате дорожка пропускается, а качество звука низкое. Я думал преобразовать треки в WAV, а затем использовать либо FFMpeg, либо SoX, чтобы преобразовать их в ogg или mp3, но это не жизнеспособная стратегия, так как Wav могут быть очень большими треками. Кроме того, при преобразовании в свободный и обратно снова могут возникнуть проблемы.
Итак, мои вопросы: во-первых, может ли кто-нибудь подтвердить, что плагины SoX и FFmpeg не поддерживаются в Centos. Во-вторых, есть ли простой аудио конвертер, который может конвертировать треки без потери качества для Centos, на что я явно не обращал внимания?
.
Red Hat не распространяет пакеты с поддержкой MP3 из-за проблем с патентами и лицензированием.
Вы можете найти необходимые пакеты для CentOS и Fedora из RPM Fusion бесплатные и несвободные репозитории.
Я наконец решил свои проблемы!
Я обнаружил, что по какой-то причине все мои репозитории rpmfusion были направлены на пакеты Fedora; вот почему я получал все конфликты glibc. Если кто-нибудь когда-либо получит ошибки Glibc.2.14 () (64BIT) required или что-то подобное, проверьте свои репозитории в /etc/yum.repos.d с помощью vim и посмотрите, куда они указывают. Чтобы решить эту проблему, я просто удалил rpmfusion free и nonfusion с помощью Yum, как только я это сделал, я очистил все и обновил, чтобы проверить, что все работает; а затем переустановили их, используя;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'
.
Теперь вернемся к вопросу преобразования звука. Как отметил Майкл Хэмптон в комментарии, плагины sox, необходимые для преобразования mp3 и ogg, не включены в CentOS. Однако у FFmpeg есть отличный руководство Это помогает скомпилировать необходимые мне кодеки из исходников. Это сработало, хотя при сборке ffmpeg у меня возникла небольшая задержка, поскольку у меня были проблемы с папкой tmp. Мне удалось решить эту проблему, создав папку tmp в моей реальной домашней папке, а затем используя;
export TMPDIR=$HOME/tmp
.
Это скомпилировано правильно, и теперь у меня ffmpeg работает со всеми видами кодеков. Если кто-то еще использует ffmpeg или любое другое преобразование звука на стороне сервера; вы также можете позже просмотреть php fileinfo, чтобы проверить, что люди загружают. Надеюсь, это кому-то поможет.