#!/bin/bash # create "poster" files for an image preview if livestream before the user clicks play # get all live streams all_live=`ls /tmp/hls/*.m3u8 | cut -d/ -f4 | cut -d. -f1 | uniq` # for each streamer, make a poster of their latest video chunk while read -r streamer do tsfile=`bash -c "ls -t /tmp/hls/$streamer-*.ts" | head -n1` ffmpeg -hide_banner -loglevel error -y \ -ss 00:00:00.00 -i "$tsfile" \ -frames:v 1 "/var/www/stream/public/posters/$streamer.jpg" < /dev/null; done <<< "$all_live" # delete old posters bash -c 'find /var/www/stream/public/posters/*.jpg -mmin +2 -exec rm {} \;'