summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@cryptonomic.net>2022-11-27 22:44:22 -0500
committerAndrew Cady <d@cryptonomic.net>2022-11-27 22:44:22 -0500
commitb12fe3d00cbc69f054a4a7ec0cd018c209414fd6 (patch)
treefb620b5d200ec19ebeb431d9ebf9836b653b3639
parentf34bb3c0aa9ed17859be6b03c23d0b3428f9621c (diff)
selfstream solution
-rwxr-xr-xffmpeg.sh51
-rwxr-xr-xstream12
2 files changed, 37 insertions, 26 deletions
diff --git a/ffmpeg.sh b/ffmpeg.sh
index e6e251a..d96e0ce 100755
--- a/ffmpeg.sh
+++ b/ffmpeg.sh
@@ -11,35 +11,34 @@ else
11 exit 1 11 exit 1
12fi 12fi
13mkdir -p "$dashdir" 13mkdir -p "$dashdir"
14echo "$dashdir"/live.mpd
15 14
16AUDIO_DEVICE=pulse 15AUDIO_DEVICE=pulse
17ffmpeg \ 16ffmpeg \
18 -re \ 17 -re \
19 -loglevel error -stats \ 18 -loglevel error -stats \
20 -f x11grab -framerate 25 -video_size 1280x800 -i "$DISPLAY" \ 19 -f x11grab -framerate 25 -video_size 1280x800 -i "$DISPLAY" \
21 -f "$AUDIO_DEVICE" -i default \ 20 -f "$AUDIO_DEVICE" -i default \
22 -vf "drawtext=\ 21 -vf "drawtext=\
23 fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ 22 fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\
24 text='%{gmtime\:%Y-%m-%d %T} UTC':\ 23 text='%{gmtime\:%Y-%m-%d %T} UTC':\
25 fontcolor=white:\ 24 fontcolor=white:\
26 x=(w-text_w)/2:y=128:\ 25 x=(w-text_w)/2:y=128:\
27 box=1:boxcolor=black:\ 26 box=1:boxcolor=black:\
28 fontsize=72, 27 fontsize=72,
29 drawtext=\ 28 drawtext=\
30 fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\ 29 fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:\
31 text='REBROADCAST':\ 30 text='REBROADCAST':\
32 fontcolor=white:\ 31 fontcolor=white:\
33 x=(w-text_w)/2:y=16:\ 32 x=(w-text_w)/2:y=16:\
34 box=1:boxcolor=black:\ 33 box=1:boxcolor=black:\
35 fontsize=48" \ 34 fontsize=48" \
36 -codec:v libx264 \ 35 -codec:v libx264 \
37 -profile:v baseline \ 36 -profile:v baseline \
38 -pix_fmt yuv420p \ 37 -pix_fmt yuv420p \
39 -level 4 \ 38 -level 4 \
40 -preset veryfast \ 39 -preset veryfast \
41 -codec:a aac \ 40 -codec:a aac \
42 -f dash \ 41 -f dash \
43 -window_size 5 \ 42 -window_size 5 \
44 -remove_at_exit 1 \ 43 -remove_at_exit 1 \
45 "$dashdir"/live.mpd 44 "$dashdir"/live.mpd
diff --git a/stream b/stream
new file mode 100755
index 0000000..40d57af
--- /dev/null
+++ b/stream
@@ -0,0 +1,12 @@
1#!/bin/sh
2set -e
3srvdir=$(cryptonomic srvdir)
4hostname=$(cryptonomic hostname)
5[ -d "$srvdir" ]
6[ "$hostname" ]
7dashname=dash
8dashdir=$srvdir/public_html/$dashname
9sudo mkdir -p "$dashdir"
10sudo chown "$USER:$GROUP" "$dashdir"
11printf '%s\n' "https://$hostname/$dashname"
12./ffmpeg.sh "$dashdir"