Вобщем, сделал так, файлы нулевого размера просто удаляются, а если скрипт такие файлы обнаруживает, то он ставит рандомную задержку по времени, после чего снова перезапускает цикл в попытке записать трансляцию
#!/bin/bash
while true
do
file_time=`date +%H.%M.%S`
cvlc http://localhost:8080 --network-caching=10 --sout file/ts:./$file_time.ts --run-time 300 --play-and-exit
null=`stat -c %s *.ts | grep -w 0 | head -1`
rand=`shuf -i 5-15 -n 1`
if [ $null -eq 0 ]
then
sleep $rand
fi
find . -size 0 -delete
done
exit 0