Eu tenho um script que usa pactl e parec para gravar áudio de um navegador que está transmitindo uma estação de rádio. Sox é então usado para comprimir o áudio capturado para mp3. Ele grava bem quando executado em primeiro plano, mas registra o silêncio quando iniciado a partir de um trabalho de crontab.
Aqui estão as principais linhas do script de gravação:
# Get sink monitor:
MONITOR=$(pactl list | grep -A2 '^Source #' | grep 'Name: .*\.monitor$' | awk '{
print $NF}' | tail -n1)
# Record it raw, and convert to whatever
cmd="timeout ${TIMESECS}s parec -d \"$MONITOR\" | sox -t raw -r 44100 -sLb 16 -c
2 - \"$TEMPFILE\""
echo $cmd
eval $cmd
Por que o script funcionaria em primeiro plano, mas não quando iniciado a partir do crontab?