#! /bin/bash OFFSET_A_X=$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==4' | awk '{print $4}') OFFSET_A_Y=$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==5' | awk '{print $4}') OFFSET_R_X=$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==6' | awk '{print $4}') OFFSET_R_Y=$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==7' | awk '{print $4}') OFFSETX=$(echo $OFFSET_A_X+$OFFSET_R_X | gp | awk 'NR==15' | awk '{print $3}') OFFSETY=$(echo $OFFSET_A_Y+$OFFSET_R_Y | gp | awk 'NR==15' | awk '{print $3}') INRES="$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==8' | awk '{print $2}')x$(xwininfo -name DOTA\ 2\ -\ OpenGL | awk 'NR==9' | awk '{print $2}')" # input resolution OUTRES="1280x720" # output resolution QUAL="fast" # ultrafast < fast < normal medium VBITRATE="500k" ABITRATE="96k" STREAM_KEY=$(cat ~/.twitch_key) ffmpeg \ -f x11grab\ -s $INRES\ -i :0.0+$OFFSET_A_X,$OFFSET_A_Y\ -threads 0\ \ -f alsa -ac 2 -i default\ -ar 22050\ -ab $ABITRATE\ -c:a libmp3lame\ \ -vb $VBITRATE\ -c:v libx264\ -pix_fmt yuv420p\ -s $OUTRES\ -preset $QUAL\ \ -f flv "rtmp://live.twitch.tv/app/$STREAM_KEY"