HLS demo channel — rendered from recorded Coinbase data
🔇 Sound offNo sound on iPhone? Turn up the volume and check the ring/silent switch.
Stream
Playlist—
Player—
CodecH.264 Main + AAC 128k, 1280×720@24
Audiomuted (autoplay)
Musiccourtesy of Truman Boyes
Segments—
Data captured—
Window replayed—
Segments loaded0
How this channel is made — honestly
- Workers can't encode video. So this channel is rendered off-edge by /workspace/crypto/hls/render.js: it pulls a snapshot of Coinbase public candles/stats, draws broadcast-style frames with Node canvas, and pipes raw frames into ffmpeg (libx264) which writes 4-second HLS segments.
- What you're watching is that pre-rendered 3-minute VOD playlist (video length matched to the soundtrack, with fade-in/fade-out at the loop point), served as static assets by the same Worker and looped by the player. It is a replay of recorded data, not live prices — the live view is the Realtime tab.
- Production version: run the generator in a container/VM fed by the live WebSocket feed and point ffmpeg at Cloudflare Stream Live (RTMPS/SRT ingest — RTMPS_URL=rtmps://live.cloudflare.com:443/live/<key> node hls/render.js). Stream then serves a real live HLS/DASH manifest; swap the playlist URL here for the Stream …/manifest/video.m3u8. Stream is a paid add-on and isn't enabled for this demo.