Tuesday, July 22, 2025

Descargue los archivos de La Venganza, usted que es un poligrillo

(Originalmente publicaddo en LinkedIn)

-Buenas tardes, yo soy uno que quiere escuchar un programa de La Venganza Será terrible.

-Sí ¿qué tal, cómo le va? Vaya a https://venganzasdelpasado.com.ar/, busque el año, mes y día:

Archivos del programa 2009

Gracias por leer el artículo.

Por supuesto, ésta no es toda la historia. Los programas completos tienen el siguiente formato: http://venganzasdelpasado.com.ar/$year/lavenganza_$year-$month-$day.mp3

Así que, para descargar el programa completo del 24 de Agosto de 2009, podemos descargarlo con el siguiente comando:

$ wget 'http://venganzasdelpasado.com.ar/2009/lavenganza_2009-08-24.mp3'

Ahora bien; en realidad lo que queremos es tener los programas de todo un mes para copiarlos a un MP3 y escucharlo mientras vamos al trabajo:

#!/bin/bash

year=2009
month=08
path=$year/$month

mkdir -p $path
cd $path

for day in {01..31}
do
  wget "http://venganzasdelpasado.com.ar/$year/lavenganza_$year-$month-$day.mp3"
done

Sí, no todos los días tienen programas, pero los días sin programa simplemente van a fallar con 404 y sigue al próximo. Y hasta aquí todo está fenómeno, pero supongamos que ahora nos compramos esos auriculares Bluetooth que vimos en Mercado Libre, y lo primero que hacemos es escuchar nuestro programa favorito. Pero algo no anda bien; sólo se escucha el canal izquierdo. Éste es el problema:

$ file lavenganza_2009-08-24.mp3
lavenganza_2009-08-24.mp3: Audio file with ID3 version 2.3.0, contains:MPEG ADTS, layer III, v2,  64 kbps, 22.05 kHz, Monaural

La clave está al final: Monaural. Muchos MP3 (de marcas poco conocidas, por así decirlo) asumen audio estéreo y no manejan bien otros formatos. Si esto ocurre, hay que convertir el audio de mono a estéreo:

ffmpeg -f mp3 -i - -ac 2 lavenganza_2009-08-24.mp3

Para entender qué significa éste comando, pueden leer aquí: https://trac.ffmpeg.org/wiki/AudioChannelManipulation#monostereo Ésto podemos integrarlo en el script anterior, pero en vez de usar wget vamos a usar curl:

#!/bin/bash

year=2009
month=08
path=$year/$month

mkdir -p $path
cd $path

for day in {01..31}
do
  filename=lavenganza_$year-$month-$day.mp3
  url="http://venganzasdelpasado.com.ar/$year/$filename"
  curl -s $url | ffmpeg -f mp3 -i - -ac 2 $filename
done

Para aprovechar mejor el ancho de banda y los núcleos del procesador, podemos agregar un & al final del comando para que se ejecute en background cada instancia:

curl -s $url | ffmpeg -f mp3 -i - -ac 2 $filename &

Sólo no se fijen en el texto en la pantalla.

Y ahora, ¿quiénes son aquellas personas que se acercan tecleando comandos?

- Son los del noticiero.

Pausa...

No comments:

Post a Comment

Your Friendly Guide to Mastering the Linux Kernel with kernel-update

If you have ever explored the inner workings of Linux, you probably know that the kernel is the heart of your operating system. While most u...