blob: b84af779c90e7f4b7b0a5acea616f885fabb8a9d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p ffmpeg
#
# https://wiki.archlinux.org/index.php/Streaming_to_twitch.tv
FILE=$(date +%Y.%m.%d..%H.%M)
INRES="1920x1080"
OUTRES="1920x1080"
FPS="15"
GOP="30"
GOPMIN="15"
THREADS="2"
CBR="1000k"
QUALITY="ultrafast"
AUDIO_RATE="44100"
KEY=$(pass internet/twitch.tv-key)
SERVER="live-lax"
ffmpeg \
-f alsa -i default \
-f x11grab -s "$INRES" -r "$FPS" -i :0.0 \
-f video4linux2 -i /dev/video0 \
-filter_complex '[2:v]scale=480:-1[cam];[1:v][cam]overlay=W-w-10:H-h-10' \
-f flv "rtmp://$SERVER.twitch.tv/app/$KEY"
-c:v libx264 \
-preset veryfast \
-maxrate 1984k \
-bufsize 3968k \
-g "$GOP" \
-keyint_min "$GOPMIN" \
-b:v "$CBR" \
-minrate "$CBR" \
-maxrate "$CBR" \
-pix_fmt yuv420p \
-s "$OUTRES" \
-preset "$QUALITY" \
-tune film \
-crf:v 18 \
-c:a libmp3lame \
-b:a 128k \
-threads "$THREADS" \
-strict normal \
-bufsize "$CBR" \
-ar "$AUDIO_RATE" \
-ac 2 \
|