shownotes-w3m-rice/ffmpeg_x11grab_screencast.txt

52 lines
2.4 KiB
Plaintext
Raw Normal View History

2012-05-30 21:34:43 +00:00
#-------- FFMPEG Screencasting
# compile ffmpeg: http://ubuntuforums.org/showthread.php?t=786095
# proper screencast: http://ubuntuforums.org/showthread.php?t=1392026
# Original Code:
ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 -y screencast_out.mkv
# -y = will overwrite output file
#Note: if u have problems with preset errors,
# run 'x264 -h' look for supported presets and replace it, like
# ultrafast, superfast, fast ...etc
#Note 2: If you like to scale down your videos at the same time when recording
# add in for example
# -vf "scale=1280:720"
#============================================
# This is What i Use
# Using FFmpeg, fullscreen capture scaled down to 16:9(1280:720) for youtube upload
ffx-fullscreen-hw() { ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 \
-s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 \
-acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 \
-vf "scale=1280:720" \
-y ~/Public/screencast/aa_screencast_baking.mkv ;}
ffx-fullscreen-pulse() { ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 \
-s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 \
-acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 \
-vf "scale=1280:720" \
-y ~/Public/screencast/aa_screencast_baking.mkv ;}
# Using FFmpeg, select specific single window with mouse to capture
ffx-windowspecific-hw() { ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 \
-s $(xwininfo -frame | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+') \
-i :0.0+$(xwininfo -frame | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' \
| grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/' ) \
-acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 \
-y ~/Public/screencast/aa_screencast_baking.mkv ;}
ffx-windowspecific-pulse() { ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 \
-s $(xwininfo -frame | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+') \
-i :0.0+$(xwininfo -frame | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' \
| grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/' ) \
-acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 \
-y ~/Public/screencast/aa_screencast_baking.mkv ;}