Um dos meus programas de rádio favoritos acontece todos os dias às 10h (fuso horário de Brasília). Não consegui ouvir por causa dos fusos horários. Em seguida, criei o seguinte pequeno script de shell para gravar o programa e então posso ouvi-lo no meu tempo livre.
#!/bin/bash
# paths
TIMELIMIT="timelimit"
LIVESTREAMER="livestreamer"
FFMPEG="ffmpeg"
# parameters
IN=$1
OUT=$2
TIME=$3
if [[ -z $TIME ]]; then TIME="3600"; fi
if [ $# -lt 1 ]; then
echo -n "Usage: $0 url output [time]"
exit 0
fi
if [[ -z `which $TIMELIMIT` ]]; then
echo "timelimit not found" 1>&2
exit 1;
fi
if [[ -z `which $LIVESTREAMER` ]]; then
echo "livestreamer not found" 1>&2
exit 1;
fi
if [[ -z `which $FFMPEG` ]]; then
echo "ffmpeg not found" 1>&2
exit 1;
fi
echo "START STREAMING"
$TIMELIMIT -t $TIME $LIVESTREAMER $IN best -o $OUT.ts
echo "CONVERTING FILE TO MP3"
ffmpeg -y -i $OUT.ts -c:a libmp3lame -b:a 64k -joint_stereo 0 $OUT
rm $OUT.ts
echo "DONE"
O <a href=” https://github.com/leonardofaria/audio-recorder”> script </a> usa timelimit, ffmpeg e livestreamer. Você pode criar uma tarefa cron para executar o script de acordo com a necessidade. Por exemplo:
00 10 * * 1-5 /Users/leonardo/Sites/audio-recorder/98.sh "hlsvariant://http://stream.izap.com.br/live/98fm.stream/playlist.m3u8" "/Users/leonardo/Downloads/central98.mp3" 3600
A linha anterior gravará o arquivo de streaming m3u8 por 1 hora (3600 segundos) de segunda a sexta às 10h. Se você não estiver familiarizado com a sintaxe do crontab, use um <a href=” http://crontab-generator.org/”> Crontab Generator </a>.