Add lab restream pipeline with pirate_drift logo and lib/env.sh.

Encode-once/fanout scripts, HLS output, and single overloadable env source.
Commits assets/pirate_drift.png as default watermark for cluster runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Anton Afanasyeu
2026-07-11 15:27:24 +02:00
parent d990862b64
commit 5ca8a9f539
27 changed files with 911 additions and 1 deletions

6
config/local.env.example Normal file
View File

@@ -0,0 +1,6 @@
# Copy to config/local.env — overrides lib/env.sh defaults (sourced last among repo config).
# HLS on disk for nginx / web player:
# HLS_OUTPUT_DIR="${ROOT}/storage/hls/live"
# Lab RTMP sinks: edit config/sinks.list or per-pipeline work dir sinks.list

View File

@@ -0,0 +1,5 @@
# RTMP (or other ffmpeg tee URL) destinations — fanout stage copies without re-encode.
# Lines starting with # are ignored.
#
# rtmp://127.0.0.1/live/stream_key
# rtmp://a.rtmp.youtube.com/live2/STREAM_KEY

14
config/sinks.list Normal file
View File

@@ -0,0 +1,14 @@
# Migrated from streaming_v0 (sanitized — replace STREAM_KEY / host for your lab).
# Active sinks for fanout-copy stage (stream copy, no re-encode).
#
# Local nginx-rtmp or MediaMTX lab ingest:
# rtmp://127.0.0.1/live/dev
#
# YouTube Live (lab only — paste stream key from YouTube Studio):
# rtmp://a.rtmp.youtube.com/live2/STREAM_KEY_HERE
#
# Twitch:
# rtmp://live.twitch.tv/app/STREAM_KEY_HERE
#
# Previous v0 hopto relay (example — do not use without your own endpoint):
# rtmp://your-relay.example.org/live/stream

View File

@@ -0,0 +1,6 @@
# One source per line: URL, file path, or page URL (yt-dlp when YTDLP_ENABLED=1).
# Optional second column: yt-dlp format selector (e.g. bv*+ba/b).
#
# https://example.com/live/master.m3u8
# /path/to/local/file.mkv
# https://www.youtube.com/watch?v=EXAMPLE bv*+ba/b

13
config/sources.list Normal file
View File

@@ -0,0 +1,13 @@
# Migrated from streaming_v0 (sanitized — no expiring CDN tokens or credentials).
# Format: URL [yt-dlp format selector]
#
# Page URLs (YouTube, etc.) — require YTDLP_ENABLED=1 in defaults.env or local.env
https://www.youtube.com/watch?v=WQ4mwufOjEI
https://www.youtube.com/watch?v=xaiQUHz8re4
https://www.youtube.com/watch?v=Z-QVb-3D6zA
https://www.youtube.com/watch?v=Trwer1xXYtY
https://www.youtube.com/watch?v=n2CxmPwqq8w
#
# Direct HLS / file examples (uncomment for tests)
# https://example.com/live/master.m3u8
# /path/to/local/recording.mkv

View File

@@ -0,0 +1,7 @@
# Copy to config/yt-dlp.auth.env — never commit real credentials.
# Sourced only when yt-dlp needs authenticated pages (lab / non-prod).
# YTDLP_USERNAME=
# YTDLP_PASSWORD=
# YTDLP_NETRC=1
# YTDLP_EXTRA_ARGS=--referer https://example.com/