From 4c87e3bda80b30613533c11ec201189999631dc3 Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Sun, 2 Mar 2025 18:03:22 -0300
Subject: bin/process: Add working version

Despite being very, very, very slow.  ffmpeg(1) says it runs at ~0.6x the video
speed, so it takes even longer to process than to record.
---
 bin/process | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100755 bin/process

(limited to 'bin')

diff --git a/bin/process b/bin/process
new file mode 100755
index 0000000..7f2bea6
--- /dev/null
+++ b/bin/process
@@ -0,0 +1,58 @@
+#!/bin/sh
+set -eu
+
+cd "${LIVEDIR:-~/Public/live/}"
+
+makefile_pre() {
+	cat <<'EOF'
+.POSIX:
+FFMFLAGS = -hide_banner -loglevel warning
+
+
+
+.SUFFIXES:
+.SUFFIXES: .mpd .webmx
+
+.mpd.webmx:
+	cd $(?D) && ffmpeg $(FFMFLAGS) -i $(<F) $(*F).webm
+	touch $@
+
+
+all:
+EOF
+}
+
+makefile_post() {
+	cat <<'EOF'
+
+sources.webmx = $(sources.mpd:.mpd=.webmx)
+
+all: $(sources.webmx) $(combined.webmx)
+
+$(combined.webmx):
+	ffmpeg $(FFMFLAGS) `printf ' -i %s' $?` $*.webm
+	ln $*.webm queue/$(*D).webm
+	touch $@
+EOF
+}
+
+mkdeps() {
+	find data/*/*/live.mpd | varlist 'sources.mpd'
+	find data/*/*/live.mpd | cut -d/ -f1 | sed 's|$|/combined.webmx|' |
+		LANG=POSIX.UTF-8 sort | uniq | varlist 'combined.webmx'
+	printf '\n'
+
+	find data/*/*/live.mpd | sed 's/^\(.*\)\.mpd$/\1.webmx: \1.mpd/'
+	find data/*/*/live.mpd | sed 's/^\(.*\)\.mpd$/\1.webm: \1.webmx/'
+	printf '\n'
+
+	find data/*/*/live.mpd | sed 's/\.mpd$/.webm/' | LANG=POSIX.UTF-8 sort |
+		awk -F/ '{ printf "%s/combined.webmx:\t%s\n", $1, $0 }'
+}
+
+
+{
+	makefile_pre
+	mkdeps
+	makefile_post
+} | make -f-
-- 
cgit v1.2.3