aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-11 16:47:01 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-11 16:47:01 +0200
commite608b95bf1fe225915eaeafca2a933f687844733 (patch)
tree255b28a2d667af0729bb7829d6307324c0119fce /CLAUDE.md
parentfc509ae281c8cd0aa69870f6123a11e3519fb390 (diff)
downloadmeshbay-e608b95bf1fe225915eaeafca2a933f687844733.tar.gz
feat: Phase 10c — MSE video streaming (real-time playback)
Replace download-then-play VideoPlayer with MSE (MediaSource Extensions) streaming. Node remuxes to fMP4 via ffmpeg, probes codecs with ffprobe, and sends encrypted segments over DataChannel. Browser decrypts and appends to SourceBuffer — playback starts within seconds. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index dd816ef..9a0afea 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -185,6 +185,9 @@ SFR residential Fedora 44 → meshbay.org OVH VPS:
| GEK wrap AES (Python) | `meshbay_common.crypto` | Phase 10b.2 — `wrap_gek_aes()` / `unwrap_gek_aes()` |
| IndexedDB cache (browser) | `static/app.js` | Phase 10b.5 — group index caching |
| Cross-group search (browser) | `static/app.js` | Phase 10b.6 — SearchPage, client-side |
+| MSE video streaming (node) | `meshbay_node.transport.webrtc_server` | Phase 10c — ffmpeg fMP4 remux + encrypted segments |
+| MSE video streaming (browser) | `static/app.js` | Phase 10c — MediaSource + SourceBuffer progressive playback |
+| Video codec detection | `meshbay_node.transport.webrtc_server` | Phase 10c — `_probe_video()` ffprobe + MSE codec strings |
| Demo scripts | — | `QE/demo-v1/*.py`, `QE/demo-v2/*.py`, `QE/demo-v3/*.py` (not versioned) |
## meshbay.org server (état cible)