Skip to content

Feature Request: MPEG-DASH Streaming Extension (Draft) #15

@baconpantsuppercut

Description

@baconpantsuppercut

Feature Request: MPEG-DASH Streaming Extension (Draft)

Summary

Define an optional arkA extension for MPEG-DASH (Dynamic Adaptive Streaming over HTTP), allowing creators and clients to use .mpd manifests and segmented video for adaptive streaming.

This mirrors the HLS extension but supports the DASH ecosystem commonly used outside Apple environments.


Motivation

DASH is widely used in modern video infrastructure because it provides:

  • adaptive bitrate switching
  • excellent CDN performance
  • flexible container formats
  • broad cross-platform compatibility (Android, Smart TVs, etc.)

arkA’s core intentionally avoids forcing any one streaming method.
But offering DASH as an extension gives advanced creators and client developers more choices.

This extension stays optional, keeping the protocol simple for beginners.


Proposed Design

Add a new source type:

{
  "type": "dash",
  "manifest": "https://example.com/video/manifest.mpd",
  "profiles": ["full", "on-demand"],
  "codecs": ["h264", "aac"]
}

Clients that support DASH:

  • load the .mpd manifest
  • use adaptive bitrate based on network conditions
  • ignore direct file sources unless needed

Clients that don’t support DASH:

  • fall back to MP4/WebM

A full draft spec will live in:
/docs/extensions/dash.md


Tasks

Protocol Definition

  • Define type: "dash" source format
  • Manifest URL field
  • Optional profiles (live, VOD)
  • Optional codec descriptors
  • Specify fallback behavior

Documentation & Examples

  • Add /docs/extensions/dash.md
  • Add DASH example to /examples/video-dash.json
  • Update architecture docs to mention extension capability

Optional Client Work

  • Add DASH playback via dash.js
  • Fallback to direct file when unsupported
  • Minimal UI indicator for adaptive streaming

Open Questions

  • Should DASH and HLS share a common extension schema structure?
  • Do we support low-latency DASH in v1 or wait until v1.1?
  • Are IPFS/Arweave-hosted manifests practical for DASH?

Goal

A simple, optional DASH extension that advanced creators can use and client developers can implement without adding complexity to arkA’s core.


Status: Open for contributors
Labels: extension, video, protocol, streaming, help wanted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions