ALTERNATIVA A SONGR - PYMAXE Bueno, a ver si al fin consigo refundir todo sin necesidad de añadir más parches. Este mensaje pretende refundir todo lo dicho en el hilo de la lista de correo. He puesto una pequeña introducción con índice, espero que os guste y que os sea útil:
Cuando un usuario novato (como en mi caso) pasa de Windows a Linux, una de las cosas que puede intentar hacer es buscar para Linux los mismos programas que usaba habitualmente en Windows. En este caso se trata de buscar Songr, que es un programa que sirve para buscar y bajarse canciones. Lamentablemente para Linux Debian no existe Songr, al menos no directamente, pero también hay otras alternativas que pueden servir. Para este caso concreto utilizaremos Pymaxe. Otras opciones disponibles se pueden encontrar mirando por internet, algunos ejemplos serían éstos: http://alternativeto.net/software/songr/?platform=linux http://de-todo-un-poco-computacion-e-ideas.blogspot.com.es/2015/08/como-instalar-songr-en-ubuntu-para.html http://blog.desdelinux.net/aironux-una-nueva-alternativa-para-descargar-musica/ https://www.youtube.com/watch?v=-Qh_S3Ozn4s El hecho de tener un programa tipo Songr, en el que en principio te permite buscar canciones con comodidad, puede tener la desventaja de acabar con los buscadores que tiene integrados obsoletos, haciendo que la búsqueda ofrezca menos resultados que los que debería dar, por lo que otra posible vía puede consistir en ponerse a buscar la canción que sea manualmente vía google. Como he dicho en este mensaje voy a explicar cómo instalar pymaxe para Debian, y como creo que el contenido de este mensaje es bastante extenso, voy a poner aquí un pequeño índice: Índice: - Instalación de Pymaxe en Debian 8 estable usando el paquete fuente - Instalación de Pymaxe en Debian 8 usando el paquete.deb - Cómo añadir el repositorio multimedia de Debian - Cómo editar un paquete .deb, cambiando su archivo de control - Instalación de Pymaxe en Debian 7 estable - Instalación en Debian 7 sid - Apunte de la instalación de paquetes con Debian testing - Configuración de pymaxe - Convertir formato de vídeo a formato de música Antes de comenzar a explicar cada parte en detalle, decir que sobre todo he usado como editor de texto "gedit", pero uno puede usar el editor de texto que quiera (nano, vim, vi...). Una vez explicado esto, paso a desarrollar el contenido: ---Instalación de Pymaxe en Debian 8 estable usando el paquete fuente--- 1) Ir a la web donde está pymaxe: www.pymaxe.com 2) Darle al botón "Download" 3) Elegir la opción "Sources". 4) Una vez descargado escribe lo siguiente en el terminal: $ cd /home/user/Descargas ~/Descargas$ tar -xvf pymaxe.tar.gz ~/Descargas$ sudo ln -s /usr/local/bin/pymaxe /usr/bin/pymaxe - Con este comando (ln) creamos un enlace simbólico, blando (o acceso directo) en el directorio /usr/bin. ¿Por qué? Para que pymaxe se pueda abrir al ejecutar alt + f2 y escribir el comando "pymaxe" sin comillas. 5) Sin embargo, al hacerlo no funcionará, porque hay que modificar también el propio archivo de texto que hay en /usr/local/bin/pymaxe. Para eso escribimos en el terminal lo siguiente: ~/Descargas$ sudo gedit /usr/local/bin/pymaxe Donde el contenido del archivo es tal que así: ------------------------------------------- #!/bin/sh if which python2 >/dev/null; then cd /usr/share/pymaxe/ python2 launcher.py else cd /usr/share/pymaxe/ python launcher.py fi ------------------------------------------- Para que pymaxe funcione como es debido, hay que meter los directorios correctamente, de tal forma que habría que poner /usr/local/share, en vez de /usr/share. De esta forma, con gedit el archivo debería quedar así: ------------------------------------------- #!/bin/sh if which python2 >/dev/null; then cd /usr/local/share/pymaxe/ python2 launcher.py else cd /usr/local/share/pymaxe/ python launcher.py fi ------------------------------------------- 6) Se guarda el archivo de texto con "control + s" y se cierra. 7) A continuación, nos vamos al programa del Menú principal (o alacarte, usando alt + f2). Buscamos pymaxe (que está en el apartado de sonido y vídeo), una vez seleccionado le damos al botón de Propiedades y pulsamos donde debería estar su icono. Lo buscamos (que está en /usr/local/share/icons/pymaxe.png). 8) Si uno quiere tener la carpeta de Descargas limpia tras instalar el programa, es aconsejable hacer un "rm -r" en el terminal sobre los archivos que nos hemos bajado y descomprimido o directamente irse con el explorador de archivos y hacer eso mismo gráficamente. Aquí en concreto el comando sería: ~/Descargas$ sudo rm -r usr pymaxe.tar.gz ----Instalación de Pymaxe en Debian 8 usando el paquete.deb---- 1) Ir a la web donde está pymaxe: www.pymaxe.com 2) Darle al botón "Download" 3) Elegir la opción "Debian / Ubuntu-compatible". 4) Una vez bajado el paquete, antes de instalarlo, hay que instalar una serie de paquetes (dependencias), de lo contrario nuestro paquete se romperá. Para la gente novata como yo, es casi más cómodo usar Synaptic, que va mostrando lo que vas instalando de forma gráfica, aunque me imagino que también se puede hacer igual desde la consola o terminal. Las dependencias del paquete pymaxe.deb son: - python2.6 o python2.7 - python-gtk2 - python-glade2 - ffmpeg - gstreamer0.10-ffmpeg - libavcodec52 o libavcodec53 - gstreamer0.10-plugins-ugly o bien vlc o bien mp Las únicas dependencias (o paquetes necesarios para que pymaxe funcione) que no se pueden encontrar en los repositorios de Debian 8 oficiales son: - gstreamer0.10-ffmpeg - libavcodec52 o libavcodec53 Para el paquete gstreamer0.10-ffmpeg se puede bajar en el repositorio de Debian Multimedia. Si no tienes el repositorio instalado, para instalarlo debes hacer lo siguiente: A) Ir a la consola y escribir lo siguiente: $ sudo gedit /etc/apt/sources.list B) Una vez abierto el archivo sources.list escribir lo siguiente: deb http://www.deb-multimedia.org jessie main non-free Guardar y cerrar el archivo. C) Ir al terminal y escribir esto: $ sudo apt-get update $ sudo apt-get install deb-multimedia-keyring $ sudo apt-get update El paquete libavcodec52 o libavcodec53 no existe para Debian Jessie, sin embargo existe el paquete libavcodec56. Posiblemente con el paquete libavcodec56, al ser una edición posterior sea retrocompatible con las versiones 52 y 53 y que los que hicieron pymaxe en su día no tuvieron en cuenta el paquete en la versión 56 porque aún no existía y no se han molestado en actualizarlo. Basándonos en esta posibilidad, vamos a modificar el paquete .deb (pymaxe.deb) para que sea compatible también con el paquete libavcodec56, para eso, cambiaremos el archivo de control del paquete .deb siguiendo estos pasos: A) Ir al terminal y escribir esto: ~$ cd /home/usuario/Descargas B) Desempaquetar el paquete .deb ~/Descargas$ mkdir temporal ~/Descargas$ sudo dpkg-deb --extract pymaxe.deb temporal Lo que hace la primera línea es crear una carpeta temporal donde se descomprime el archivo, y la segunda línea descomprime el archivo en sí. C) Ahora extraer la parte de control del paquete .deb: ~/Descargas$ sudo dpkg-deb --control paquete.deb temporal/DEBIAN D) Editar el archivo de control, para eso hacer lo siguiente en el terminal: ~/Descargas$ gedit temporal/DEBIAN/control El archivo de texto es tal que así: ------------------------------------------------------------------------ Package: pymaxe Version: 0.60 Architecture: all Maintainer: Mamut R. Ghiunhan <vene...@blug.ro> Installed-Size: 82 Depends: python2.6 | python2.7, python-gtk2, python-glade2, ffmpeg, gstreamer0.10-ffmpeg, libavcodec52 | libavcodec53, gstreamer0.10-plugins-ugly | vlc | mplayer Section: x11 Priority: extra Homepage: http://code.google.com/p/pymaxe/ Description: A music downloader application PYMAXE is an application which provides the ability to download music and video. -------------------------------------------------------------------------- Hay que modificar la sección "Depends", añadiendo un "| libavcodec56", que dicho en lenguaje coloquial sería "también vale el paquete libavcodec56". Para añadir el carácter "|", se hace con Altgr + 1, quedando el archivo de texto de esta forma: ------------------------------------------------------------------------ Package: pymaxe Version: 0.60 Architecture: all Maintainer: Mamut R. Ghiunhan <vene...@blug.ro> Installed-Size: 82 Depends: python2.6 | python2.7, python-gtk2, python-glade2, ffmpeg, gstreamer0.10-ffmpeg, libavcodec52 | libavcodec53 | libavcodec56, gstreamer0.10-plugins-ugly | vlc | mplayer Section: x11 Priority: extra Homepage: http://code.google.com/p/pymaxe/ Description: A music downloader application PYMAXE is an application which provides the ability to download music and video. -------------------------------------------------------------------------- E) Ahora sólo hace falta empaquetarlo todo otra vez en formato .deb, escribiendo lo siguiente en el terminal: ~/Descargas$ sudo dpkg --build temporal F) Por último, cambiar de nombre el paquete deb por el nombre del paquete original, cosa que hará que el paquete nuevo sustituya al viejo automáticamente, cosa que se hace con el siguiente comando: ~/Descargas$ mv temporal.deb pymaxe.deb El enlace que me ha servido de ayuda para editar el paquete .deb lo he encontrado en esta web: http://www.taringa.net/post/linux/17294752/Editar-Paquete-deb.html Si uno quiere un script para que sirva de ayuda a la hora de editar un paquete .deb de forma más automática, este enlace puede os puede valer. Si uno entiende bien shell-script imagino que se podrá personalizar al gusto que uno quiera: https://gist.github.com/chetan/1410666 5) Una vez instaladas todas las dependencias, instalar el paquete pymaxe: ~/Descargas$ sudo dpkg -i pymaxe.deb 6) Si uno quiere limpiar la carpeta de Descargas, escribir en el terminal: ~/Descargas$ sudo rm pymaxe.deb -----------Instalación de Pymaxe en Debian 7 estable----------- 1) Ir a la web donde está pymaxe: www.pymaxe.com 2) Darle al botón "Download". 3) Elegir la opción "Debian / Ubuntu-compatible". 4) Una vez bajado el paquete, antes de instalarlo, hay que instalar una serie de paquetes (dependencias), de lo contrario nuestro paquete se romperá. Puedes usar Synaptic o hacerlo por la consola o terminal. Dependencias necesarias: - python2.6 o python2.7 - python-gtk2 - python-glade2 - ffmpeg - gstreamer0.10-ffmpeg - libavcodec52 o libavcodec53 - gstreamer0.10-plugins-ugly o bien vlc o bien mp Aparte de esos paquetes, saber que buena parte de las dependencias se resuelven instalando el paquete "libav-tools", aparte de que sería aconsejable tener también incluido el repositorio multimedia de Debian, explicado en la sección anterior. 5) Una vez instaladas las dependencias necesarias, instalamos el paquete pymaxe: ~/Descargas$ sudo dpkg -i pymaxe.deb 6) Si uno quiere tener la carpeta de Descargas limpia después de la instalación, se ejecuta el siguiente comando en el terminal: ~/Descargas$ sudo rm pymaxe.deb -------------Instalación en Debian 7 sid------------------ NOTA: Este caso no lo he probado, porque no tengo Debian sid instalado. Sin embargo esto ha sido sugerido por otros usuarios de la lista de correos como alternativa válida, por eso lo incluyo también. Pasos: 1) Ir a la web donde está pymaxe: www.pymaxe.com 2) Darle al botón "Download". 3) Elegir la opción "Debian / Ubuntu-compatible". 4) Ejecutar este comando en el terminal: ~/Descargas$ sudo dpkg -i pymaxe.deb Sin embargo, el paquete acaba roto al no tener instaladas sus dependencias. Para este caso, en sid se modifican las dependencias, para ello se puede o bien editar el paquete .deb para que las dependencias de su archivo de control quede así: Depends: python2.6 | python2.7, python-gtk2, python-glade2, ffmpeg, gstreamer0.10-ffmpeg|gstreamer1.0-libav, libavcodec52 | libavcodec53 | libavcodec56, gstreamer0.10-plugins-ugly | gstreamer1.0-plugins-ugly | vlc | mplayer Explicado en la sección "Instalación de Pymaxe en Debian 8 usando el paquete.deb". O bien, uno puede usar el script videbcontrol: https://gist.github.com/chetan/1410666 Si uno entiende bien shell-script. 5) Luego, para arreglar el paquete pymaxe.deb, ejecutaríamos este comando en el terminal: ~/Descargas$ sudo apt-get -f install Donde se instalarían las dependencias necesarias a posteriori y pymaxe.deb acabaría bien instalado. 5) Para limpiar la carpeta de Descargas escribir en el terminal: ~/Descargas$ sudo rm pymaxe.deb ----- Apunte de la instalación de paquetes con Debian testing ------ En experimental ya se puede usar apt-get con un fichero local, algo deseado desde 1999 y realizado el año pasado, enlace que lo explica: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=47379 Es decir, que uno podría hacer en Debian testing así por las buenas: # apt-get install file:/home/user/Descargas/pymaxe.deb Y pymaxe quedaría instalado, aunque imagino que previamente habría que instalar las dependencias necesarias para que el paquete no acabara roto o ejecutar después el comando "apt-get -f install" para arreglar el paquete roto. No he probado esta opción al no tener instalado Debian testing, sin embargo, si las dependencias traen problemas por el paquete libavcodec53, uno puede editar el paquete .deb y modificar su archivo de control para que admita el libavcodec que uno tiene instalado (especialmente si es una versión posterior a libavcodec53). El cómo editar un paquete .deb se explica en la sección "Instalación de Pymaxe en Debian 8 usando el paquete.deb" --------------------Configuración de pymaxe---------------------- Es muy sencilla, con irse al menú Pymaxe/Preferencias, ahí podemos decidir cómo lo queremos todo. Eso a gusto del usuario. Si no sabéis qué carpeta elegir para meter los plugins que puedan surgir en un futuro con pymaxe, podéis crearos una carpeta en /home/user/.pymaxe, para tenerlos ahí guardados. Para eso o bien lo hacemos en nuestro explorador de archivos de forma gráfica: - Dentro de nuestra carpeta personal, botón derecho en la ventana, elegimos la opción de "Nueva Carpeta" y por último renombramos esa nueva carpeta como ".pymaxe" (sin las comillas). O bien podemos escribir en nuestra consola o terminal (sabiendo que estamos en nuestra carpeta personal): ~$ mkdir .pymaxe Después nos vamos a la aplicación pymaxe, le damos al menú Pymaxe/Preferencias, en la pestaña de "Advanced settings", elegimos en el campo "Custom Pymaxe plugin folder (restart required):" /home/user/.pymaxe -----------Convertir formato de vídeo a formato de música----------- Con Songr había una opción en el menú contextual (botón derecho sobre el archivo seleccionado) para extraer el mp3 de los vídeos de youtube que encontraba. Con pymaxe, encuentra vídeo y audio igualmente en la lista de búsqueda. No he encontrado dentro de pymaxe una opción para convertir el vídeo en audio. La forma que he encontrado para convertir el vídeo en audio es bajándome el vídeo de pymaxe y después usar el comando ffmpeg en la consola o terminal para terminar de conseguir el archivo de audio. A través de esta web nos dice un resumen muy acertado para convertir el vídeo en audio: http://www.taringa.net/posts/linux/1341389/Convertir-videos-FLV-a-Avi-o-MP3-Ubuntu-64-Bits.html En esencia para convertir el vídeo en audio hay que escribir lo siguiente en el terminal: $ ffmpeg -i videofile.flv -f mp3 audiofile.mp3 Concretamente con esto a partir de videofile.flv (que no modificamos) nos genera un archivo de audio en formato mp3 (audiofile.mp3). Igualmente esto mismo se puede hacer con archivos .avi: $ ffmpeg -i videofile.avi -f mp3 audiofile.mp3 Hay que decir que debemos estar siempre en la carpeta donde se encuentra el archivo de vídeo para realizar esta operación. Para más detalles sobre cómo funciona el comando ffmpeg, hacer esto mismo en el terminal: $ man ffmpeg Aprovecho este último correo para dar las gracias a todos los que me han ayudado a instalar este programa con éxito, así como aquéllos que me han dado la información necesaria sobre los casos de Debian sid y testing y sobre los puntos fuertes y débiles de aplicaciones como pymaxe: - alparkom - Javier Barroso - José Maldonado - Camaleón Gracias por toda vuestra ayuda.