Amarok ahora si reproduce mp3 en Slackware -current

amarok-logo Desde hace varias semanas hice una actualización de mi sistema a Slackware -current y desde entonces he tenido el problema de que Amarok, el reproductor de música que uso en KDE, no reproduce ningún archivo en formato mp3, aunque si reproduce bien los archivos ogg. Otros reproductores de música instalados en el sistema reproducen archivos mp3 sin problemas. Para no quedarme sin escuchar música, todo este tiempo he estado usando el reproductor qmmp, que tuve que instalar desde SlackBuilds.org.

El problema con Amarok es que usa el paquete gst-plugins-ugly (que se debe instalar desde SBo) para reproducir mp3, y en la versión -current este paquete no se podía compilar. Yo incluso tuve que hacer uso de otras fuentes para obtener gst-plugins-ugly, como repos de usuarios que publicaban tanto sus propios scripts para compilar o el paquete ya precompilado. Nada de esto me funcionó.

Sin embargo, con las actualizaciones de estos días (Julio 2015) ya es posible compilar e instalar el paquete pero ahora se llama gst1-plugins-ugly, para hacerlo solo hay que ejecutar el comando:

# sbopkg -ri gst1-plugins-ugly

Los paquetes gstreamer y sus plugins ya se encontraban desde antes en SlackBuilds.org, solo que se conservan en dos versiones diferentes, la 0.10.x y la 1.x, imagino que solo había que instalar la versión adecuada de todos los paquetes. Como he estado usando otro reproductor esto ya no lo pude comprobar. Pero ahora, como ya se actualizaron estos paquetes en Slackware -current de manera oficial intenté instalar únicamente gst1-plugins-ugly y funcionó. Amarok reproduce música en mp3 de nuevo.

Enjoy!

Amarok con MySQL

Amarok es un programa excelente, es sin duda uno de los más populares reproductores entre la comunidad de linuxeros y es de esas pocas aplicaciones que los usuarios de Windows desean sin poder tenerla.

Aquellos que como yo usen Amarok para administrar y reproducir su colección de mp3, se habrán dado cuenta de que corre bastante lento con una colección de tamaño muy grande, incluso hay quien dice que con unas 3,000 pistas Amarok ya empieza a tener problemas. Esto debido a que por omisión utiliza una base de datos SQLite para manejar los datos, y cuando estos son muchos el programa empieza a volverse lento.

En mi caso Amarok tardaba unos dos minutos en iniciar y en general todo el sistema se volvía un poco lento, con mi colección de unos 77 GB.

Una solución para a esto es hacer que Amarok use MySQL para administrar la colección de música, para ello lo primero que hay que hacer es tener instalado Amarok y MySQL, en el caso de una instalación completa de Slackware 14 ambos vienen instalados. Yo estoy utilizando Slackware 14 con KDE 4.9.2, Amarok 2.6 y MySQL 5.5.27.

Luego hay que ejecutar MySQL en el caso de que no se esté ejecutando ya, para ello primero se le dan los permisos de ejecución y luego se inicia:

# chmod +x /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysqld start

Luego entrar en el prompt de MySQL:

# mysql -u root -p

En mi caso salió el siguiente error:

error: 'Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysql/mysql.sock' exists!

Para solucionarlo utilicé el script que viene el el sistema para instalar base de datos en el directorio /usr/bin:

# /usr/bin/mysql_install_db

Hay que darle los permisos correctos a los directorios que utiliza, haciendo que el directorio pertenezca al grupo y usuaio mysql, lo hice con los dos directorios siguientes solo para estar seguros :).

# chown -R mysql:mysql /var/run/mysql/
# chown -R mysql:mysql /var/lib/mysql/

Iniciando MySQL:

# mysqld_safe &

Ahora hay que crear una contraseña para el usuario root:

# mysqladmin -u root password 'aquí_la_contraseña'

La contraseña debe ir entre comillas sencillas. Ahora si iniciar y si todo va bien, aparecerá un mensaje de bienvenida:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.27-log MySQL Community Server (GPL)

Ejecutar los comandos siguientes, el primero es para crear una base de datos que se llame amarokdb, luego especificar que se usará mysql, crear un usuario llamado amarokuser asignarle una contraseña y los permisos necesarios en el servidor local. Finalmente salir y el programa tan educadamente se despedirá.

mysql> CREATE DATABASE amarokdb;
mysql> USE mysql;
mysql> GRANT ALL ON amarokdb.* TO amarokuser@localhost IDENTIFIED BY 'contraseña_de_amarokuser';
mysql> FLUSH PRIVILEGES;
mysql> quit
Bye

