Skip to content

The LBRY format is an application format designed to promote interoperability and transmission of complex digital media.

License

Notifications You must be signed in to change notification settings

upsided/lbry-format

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROPOSAL STAGE

LBRY File Format

The LBRY format is a multimedia-format designed to promote interoperability and transmission of complex digital media.

What It's For

A lbry-format file is a compressed web site, much like a zip file. More specifically, it's a directory of files individually zipped with Zstandard, then collected into a tar archive.

It is recognized and launched by the LBRY-desktop app to enable rich, interactive media in the client.

When the LBRY desktop app encounters the .lbry extension, and the user presses "play," it decompresses the .lbry file, launches a sandboxed web server in the background, and 'serves up' this file like a real web server might.

This enables a lot of possibilities. To see what is currently possible with this format, check out the LBRY channel @OpenSourceGames.

There are more restrictions to a .lbry archive than normal websites, because of the security issues and the fact that it's not running on a domain.

Name

  • Name Format: *.lbry
  • Character Set: UTF-8
  • Extension: lbry

Metadata

  • Media Type: application/x-lbry

Container

  • Compression: Zstandard
  • Archival: tar

Contents

Descriptor

  • Format: JSON, UTF-8

lbry-format

Requirements

Usage

WARNING: These method signatures will change as the JSON Descriptor is finalized.

Install npm i https://github.com/lbryio/lbry-format.git

Pack

const lbryFormat = require('lbry-format');

// Pack `./` to `package.lbry`
lbryFormat.packDirectory('./', {
  fileName: 'package.lbry',
});

Unpack

const lbryFormat = require('lbry-format');

// Unpack `package.lbry` to `./`
lbryFormat.unpackDirectory('./', {
  fileName: 'package.lbry',
});

About

The LBRY format is an application format designed to promote interoperability and transmission of complex digital media.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%