Skip to content

Instantly share code, notes, and snippets.

View bnerd's full-sized avatar
💭
Go with the flow.

Bernd Hansen bnerd

💭
Go with the flow.
View GitHub Profile
@bnerd
bnerd / ffmpeg
Created November 13, 2012 23:18
Encode RTMP input stream into multiple outputs with ffmpeg
ffmpeg -re -i rtmp://localhost/live/input_stream -acodec libfaac -ab 128k -vcodec libx264 -s 640x360 -b:v 500k -preset medium -vprofile baseline -r 25 -f flv rtmp://localhost/live/medium_500k -acodec libfaac -ab 128k -vcodec libx264 -s 480x272 -b:v 300k -preset medium -vprofile baseline -r 25 -f flv rtmp://localhost/live/medium_300k -acodec libfaac -ab 128k -c:v libx264 -s 320x200 -b:v 150k -preset:v fast -profile:v baseline -level 1.2 -r 25 -f flv rtmp://localhost/live/medium_150k -acodec libfaac -vn -ab 48k -f flv rtmp://localhost/live/audio_only
@bnerd
bnerd / index.js
Created March 10, 2012 11:54
Serve large files with Node.js
var libpath = require('path');
var http = require('http');
var fs = require('fs');
var url = require('url');
var bind_port = 8001;
var path = "/path/to/your/base_directory/";
http.createServer(function (request, response) {
var uri = url.parse(request.url).pathname;
var filename = libpath.join(path, uri);
@bnerd
bnerd / helm-rbac.md
Created July 27, 2017 09:35 — forked from mgoodness/helm-rbac.md
Helm RBAC setup for K8s v1.6 (tested on minikube)
kubectl -n kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
@bnerd
bnerd / inject.rb
Created November 16, 2012 16:08
Injecting Cuepoints with flvtool2
# inject cuepoints and zip newly files
Dir.glob('*.flv').each do |file|
newfile = file.gsub(/\.flv/, "_c.flv")
system("flvtool2 -APUt sterne.xml #{file} #{newfile}")
end
time = Time.now.strftime("%Y-%m-%d_%H-%M")
system("zip #{time}_sterne.flv.zip *_c.flv") # zip new flv's
system("zip #{time}_sterne.mov.zip *.mov") # zip mov's
@bnerd
bnerd / gist:5633545
Created May 23, 2013 08:37
ffmpeg: h264 encoding, simple
* crf
ffmpeg -i input -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv
* 2pass
ffmpeg -y -i input -c:v libx264 -preset medium -b:v 555k -pass 1 -an -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 555k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4
* lossless
@bnerd
bnerd / enc_h264.sh
Created November 23, 2012 08:44
Simple Encoding with ffmpeg
ffmpeg -i input -r 25 -b:v 1M -bt:v 1.6M -vcodec libx264 -preset medium -acodec -acodec libfaac -ac 2 -ar 44100 -b:a 128k output.mp4
@bnerd
bnerd / gist:7871917
Created December 9, 2013 12:59
stream local file with vlc (rtp)
vlc -vvv "/home/besu/Desktop/demo.mp4" --sout "#transcode{venc=x264{keyint=60,profile=baseline,level=3.0,nocabac},vcodec=x264,vb=1800,scale=0.5,acodec=mp4a,ab=96,channels=2,samplerate=48000}:rtp{dst=127.0.0.1,port=10000,mux=ts}"
@bnerd
bnerd / gist:5682055
Created May 30, 2013 23:25
Watch and compile SCSS and CoffeeScript
coffee -o javascripts/ -cw coffeescript/
sass --watch scss/:css/
@bnerd
bnerd / gist:5648644
Created May 25, 2013 10:38
Bash: Remove Gedit Temp Files
find . -name '*~' -print0 | xargs -0 /bin/rm -f
@bnerd
bnerd / gist:5402736
Created April 17, 2013 08:33
Wowza Secure URL Params
For FFMPEG:
rtmp://[wowza-address]:1935/live?bar=foo/streamname
In FMLE:
rtmp://[wowza-address]:1935/live?bar=foo
--
<Name>secureurlparams.publish</Name>
<Value>foo.bar</Value>