Convertir tu podcast en un vídeo con ondas de sonido

Una de los aspectos que mas me gustan de Linux es la posibilidad de automatizar todas tus tareas. Pero además te ofrece un gran abanico de posibilidades. Lo puedes hacer mediante un script de bash, o con Python, o como tu prefieras. Y es que tienes ante tus manos todo un abanico de herramientas que te permiten realizar todo tipo de operaciones, desde trabajar con imágenes a convertir un audio en vídeo con ondas de sonido.

Y precisamente este artículo trata de eso, de convertir un audio en un vídeo con ondas de sonido. ¿Para que? Pues algo tan sencillo como para subir un podcast a YouTube. La cuestión no era simplemente en subir el podcast a YouTube, sino añadir una imagen de fondo, un texto…. pero a poco a poco la cosa se fue complicando hasta que llegamos a lo que se ha convertido ahora, un vídeo con ondas de sonido.

Convertir tu podcast en un vídeo con de ondas de sonido

Convertir un podcast en vídeo con ondas de sonido

Un poquito de historia… reciente

La historia empieza con la automatización de tareas en el grupo GNU/Linux Valencia. El objetivo, es darnos a conocer, mediante la creación de contenido diverso. Sin embargo, la creación de contenido, luego lleva una serie de trabajo asociado. Desde la edición de audio, hasta, posteriormente subirlo a las diferentes plataformas.

Una de estas plataformas es precisamente YouTube, y al parecer, según comentó Voro, no es posible subir un audio sin mas. La plataforma no admite audios, sino que tienen que ser vídeos. Esto conlleva además de editar el audio crear un vídeo posteriormente, y como he comentado este no es nuestro objetivo.

El objetivo final

Nuestro objetivo es el de disponer un VPS donde subir nuestro audio, y el resto de contenido. Desde allí, de forma completamente automatizada, distribuir el contenido al resto de plataformas, realizando las operaciones necesarias sobre el contenido original para que sea admitido en el resto de plataformas.

Así, por ejemplo, creamos diferentes feed adaptándolos a las distintas plataformas, o en el caso del audio, para subirlo a YouTube lo convertimos en vídeo con un sencillo script.

Y de la misma forma con el resto de contenido que generamos y con el resto de plataformas. Por ejemplo, mediante un bot, enviar mensajes a Twitter o a canales y grupos de Telegram.

Al grano… el script para convertir un podcast en vídeo con ondas de sonido

Bueno, que me disperso, y veo que te estoy contando todos nuestros secretos para dominar el multiverso.

La cuestión es que actualmente, como no disponemos de la infraestructura necesaria, pero en aras de economizar el tiempo lo máximo posible, hemos implementado un sencillo script, para YouTube.

Este sencillo script para convertir un podcast en vídeo con efecto onda, lo que hace es,

  • a partir de una imagen de fondo, la convierte a las dimensiones que le indiques.
  • pone un título y subtítulo en la imagen.
  • convierte esa imagen en vídeo y le añade el audio.
  • crea un vídeo con la onda generada a partir del audio
  • mezcla el vídeo de la imagen estática de fondo con el texto, con el vídeo con la onda generada a partir del audio.

Todo esto que parece un poco farragoso, es sencillo, pues al final se encarga un script de hacerlo. Y lo hace de forma desatendida.

Lo único que queda pendiente es el paso de subirlo a YouTube. Sin embargo, todavía no lo tengo implementado. Es decir, una vez convertido el podcast en vídeo con efecto de onda, de forma automática que lo suba a YouTube.

El script

Puedes descargar el script de la página de GitHub, por si lo quieres utilizar. Pero ten en cuenta que es una primera versión…

En futuras versiones quiero añadir un interfaz gráfico para que sea mas sencillo de utilizar y con mas opciones.

El uso del script es muy sencillo, que inicialmente era muy sencillo, se ha ido complicando con el paso del tiempo, gracias a las sugerencias de unos y de otros. Aunque siempre lo puedes utilizar con las opciones mínimas, tal y como venías haciendo antes de la última actualización.

./audiowave.sh [-t title] [-s subtitle] [-b background_image]
               [-m mode] [-w width] [-h height] -a audio
               [-ww wave_width] [-wh wave_height] [-wc wave_color]
               [-wx wave_x_position] [-wy wave_y_position]
               [-tx text_x_position] [-ty text_y_position]
               [-tc text_color] [-dt distance_title_subtitle]

donde

  • -t para configurar el título. Este es opcional
  • -s para configurar el subtítulo. Este es opcional
  • -b para definir la imagen de fondo. Este es opcional
  • -mpermite definir el modo, que por defecto es line. Otras opciones son point , p2p , cline. Este parámetro es opcional
  • -w para definir el ancho. Este es opcional por defecto 640 px.
  • -h para definir el alto. Este es opcional por defecto 480 px.
  • -a para definir el archivo de audio. Este parámetro es obligatorio.
  • -ww nos permite definirla anchura de la onda, es decir, el tamaño en x que ocupará la onda en la imagen. Este parámetro es opcional, por defecto es 640 px.
  • -wh nos permite definir la altura de la onda, es decir, el tamaño en y que ocupará la onda en la imagen. Este parámetro es opcional, por defecto es 480 px.
  • -wc permite configurar el color de la onda. Se trata de un parámetro opcional, que por defecto está definido a yellow
  • -wx nos permite definir la posición x de la onda. Este parámetro es opcional, por defecto aparecerá centrada horizontalmente.
  • -wy para definir la posición y de la onda. Este parámetro es opcional, por defecto aparecerá centrada verticalmente.
  • -tc nos permite configurar el color del título y del subtítulo. Se trata de un parámetro opcional, y por defecto está configurado a yellow .
  • -tx permite definir la posición horizontal del texto. Este parámetro es opcional y por defecto son 20 px.
  • -ty permite definir la posición vertical del texto. Este parámetro es opcional y por defecto son 100 px desde la parte inferior de la imagen.
  • -dt permite definir la distancia entre título y subtítulo. Se trata de un parámetro opcional que está configurado por defecto a 50 px.

Puedes ver toda la gama de colores en la página de ffmpeg

En esta actualización he añadido bastantes parámetros que te van a permitir configurar y personalizar casi cualquier detalle de la onda y del vídeo. Entiendo que complica un poco el uso, pero el objetivo de esto es crear un script que automatice todo el proceso, no tener que hacerlo en cada ocasión. De esta manera no nos debemos de preocupar.

Por otro lado, además de todos los parámetros que he incorporado, he simplificado bastante el proceso, con lo que el tiempo de creación del vídeo se ha reducido sensiblemente. Eso si, hay que tener en cuenta, que si las dimensiones de la imagen son relativamente granded, el tiempo de procesado se puede alargar considerablemente.

Desde mi punto de vista, no iría a tamaños de imagen mas allá de 800×600, puesto que los oyentes en rara ocasión van a ver el vídeo, y de otra forma, lo único que conseguirás es agotar su contrato.

Conclusiones

Lo mas importante es centrarse en lo que queremos crear y no en las tareas adicionales que conllevan la creación, pero que realmente no aportan valor. Entre estas tareas está por ejemplo subir el archivo de audio, convertirlo en vídeo, distribuirlo entre plataforma o subirlo a YouTube.

Todo esto son tareas que podemos automatizar, y dedicar ese tiempo a la creación de contenido, que es realmente con lo que disfrutamos, y lo que nos permite dar un valor.