This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| ## Get current user's avatar. | |
| export USER_HOME=~ | |
| dscl . -read $USER_HOME JPEGPhoto | tail -1 | xxd -r -p > ~/Desktop/avatar.jpg |
| ##### | |
| # 1. Make sure the link, http://www.yourdomain.com/.well-known/acme-challenge/, works. | |
| ************************************************ | |
| * For apache httpd, add below to httpd.conf | |
| ************************************************* | |
| # Let's encrypt folder | |
| Alias "/.well-known/acme-challenge" "/letsencrypt/acme-challenge" | |
| <Directory "/letsencrypt/acme-challenge"> | |
| Options Indexes |
| #!/bin/bash | |
| ## Install cerbot, which can automatically generate, renew and deploying Let's Encrypt certificates. | |
| sudo apt-get update | |
| sudo apt-get install software-properties-common | |
| sudo add-apt-repository ppa:certbot/certbot | |
| sudo apt-get update | |
| sudo apt-get install certbot | |
| ## NOTE: Before proceeding with this step, ensure that your domain name points to the public IP address of the Bitnami application host. |
| # From: https://devcenter.heroku.com/articles/ssl-certificate-self | |
| openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 | |
| openssl rsa -passin pass:x -in server.pass.key -out server.key | |
| rm server.pass.key | |
| openssl req -new -key server.key -out server.csr | |
| // Common Name (e.g. server FQDN or YOUR name) []:localhost | |
| openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt |
| for f in `ls` | |
| do | |
| xxd -l 16 $f > xxd_result | |
| if grep -q Exif xxd_result; then | |
| echo $f.jpg | |
| mv $f $f.jpg | |
| else | |
| if grep -q ftypqt xxd_result; then | |
| echo $f.mov | |
| mv $f $f.mov |
| sudo apt-get install nginx | |
| WEB_ROOT=/var/www/html | |
| sudo rm -f ${WEB_ROOT}/*.m3u8 | |
| sudo rm -f ${WEB_ROOT}/*.ts | |
| gst_pid=`ps -A | grep gst-launch-1. | awk '{print $1}'` | |
| sudo kill -9 ${gst_pid} | |
| sudo gst-launch-1.0 videotestsrc is-live=true ! clockoverlay shaded-background="true" font-desc="Sans, 24" \ |
| sudo apt-get install -y build-essential libtool autotools-dev automake | |
| sudo apt-get install -y libsoup2.4-dev libjson-glib-dev libssl-dev autopoint gtk-doc-tools libgstreamer1.0-dev | |
| sudo apt-get install -y gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly | |
| gst-inspect-1.0 videotestsrc | |
| gst-inspect-1.0 decodebin | |
| gst-launch-1.0 filesrc location=test.mp4 ! decodebin ! fakesink | |
| # will generate playlist.m3u8 and segment[nnnnn].ts live in current folder, | |
| # server these files by HTTP server will get the hls stream. | |
| gst-launch-1.0 videotestsrc is-live=true ! x264enc ! mpegtsmux ! hlssink |
| [gui] | |
| [user] | |
| email = [email protected] | |
| name = Tao Ren | |
| [merge] | |
| summary = true | |
| [alias] | |
| co = checkout | |
| br = branch | |
| ci = commit |