From b12fe3d00cbc69f054a4a7ec0cd018c209414fd6 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Sun, 27 Nov 2022 22:44:22 -0500 Subject: selfstream solution --- ffmpeg.sh | 51 +++++++++++++++++++++++++-------------------------- stream | 12 ++++++++++++ 2 files changed, 37 insertions(+), 26 deletions(-) create mode 100755 stream diff --git a/ffmpeg.sh b/ffmpeg.sh index e6e251a..d96e0ce 100755 --- a/ffmpeg.sh +++ b/ffmpeg.sh @@ -11,35 +11,34 @@ else exit 1 fi mkdir -p "$dashdir" -echo "$dashdir"/live.mpd AUDIO_DEVICE=pulse ffmpeg \ - -re \ - -loglevel error -stats \ + -re \ + -loglevel error -stats \ -f x11grab -framerate 25 -video_size 1280x800 -i "$DISPLAY" \ -f "$AUDIO_DEVICE" -i default \ - -vf "drawtext=\ - fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ - text='%{gmtime\:%Y-%m-%d %T} UTC':\ - fontcolor=white:\ - x=(w-text_w)/2:y=128:\ - box=1:boxcolor=black:\ - fontsize=72, + -vf "drawtext=\ + fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ + text='%{gmtime\:%Y-%m-%d %T} UTC':\ + fontcolor=white:\ + x=(w-text_w)/2:y=128:\ + box=1:boxcolor=black:\ + fontsize=72, drawtext=\ - fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ - text='REBROADCAST':\ - fontcolor=white:\ - x=(w-text_w)/2:y=16:\ - box=1:boxcolor=black:\ - fontsize=48" \ - -codec:v libx264 \ - -profile:v baseline \ - -pix_fmt yuv420p \ - -level 4 \ - -preset veryfast \ - -codec:a aac \ - -f dash \ - -window_size 5 \ - -remove_at_exit 1 \ - "$dashdir"/live.mpd + fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ + text='REBROADCAST':\ + fontcolor=white:\ + x=(w-text_w)/2:y=16:\ + box=1:boxcolor=black:\ + fontsize=48" \ + -codec:v libx264 \ + -profile:v baseline \ + -pix_fmt yuv420p \ + -level 4 \ + -preset veryfast \ + -codec:a aac \ + -f dash \ + -window_size 5 \ + -remove_at_exit 1 \ + "$dashdir"/live.mpd diff --git a/stream b/stream new file mode 100755 index 0000000..40d57af --- /dev/null +++ b/stream @@ -0,0 +1,12 @@ +#!/bin/sh +set -e +srvdir=$(cryptonomic srvdir) +hostname=$(cryptonomic hostname) +[ -d "$srvdir" ] +[ "$hostname" ] +dashname=dash +dashdir=$srvdir/public_html/$dashname +sudo mkdir -p "$dashdir" +sudo chown "$USER:$GROUP" "$dashdir" +printf '%s\n' "https://$hostname/$dashname" +./ffmpeg.sh "$dashdir" -- cgit v1.2.3