Antiguo BlogLinuxVideo

Convertir vídeos de YouTube a 3gp (II)

Hace tiempo hice un intento de convertir vídeos de YouTube a 3gp para poder visualizarlos en el móvil, en concreto un Nokia E51, aunque supongo que será igual para la mayoría de teléfonos, o al menos en dispositivos Nokia.

Después de un tiempo peleándome con los formatos, esta es la solución que encontré.

Lo primero es descargar el vídeo de Youtube, que se puede realizar de distintas formas. Particularmente utilizo pytube, ya que esta se encuentra en los repositorios de la distribución Debian GNU/Linux, y supongo que lo mismo para otras distribuciones, aunque no lo he probado.

Otra herramientas que podemos probar/utilizar son:

También tenemos a nuestra disposición servicios online que nos permiten descargar vídeos e incluso convertir, aunque el formato que genera no me permite visualizarlo directamente en el móvil sin tener que convertirlo (de nuevo) previamente:

  • http://media-convert.com/conversion/
  • http://vixy.net/
  • http://www.bajaryoutube.com/
  • http://www.descargaryoutube.com/
  • http://convert.viloader.net/

Una vez tenemos el vídeo en nuestro ordenador, el procedimiento que sigo es el siguiente:

$ ffmpeg -i input.flv -vcodec h263 -s tamaño -acodec libamr_nb -ab bitrate -ar freq -ac canales output.3gp

donde:

– input | es el vídeo que queremos convertir

-vodec | Es el codec de vídeo que queramos emplear.

-s tamaño | es el tamaño del vídeo resultante. Los valores posibles son 128×96, 176×144, 352×288, 704×576, 1048×1152. En mi caso para elegir uno he consultado las especificaciones del móvil y en función de la pantalla de este he elegido el que más se parece.

-ab bitrate | Establece el bitrate de audio en bit/s. Las distintas posibilidades son: 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k o 12.2k

-ar freq | Establece la frecuencia. El único valor que admite es 8000Hz

-a canales | Establece el número de canales de audio. Me imagino que el móvil solo lleva un canal de audio, por lo que elijo uno, y tampoco me he preocupado en hacer más averiguaciones.

output.3g | Es el vídeo que queremos generar, con extensión 3gp

Los valores permitidos son determinados por los codecs a utilizar. Para distintos codecs, distintos valores serán :p

Un ejemplo concreto sería:

$ ffmpeg -i input.flv -vcodec h263 -s 352×288 -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 output.3gp

Referencias: