#!/bin/bash set -e DEVICE=${1:-/dev/video0} DELAY=${2:-30} SIZE=${3:-1280x720} FPS=${4:-20} rm -rf /tmp/delay_stream* ffmpeg -f v4l2 -framerate $FPS -video_size $SIZE -i $DEVICE \ -vcodec libx264 -preset ultrafast -tune zerolatency \ -vf scale=720:576i \ -f hls -hls_time 1 -hls_list_size $((DELAY + 5)) -hls_flags delete_segments \ /tmp/delay_stream.m3u8 & FFMPEG_PID=$! start=`date +%s` until [ -f /tmp/delay_stream.m3u8 ]; do sleep 0.1; done end=`date +%s` sleep $((DELAY - end + start)) ffplay /tmp/delay_stream.m3u8 kill $FFMPEG_PID $HTTP_PID