Skip to content

Instantly share code, notes, and snippets.

View mreinstein's full-sized avatar
PUT the COFFEE....DOWN.

Michael mreinstein

PUT the COFFEE....DOWN.
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 \
@mreinstein
mreinstein / main.js
Created April 14, 2025 13:24
simple ringbuf example
import { RingBuffer } from "ringbuf.js";
import { Worker } from "worker_threads";
// https://github.com/padenot/ringbuf.js/blob/main/js/ringbuf.js
// https://github.com/padenot/ringbuf.js/blob/main/tests/test.mjs
async function main () {
const arraySize = Math.round(Math.random() * 48000);