(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:
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"
doneSí, 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.mp3Para 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
donePara 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