Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Block Media Format (BMF)

An open, informal format for composable, on-chain-native audio/video — built from independently-owned media components plus a timing manifest. It is not a new codec (standard WebP / FLAC / MP3 inside) and not IANA-registered. It's a documented convention anyone may implement.

A "video" here isn't one fat encoded file — it's a tiny manifest of reusable media loops + a timing cue, where each component can be minted once, provenanced, and referenced many times.

Two file types

Ext Name What it is
.bmf Block Media Format The manifest: a timeline of media references (on-chain txid or local filename) with start-time cues. With txid references it is a fully on-chain composable video — the player fetches each component from chain.
.bmc Block Media Container The package: a ZIP holding one .bmf + the media files it references by local name. The portable, self-contained form.

A .bmc contains a .bmf + media; a standalone .bmf references on-chain content. One spec, two delivery forms.

60-second quickstart

  • A .bmf is a cue sheet — [mm:ss.cc]clip lines (LRC-compatible) or a JSON list carrying txids.
  • A player loads it, plays the audio, and switches scenes at each cue. Looping clips (animated WebP) restart from frame 0 on their cue, so they can be authored on the beat.
  • Bundle a .bmf with its media → a .bmc (portable). Or reference the media by txid → pure on-chain, nothing duplicated.

See SPEC.md for the full v0 spec and examples/ for a real cue.

Why

  • Store once, reference many — a clip used at five moments is one component + five cue lines.
  • Component-level provenance — every clip and the song is its own owned on-chain asset; a .bmf is a composition of owned parts.
  • Standard media inside — WebP (including variable-frame-rate: a long hold costs one frame), FLAC/MP3. Universally decodable.
  • Tempo-native — cues are absolute seconds; author them on the beat.

Status

v0 — informal / experimental. Reserved names (.bmf, .bmc), not IANA-registered. Informal MIME: application/x.bmf, application/x.bmc.

MIT licensed — implement it freely, on any chain or off-chain. Note the format's on-chain form needs a chain that can actually carry the media payloads; the format itself is open to all.

First real-world use: the "Supersonic" music-video mint (see examples/).

About

Block Media Format (BMF) — an open, MIT-licensed format for composable, on-chain-native audio/video (a manifest of reusable media loops + a timing cue).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors