Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env zsh
- f="${1-$$.mkv}"
- rate=30
- echo "Click a window to record.."
- coords=( $(xwininfo | awk '/Absolute upper-left [XY]:/ {print $4} /Width:|Height:/ {print $2}') )
- sleep 0.1
- aopts=(-f alsa -rtbufsize 1M -thread_queue_size 64 -i default)
- #aopts=(-f pulse -i default)
- #aopts=()
- ffmpeg -s $((coords[3]/2*2))x$((coords[4]/2*2)) -r $rate -f x11grab -show_region 1 -i ${DISPLAY}+${coords[1]},${coords[2]} $aopts -c:v libx264 -pix_fmt yuv420p -qp 0 -tune zerolatency -preset ultrafast -y $f
- #ffmpeg -s ${coords[3]}x${coords[4]} -r $rate -f x11grab -i ${DISPLAY}+${coords[1]},${coords[2]} -c zlib out.mkv
- if false
- then
- cd $(mktemp -d)
- ffmpeg -i out.mkv '%4d.png'
- echo -n "Press enter to make gif"
- read
- convert -delay $((100/rate)) -layers optimize *.png out.gif
- echo "$(pwd)/out.gif"
- echo "Press enter to remove temp files"
- read
- rm *.png out.mkv
- echo "$(pwd)/out.mkv"
- fi
- echo $f
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement