Skip to content

Specialized: Video Streaming Support #39

Description

@sanchxt

Description

Progressive download enabling video playback before transfer completes.

Requirements

  • CLI: yoop share video.mp4 --stream
  • Playback starts after 5-10% downloaded
  • Supported formats: MP4, MKV, AVI, MOV, WebM
  • Chunked transfer with prioritized header chunks
  • Options: Save file or stream-only mode
  • Pause/resume playback support

Technical Details

  • Transfer: Send header/moov atom first for MP4
  • Receiver: Write chunks to temp file, expose via HTTP range server
  • Player: System default or web-based (video.js)
  • Protocol: STREAM_MODE flag in transfer metadata

Streaming Flow

  1. Analyze file (detect format, extract header)
  2. Send header chunks first (priority queue)
  3. Send remaining chunks sequentially
  4. Receiver creates endpoint: http://localhost:9000/stream.mp4
  5. User opens in player while transfer continues

Limitations

  • Best with MP4/WebM (header at beginning)
  • MKV may require seeking
  • Network interruption pauses playback

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions