Skip to content

Instantly share code, notes, and snippets.

View mreinstein's full-sized avatar
💥
ABC always be codin!

Michael Reinstein mreinstein

💥
ABC always be codin!
View GitHub Profile
@mreinstein
mreinstein / hls.sh
Created April 4, 2022 03:24
ffmpeg - generate hls videos from an input video
# how to generate hls outputs
# from https://ottverse.com/hls-packaging-using-ffmpeg-live-vod/
# had to make a slight adjustment for zsh by wrapping quotes around the -map params, as explained in https://stackoverflow.com/a/60290103/1927767
ffmpeg -i input.mp4 \
-filter_complex \
"[0:v]split=3[v1][v2][v3]; \
[v1]copy[v1out]; [v2]scale=w=960:h=540[v2out]; [v3]scale=w=480:h=270[v3out]" \
-map "[v1out]" -c:v:0 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:0 5M -maxrate:v:0 5M -minrate:v:0 5M -bufsize:v:0 10M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \
-map "[v2out]" -c:v:1 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:1 3M -maxrate:v:1 3M -minrate:v:1 3M -bufsize:v:1 3M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \

building on macos

Get all of the deps from brew:

brew update
brew upgrade
brew install hg git go cmake ninja