- fps="24"; \
- > vid="screencast_${fps}fps"; \
- > crf="23"; \
- > preset="slower"; \
- > pushd /tmp/ && \
- > ffmpeg -y -f x11grab -show_region 1 -r ${fps} -s 1920x1080 -i :0.0+0,0 -an -c:v libx264 -preset ultrafast -qp 0 -threads 0 /dev/shm/${vid}.mp4 && \
- > ffmpeg -y -ss 00:00:02 -i /dev/shm/${vid}.mp4 -an -c:v libx264 -preset ${preset} -crf ${crf} -s 1920x1080 -s hd720 -sws_flags lanczos -threads 0 ~/${vid}_${crf}crf_${preset}_`date +%F_%H%M%S`.mp4 && \
- > popd && ls -l /dev/shm/${vid}*.mp4 && ls -l ~/${vid}*.mp4 && rm --interactive /dev/shm/${vid}*.mp4
- /tmp ~
- ffmpeg version 2.1 Copyright (c) 2000-2013 the FFmpeg developers
- built on Nov 12 2013 22:27:32 with gcc 4.7.3 (Gentoo 4.7.3-r1 p1.3, pie-0.5.5)
- configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O2 -pipe' --extra-cflags='-march=native -O2 -pipe' --extra-cxxflags='-march=native -O2 -pipe' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-version3 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --disable-openssl --enable-ffplay --disable-vaapi --enable-vdpau --enable-zlib --enable-libvo-aacenc --disable-libvo-amrwbenc --enable-libmp3lame --disable-libaacplus --disable-libfaac --enable-libtheora --disable-libtwolame --disable-libwavpack --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-libv4l2 --enable-libpulse --enable-x11grab --disable-libflite --enable-frei0r --enable-fontconfig --disable-ladspa --disable-libass --enable-libfreetype --disable-libsoxr --enable-pthreads --disable-libopencore-amrwb --disable-libopencore-amrnb --enable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --enable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --enable-libschroedinger --disable-libspeex --enable-libvorbis --disable-libvpx --disable-libzvbi --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-avx2 --disable-mmxext --disable-vis --disable-neon --cpu=host
- libavutil 52. 48.100 / 52. 48.100
- libavcodec 55. 39.100 / 55. 39.100
- libavformat 55. 19.104 / 55. 19.104
- libavdevice 55. 5.100 / 55. 5.100
- libavfilter 3. 90.100 / 3. 90.100
- libavresample 1. 1. 0 / 1. 1. 0
- libswscale 2. 5.101 / 2. 5.101
- libswresample 0. 17.104 / 0. 17.104
- libpostproc 52. 3.100 / 52. 3.100
- [x11grab @ 0x2647a80] device: :0.0+0,0 -> display: :0.0 x: 0 y: 0 width: 1920 height: 1080
- [x11grab @ 0x2647a80] shared memory extension found
- Input #0, x11grab, from ':0.0+0,0':
- Duration: N/A, start: 1384781806.563848, bitrate: 1592524 kb/s
- Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 1592524 kb/s, 24 tbr, 1000k tbn, 24 tbc
- [swscaler @ 0x2638940] deprecated pixel format used, make sure you did set range correctly
- No pixel format specified, yuv444p for H.264 encoding chosen.
- Use -pix_fmt yuv420p for compatibility with outdated media players.
- [libx264 @ 0x26665b0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
- [libx264 @ 0x26665b0] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
- [libx264 @ 0x26665b0] 64 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=12 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=24 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
- Output #0, mp4, to '/dev/shm/screencast_24fps.mp4':
- Metadata:
- encoder : Lavf55.19.104
- Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1920x1080, q=-1--1, 12288 tbn, 24 tbc
- Stream mapping:
- Stream #0:0 -> #0:0 (rawvideo -> libx264)
- Press [q] to stop, [?] for help
- frame= 564 fps= 11 q=-1.0 Lsize= 44879kB time=00:00:23.50 bitrate=15644.7kbits/s
- video:44875kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.008480%
- [libx264 @ 0x26665b0] frame I:3 Avg QP: 0.00 size:1098110
- [libx264 @ 0x26665b0] frame P:561 Avg QP: 0.00 size: 76039
- [libx264 @ 0x26665b0] mb I I16..4: 100.0% 0.0% 0.0%
- [libx264 @ 0x26665b0] mb P I16..4: 31.0% 0.0% 0.0% P16..4: 0.7% 0.0% 0.0% 0.0% 0.0% skip:68.3%
- [libx264 @ 0x26665b0] coded y,u,v intra: 12.9% 12.0% 12.1% inter: 0.7% 0.7% 0.7%
- [libx264 @ 0x26665b0] i16 v,h,dc,p: 90% 10% 0% 0%
- [libx264 @ 0x26665b0] kb/s:15643.23
- ffmpeg version 2.1 Copyright (c) 2000-2013 the FFmpeg developers
- built on Nov 12 2013 22:27:32 with gcc 4.7.3 (Gentoo 4.7.3-r1 p1.3, pie-0.5.5)
- configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O2 -pipe' --extra-cflags='-march=native -O2 -pipe' --extra-cxxflags='-march=native -O2 -pipe' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-version3 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --disable-openssl --enable-ffplay --disable-vaapi --enable-vdpau --enable-zlib --enable-libvo-aacenc --disable-libvo-amrwbenc --enable-libmp3lame --disable-libaacplus --disable-libfaac --enable-libtheora --disable-libtwolame --disable-libwavpack --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-libv4l2 --enable-libpulse --enable-x11grab --disable-libflite --enable-frei0r --enable-fontconfig --disable-ladspa --disable-libass --enable-libfreetype --disable-libsoxr --enable-pthreads --disable-libopencore-amrwb --disable-libopencore-amrnb --enable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --enable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --enable-libschroedinger --disable-libspeex --enable-libvorbis --disable-libvpx --disable-libzvbi --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-avx2 --disable-mmxext --disable-vis --disable-neon --cpu=host
- libavutil 52. 48.100 / 52. 48.100
- libavcodec 55. 39.100 / 55. 39.100
- libavformat 55. 19.104 / 55. 19.104
- libavdevice 55. 5.100 / 55. 5.100
- libavfilter 3. 90.100 / 3. 90.100
- libavresample 1. 1. 0 / 1. 1. 0
- libswscale 2. 5.101 / 2. 5.101
- libswresample 0. 17.104 / 0. 17.104
- libpostproc 52. 3.100 / 52. 3.100
- Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/dev/shm/screencast_24fps.mp4':
- Metadata:
- major_brand : isom
- minor_version : 512
- compatible_brands: isomiso2avc1mp41
- encoder : Lavf55.19.104
- Duration: 00:00:23.50, start: 0.000000, bitrate: 15644 kb/s
- Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 1920x1080, 15643 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
- Metadata:
- handler_name : VideoHandler
- No pixel format specified, yuv444p for H.264 encoding chosen.
- Use -pix_fmt yuv420p for compatibility with outdated media players.
- [libx264 @ 0x738120] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
- [libx264 @ 0x738120] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
- [libx264 @ 0x738120] 264 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=8 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=9 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=12 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
- Output #0, mp4, to '/home/drslony/screencast_24fps_23crf_slower_2013-11-18_143737.mp4':
- Metadata:
- major_brand : isom
- minor_version : 512
- compatible_brands: isomiso2avc1mp41
- encoder : Lavf55.19.104
- Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1280x720, q=-1--1, 12288 tbn, 24 tbc (default)
- Metadata:
- handler_name : VideoHandler
- Stream mapping:
- Stream #0:0 -> #0:0 (h264 -> libx264)
- Press [q] to stop, [?] for help
- frame= 516 fps= 10 q=-1.0 Lsize= 2971kB time=00:00:21.41 bitrate=1136.6kbits/s
- video:2966kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.183754%
- [libx264 @ 0x738120] frame I:3 Avg QP:19.16 size:108997
- [libx264 @ 0x738120] frame P:311 Avg QP:23.88 size: 7778
- [libx264 @ 0x738120] frame B:202 Avg QP:29.01 size: 1438
- [libx264 @ 0x738120] consecutive B-frames: 43.6% 8.5% 12.2% 35.7%
- [libx264 @ 0x738120] mb I I16..4: 34.4% 23.0% 42.6%
- [libx264 @ 0x738120] mb P I16..4: 1.5% 2.9% 2.3% P16..4: 4.2% 0.8% 0.8% 0.0% 0.0% skip:87.6%
- [libx264 @ 0x738120] mb B I16..4: 0.1% 0.5% 0.2% B16..8: 3.4% 0.4% 0.2% direct: 0.3% skip:94.9% L0:43.8% L1:53.9% BI: 2.4%
- [libx264 @ 0x738120] 8x8 transform intra:42.5% inter:51.3%
- [libx264 @ 0x738120] direct mvs spatial:95.5% temporal:4.5%
- [libx264 @ 0x738120] coded y,u,v intra: 60.1% 29.1% 30.5% inter: 1.6% 0.5% 0.5%
- [libx264 @ 0x738120] i16 v,h,dc,p: 47% 44% 6% 3%
- [libx264 @ 0x738120] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 23% 10% 6% 6% 7% 8% 7% 12%
- [libx264 @ 0x738120] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 26% 7% 5% 5% 5% 5% 5% 8%
- [libx264 @ 0x738120] Weighted P-Frames: Y:0.0% UV:0.0%
- [libx264 @ 0x738120] ref P L0: 43.9% 12.3% 15.8% 8.9% 5.5% 4.9% 4.5% 2.1% 2.0%
- [libx264 @ 0x738120] ref B L0: 78.8% 8.2% 5.8% 1.9% 1.3% 2.7% 1.3%
- [libx264 @ 0x738120] ref B L1: 89.1% 10.9%
- [libx264 @ 0x738120] kb/s:1129.87
- ~
- -rw-r--r-- 1 drslony drslony 45956410 Nov 18 14:37 /dev/shm/screencast_24fps.mp4
- -rw-r--r-- 1 drslony drslony 3042794 Nov 18 14:38 /home/drslony/screencast_24fps_23crf_slower_2013-11-18_143737.mp4
- rm: remove regular file ‘/dev/shm/screencast_24fps.mp4’? n
- drslony@overkill ~ $ ffplay screencast_24fps_23crf_slower_2013-11-18_143737.mp4
- ffplay version 2.1 Copyright (c) 2003-2013 the FFmpeg developers
- built on Nov 12 2013 22:27:32 with gcc 4.7.3 (Gentoo 4.7.3-r1 p1.3, pie-0.5.5)
- configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O2 -pipe' --extra-cflags='-march=native -O2 -pipe' --extra-cxxflags='-march=native -O2 -pipe' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-version3 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --disable-openssl --enable-ffplay --disable-vaapi --enable-vdpau --enable-zlib --enable-libvo-aacenc --disable-libvo-amrwbenc --enable-libmp3lame --disable-libaacplus --disable-libfaac --enable-libtheora --disable-libtwolame --disable-libwavpack --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-libv4l2 --enable-libpulse --enable-x11grab --disable-libflite --enable-frei0r --enable-fontconfig --disable-ladspa --disable-libass --enable-libfreetype --disable-libsoxr --enable-pthreads --disable-libopencore-amrwb --disable-libopencore-amrnb --enable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --enable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --enable-libschroedinger --disable-libspeex --enable-libvorbis --disable-libvpx --disable-libzvbi --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-avx2 --disable-mmxext --disable-vis --disable-neon --cpu=host
- libavutil 52. 48.100 / 52. 48.100
- libavcodec 55. 39.100 / 55. 39.100
- libavformat 55. 19.104 / 55. 19.104
- libavdevice 55. 5.100 / 55. 5.100
- libavfilter 3. 90.100 / 3. 90.100
- libavresample 1. 1. 0 / 1. 1. 0
- libswscale 2. 5.101 / 2. 5.101
- libswresample 0. 17.104 / 0. 17.104
- libpostproc 52. 3.100 / 52. 3.100
- Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'screencast_24fps_23crf_slower_2013-11-18_143737.mp4':
- Metadata:
- major_brand : isom
- minor_version : 512
- compatible_brands: isomiso2avc1mp41
- encoder : Lavf55.19.104
- Duration: 00:00:21.50, start: 0.000000, bitrate: 1132 kb/s
- Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 1280x720, 1130 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
- Metadata:
- handler_name : VideoHandler
- 12.09 M-V: -0.031 fd= 383 aq= 0KB vq= 1KB sq= 0B f=0/0