summaryrefslogtreecommitdiffstats
path: root/roles/prerec
diff options
context:
space:
mode:
Diffstat (limited to 'roles/prerec')
-rw-r--r--roles/prerec/templates/Makefile55
1 files changed, 52 insertions, 3 deletions
diff --git a/roles/prerec/templates/Makefile b/roles/prerec/templates/Makefile
index 709a069..205fd42 100644
--- a/roles/prerec/templates/Makefile
+++ b/roles/prerec/templates/Makefile
@@ -1,5 +1,7 @@
# {{ ansible_managed }}
+# To recreate this file, use ansible-playbook -i inventory.yml prod-playbook.yml --tags prerec-make
+
VIDEO_EXTS = mp4 mkv webm mov
source_patterns = $(foreach ext,$(VIDEO_EXTS),$(1)--original.$(ext))
@@ -11,6 +13,7 @@ PRERECS_NORMAL := $(addsuffix --normalized.opus, $(PREFIXES))
PRERECS_MAIN := $(addsuffix --main.webm, $(PREFIXES))
PRERECS_CAPTIONS := $(addsuffix --reencoded.vtt, $(PREFIXES))
PRERECS_FINAL := $(wildcard emacsconf-*--final.webm)
+LINODE_BBB_ID := 67329098
.PHONY: all
@@ -38,10 +41,13 @@ emacsconf-%--reencoded.webm:
./reencode-in-screen.sh "$(SOURCE)"
emacsconf-%--reencoded.opus: emacsconf-%--reencoded.webm
- ffmpeg -i "$<" -c:a copy "$@"
+ ffmpeg -y -i "$<" -c:a copy "$@"
+
+emacsconf-%--answers.opus: emacsconf-%--answers.webm
+ ffmpeg -y -i "$<" -c:a copy "$@"
-emacsconf-%--normalized.opus: emacsconf-%--reencoded.opus
- ffmpeg-normalize "$<" -ofmt opus -c:a libopus -o "$@"
+# emacsconf-%--normalized.opus: emacsconf-%--reencoded.opus
+# ffmpeg-normalize "$<" -ofmt opus -c:a libopus -o "$@"
emacsconf-%--main.webm: emacsconf-%--reencoded.webm emacsconf-%--normalized.opus emacsconf-%--main.vtt
ffmpeg -i emacsconf-$*--reencoded.webm -i emacsconf-$*--normalized.opus -i emacsconf-$*--main.vtt \
@@ -49,15 +55,26 @@ emacsconf-%--main.webm: emacsconf-%--reencoded.webm emacsconf-%--normalized.opus
-map 2 -c:s webvtt -y \
$@
+emacsconf-%--main.webm: emacsconf-%--reencoded.webm emacsconf-%--normalized.opus
+ ffmpeg -i emacsconf-$*--reencoded.webm -i emacsconf-$*--normalized.opus \
+ -map 0:v -map 1:a -c:v copy -c:a copy \
+ -y $@
+
emacsconf-%--main.webm: emacsconf-%--reencoded.webm
cp "$<" "$@"
emacsconf-%--final.webm: emacsconf-%--main.vtt
mux-subs.sh "$@" "$<"
+emacsconf-%--main.opus: emacsconf-%--main.webm
+ ffmpeg -y -i "$<" -c:a copy "$@"
+
emacsconf-%--reencoded.vtt: emacsconf-%--reencoded.opus
whisperx --model large-v2 --align_model WAV2VEC2_ASR_LARGE_LV60K_960H --compute_type int8 --print_progress True --max_line_width 50 --segment_resolution chunk --max_line_count 1 --language en "$<"
+emacsconf-%--backstage--silences.csv: emacsconf-%--reencoded.opus
+ ffmpeg -i "$<" -af silencedetect=noise=-30dB:d=0.5 -f null - 2>&1 | awk '/silence_start/ {start=$$NF} /silence_end/ {print start "," (start + $$NF)}' > "$@"
+
show-files:
@echo "Original $(words $(PRERECS_ORIGINAL)):"
@echo "$(PRERECS_ORIGINAL)"
@@ -68,5 +85,37 @@ show-files:
@echo "Opus $(words $(PRERECS_OPUS)):"
@echo "$(PRERECS_OPUS)"
+bbb-testing:
+ @echo "Resizing BBB node to 8GB 4 core for testing"
+ linode-cli linodes resize 67329098 --type g6-standard-4 --allow_auto_disk_resize false
+ sleep 2m
+ @echo "Booting up"
+ linode-cli linodes boot 67329098
+ ssh root@bbb.emacsverse.org "cd ~/greenlight-v3; docker compose restart"
+
+bbb-dormant:
+ @echo "Shutting down"
+ ssh root@bbb.emacsverse.org "/usr/sbin/shutdown -h now &" || true
+ sleep 30
+ @echo "Powering off BBB node"
+ linode-cli linodes shutdown 67329098
+ sleep 30
+ @echo "Resizing BBB node to nanode, dormant"
+ linode-cli linodes resize 67329098 --type g6-nanode-1 --allow_auto_disk_resize false
+
+bbb-prod:
+ @echo "Resizing BBB node to production size"
+ linode-cli linodes resize 67329098 --type g6-dedicated-8 --allow_auto_disk_resize true
+ sleep 2m
+ @echo "Booting up"
+ linode-cli linodes boot 67329098
+
+live-dormant:
+ @echo "Resizing live0 node to nanode, dormant"
+ linode-cli linodes resize 17921960 --type g6-nanode-1 --allow_auto_disk_resize false
+ sleep 120
+ linode-cli linodes boot 17921960
+
+
rsync:
rsync -avzue ssh {{ emacsconf_caption_dir }}/cache/ orga@media.emacsconf.org:/var/www/media.emacsconf.org/{{ emacsconf_year }}/backstage/