diff options
author | Andrew Cady <d@cryptonomic.net> | 2022-11-27 22:44:22 -0500 |
---|---|---|
committer | Andrew Cady <d@cryptonomic.net> | 2022-11-27 22:44:22 -0500 |
commit | b12fe3d00cbc69f054a4a7ec0cd018c209414fd6 (patch) | |
tree | fb620b5d200ec19ebeb431d9ebf9836b653b3639 | |
parent | f34bb3c0aa9ed17859be6b03c23d0b3428f9621c (diff) |
selfstream solution
-rwxr-xr-x | ffmpeg.sh | 51 | ||||
-rwxr-xr-x | stream | 12 |
2 files changed, 37 insertions, 26 deletions
@@ -11,35 +11,34 @@ else | |||
11 | exit 1 | 11 | exit 1 |
12 | fi | 12 | fi |
13 | mkdir -p "$dashdir" | 13 | mkdir -p "$dashdir" |
14 | echo "$dashdir"/live.mpd | ||
15 | 14 | ||
16 | AUDIO_DEVICE=pulse | 15 | AUDIO_DEVICE=pulse |
17 | ffmpeg \ | 16 | ffmpeg \ |
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 |
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/sh | ||
2 | set -e | ||
3 | srvdir=$(cryptonomic srvdir) | ||
4 | hostname=$(cryptonomic hostname) | ||
5 | [ -d "$srvdir" ] | ||
6 | [ "$hostname" ] | ||
7 | dashname=dash | ||
8 | dashdir=$srvdir/public_html/$dashname | ||
9 | sudo mkdir -p "$dashdir" | ||
10 | sudo chown "$USER:$GROUP" "$dashdir" | ||
11 | printf '%s\n' "https://$hostname/$dashname" | ||
12 | ./ffmpeg.sh "$dashdir" | ||