Shell script para gravação de áudio

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>.