Home | Specs | Blog | Forum | Profile | Github

USV - Universal Smart Video format



No need for complex binary editing and file duplication. Just open on any archiver as a .tar.gz file, and change any data yourself. Version it on your favorite VCS without relying on Git LFS. Don't want to edit it manually like a crazy scientist? It's ok, you can do it on a video editor, and the result will not be a brand new video, but just a edition.


After editing, use Aragon's Pando or Dat Protocol to version your changes, as a software being updated. Diff it as a natural folder.

Multi-connection (soon)

According to your network condition, USV videos are prioritarily downloaded at SQCIF quality (lower than 240p and even QCIF - and if you seed a higher quality, you could seed the lowest to help newcomers), ideal for slow/limited connections. But it supports up to 8640p (16K).

Multi-language (soon)

Why limiting to subtitles if you can have the option to watch the speaking in your native language? Some people dislikes subtitles as being distractive, making you lose details of scenes, and not accessible for who is blind. You can watch dubbed videos and contribute yourself with your team. A dubber is turning a serious talk into a comedy with a wrong dubbing? Change the dubber through voting (Aragon). If you want to learn a new language or can't hear (or simply hates dubbing and loves subtitles), subtitles are also supported using VTT format. Prefers SRT? Not a web standard, but also supported as USV is modular.


USV is made for the web, and more for the decentralized web (DWeb, Web3 or web 3.0). It is designed to fit any network and protocol with its modularity and lightweight design.

Interactive (soon)

Engage your audience in a brand new way. Instead of asking for a like or subscribe, show the buttons appearing on your hand. Use your creativity. There are more options for making your video interactive, such as cards, annotations and blockscreens.

CSS (Cascating Style Sheets) (soon)

Create or apply amazing effects, filters and transitions; as if your video were a webapp/HTML page.


By being lightweight, USV videos are playable even on a smart-watch. By being quality-scalable, it can be finely playable on a 16K televisor and upper through its modulary.


Like .zip, no compressed file formats does support live-streamming? Being a folder on classic web, Aragon's Pando or Dat Protocol makes USV streammable. Quality-scaling makes streams accessible for any device or connection. Also, a .usv file is a .tar.gz archive, which is streammable.

Table made thanks to divtable.com. Not a required credit, but voluntary act of thanks.

FAQs - Frequently Asked Questions

USV is a compressed file or a folder containing frames as images. Compressed file isn't streammable? And as folder, wouldn't it overload by downloading image by image? Why not use sprite sheets?

Compressed files like .zip aren't streammable, but USV file uses .tar.gz, which is streammable. As folder, by following HTTP/2 features, sprite sheets shouldn't be used. USV is open for decentralized networks/web3 that implement transport protocols that, like HTTP/2, supports stream of multiple images at the same request.

  • USV file is in .tar.gz
  • .tar.gz is streammable
  • USV video is compressed and streammable
  • Even as folder with individual images, a USV video is fast if using HTTP/2
  • ZeroNet/Dat/IPFS should have a transport that is fastest as HTTP/2

How to download a .tar.gz while extracting it, in a web browser?

That is yet being discussed.

  • Web Workers could be used

I don't want to seed the folder and the .tar.gz of the same USV video!

The idea is to not support a folder, but just the .tar.gz file.

But if versioning a .tar.gz with Dat, it will version a binary, which is a bloat!

True. Which is against the USV's point of being versionable. Also, using folders is bad for a video format, as you seed a folder, and other will seed a archive, splitting the same video in different formats, which is bad.

  • Dat and IPFS/Pando should receive a update to version inside a compressed file
  • Dat is already commited for supporting versioning inside compressed files.
  • Alternative workaround: video being a folder (Dat), and frames being .tar.gz file. But that is bad agains't its shareability (or not, as Dat is a different protocol, so one shares .usv - .tar.gz - for direct sharing, and other shares its Dat/IPFS URL as folder) - not practical, as the frames needs to also be versioned

Why JavaScript (usv.js and its US1 codec) instead of native language?

Following the openness of the Web and respecting the big amount of web developers that uses JavaScript (and the growing amount of web apps using PWA, Cordova and Electron), USV prefers to mainly support JavaScript. Closed-source/proprietary ARM and x86 are natively compatible with traditional video formats, but chips based on RISK-V could have JavaScript as native. But instead of being a JS-maximist - as a truly open and modular format - USV supports other languages, codecs and everything as its whole structure is replaceable. Regarding JavaScript, USV uses WASM (WebAssembly).

Is any USV video ready to have its Dat/IPFS URL?

Yes, as when Dat/IPFS/Pando supports versioning inside a compressed file, just upgrade the video as a compressed file, and its versioning will be kept.

  • Just create a USV video, upload its folder to ZeroNet/Dat/IPFS, and change/upgrade it when needed.

I want to directly download a 240p video instead of firstly downloading its SQCIF.

USV automatically skips a lower quality according to your network condition, and for a first time (usv.js) asks if user wants to seed the SQCIF version of videos.

If I download a 240p video, I don't want to seed its SQCIF quality!

You aren't obligued to seed it, but if you do this voluntary work, you will be helping newcomers that haven't a good network connection.

comment Comments Loading...

ZeroNet doesn't have a commenting system yet.
Last update in 10/05/2019 at 16:12
(c) 2017-2019 Universal Smart Video (.USV format) by Open Planet Initiative.