Y para segurarnos de que ya está el archivo que faltaba…

# ls -l /var/run/mysql/

Aparecerá:

srwxrwxrwx 1 mysql mysql 0 oct 28 00:36 mysql.sock

Finalmente hay que abrir Amarok e ir a Preferencias > Configurar Amarok > Base de datos y marcar la casilla que dice Utilizar base de datos MySQL externa. Con los comandos del promt de MySQL la configuración de Amarok coincide, solo hay que ponerle la contraseña que utilizamos para amarok user y listo, reiniciar Amarok para que los cambios tengan efecto.

Amarok con MySQL

Como resultado tenemos que Amarok sigue tardando un poco al iniciar aunque ya es menos que antes, y hay un a considerable mejoría en la estabilidad del programa una vez iniciado todo fluye como el agua y los cambios hechos en el directorio de la colección se reconocen al instante.

NOTA: Si cada vez que se inicia Amarok toda la lista de canciones vuelve a cargarse, hay que asegurarse de que el directorio de Colección esté marcado ;).

Saludos.

Fuentes:

Mini Turoriales GNU
Viva o Linux

Reproducción en Amarok se detiene después de cada canción

Amarok es mi reproductor preferido a la hora de escuchar mi musica, tengo (como muchos) una gran colección de archivos en mp3 y otros formatos de música. Sin embargo, como también le sucedió a muchos, al actualizar a Slackware -current Amarok 2.5 empezó a dar problemas pues únicamente reproducía una canción y se detenía.

El problema en sí consiste en el motor (phonon), por lo que pude leer los de xine y mplayer ya no son desarrollados y no deberían usarse en Slackware, el único que está en desarrollo es gstreamer. Sin embargo ninguno de éstos realmente funcionaba en mi sistema, pues o reproducían una canción y se detenían o simplemente no daban sonido.

Para seleccionar el motor en Amarok hay que hacer:

Preferencias > Configurar Amarok > Reproducción > (Botón) Configurar Phonon > (Pestaña) Motor y con las flechas dar «Preferir» para subir y colocar en primer lugar de la lista al que se desea usar.

Amarok 2.5 en Slackware -current

Amarok 2.5 en Slackware -current

Configurar Amarok 2.5

Configurar Amarok 2.5

Seleccionar Phonon

Seleccionar Phonon

Phonon gstreamer

Una forma de arreglar este «error» es mediante la instalación de los siguientes paquetes y usar el gstreamer como phonon predeterminado:

gst-plugins-ugly
gst-plugins-bad
gst-ffmpeg

Que yo como es usual instalé con sbopkg:

# sbopkg -i "gst-plugins-ugly gst-ffmpeg gst-plugins-bad"

Phonon VLC

Otra forma de solucionar este conflicto consiste en usar el phonon de VLC. Existe un paquete de esta versión de phonon para Slackware creada por alienBOB, sin embargo, parecer ser algo obsoleta y por lo mismo una recomendación que encontré por la red fue instalar el phonon VLC desde las fuentes.

Cabe señalar que utilicé el paquete de alienBOB pero no me dio resultados exitosos, pues no producia sonido al reproducir canciones, así que decidí instalarlo desde las fuentes para probar, el procedimiento es el siguiente.

Primero descargar el paquete desde KDE Projects. Esto se puede hacer de diferentes formas, en mi caso escribí lo siguiente en el terminal:

$ git clone http://anongit.kde.org/phonon-vlc

Cuando se haya terminado de descargar se creará un directorio llamado phonon-vlc/ al cual hay que entrar haciendo:

$ cd phonon-vlc/

Se crea un nuevo directorio llamado build:

$ mkdir build
$ cd build/

Finalmente, ejecutar el comando cmake para posteriormente instalar como root:

$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release ..

Todo el comando tiene que ir en una sola línea. Ahora instalar.

# make install

Conclusiones

Reiniciar Amarok después de seleccionar el phonon GStreamer o VLC para aplicar los cambios y listo.

Cabe mencionar que el procedimiento que me sirvió para solucionar todo problema fue con el VLC, pues con GStreamer a veces Amarok se congela, no reproduce música y tengo que terminar el proceso.

Saludos Salckers y espero que les sirva.

Fuentes:

Phonon VLC
VLC Backend en Myriam’s blog

VideoLAN Forums

Thread en LQ