#! /bin/bash
#
sudo nvidia-settings --assign="0/AllowFlipping=0" &>/dev/null

V_SIZE="$(xdpyinfo | grep dimensions | awk '{print $2;}')"
VBR="500k"                                # Bitrate
FPS="30"                                   # FPS
RES="1920x1080"
QUAL="fast"                                # Preset medium, fast, ultrafast

# STREAM_URL="rtmp://live.restream.io/live"
# KEY=""

STREAM_URL="rtmp://fra-rtmp.livepeer.com/live"
KEY=""

ALSA_OUT="alsa_output.pci-0000_00_14.2.analog-stereo.monitor"

if [ "$1" = "-m" ]; then
  ffmpeg \
    -f x11grab -video_size "$V_SIZE" -i :0.0 \
    -f pulse -i default \
    -c:a aac -ac 1 -b:a 96k \
    -r $FPS -pixel_format uyvy422 -vcodec libx264 -tune zerolatency -b:v $VBR -x264-params keyint=60:min-keyint=60 \
    -f flv "$STREAM_URL/$KEY"
elif [ "$1" = "-a" ]; then
  ffmpeg \
    -f x11grab -video_size "$V_SIZE" -i :0.0 \
    -f pulse -i $ALSA_OUT \
    -c:a aac -ac 1 -b:a 96k \
    -c:v libx264 -preset $QUAL -pix_fmt yuv420p -s $RES -r $FPS -g $(($FPS * 2)) -b:v $VBR \
    -f flv "$STREAM_URL/$KEY"
elif [ "$1" = "-d" ]; then
  ffmpeg -i https://fra-cdn.livepeer.com/hls/z8kdh258fwnopq14/index.m3u8 -c copy ~/Videos/out.mp4
else
  ffmpeg \
    -f x11grab -video_size "$V_SIZE" -i :0.0 \
    -c:v libx264 -preset $QUAL -pix_fmt yuv420p -s $RES -r $FPS -g $(($FPS * 2)) -b:v $VBR \
    -f flv "$STREAM_URL/$KEY"
fi

# ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7" -i https://fra-cdn.livepeer.com/hls/z8kdh258fwnopq14/index.m3u8 -c copy out.mkv

# ffmpeg -i https://fra-cdn.livepeer.com/hls/z8kdh258fwnopq14/index.m3u8 -c copy out.mp4
