Note from the Sia Team: this is a guest post from Christoph Schaefer, a Sia community member. Thank you Christoph for your contribution!

Update on June 7: Sia v1.3.3 is now live! Download here.

Sia is decentralized cloud storage with a running network and working product. In the upcoming release v1.3.3 video streaming is featured. This allows you to store video files on the Sia network for a fraction of storage and traffic costs compared to other cloud storage providers.

When using Sia you need to run a Sia instance on your machine. This instance basically manages the files you upload to the network. Whenever you upload a file, Sia will split it apart into 30 or more pieces, encrypt each piece separately and upload the pieces to a number of hosts according to the number of pieces. Once the upload finished you can delete the file locally.

Starting from the upcoming version 1.3.3 the Sia API will provide a streaming endpoint in the renter module. Technically the renter module fetches the file pieces from all the hosts, decrypts and assembles them and streams the file to a capable media player e. g. VLC. All this is done on the fly, the video file is not buffered on the disk of the Sia instance. This is a great milestone, because:

From a technical point of view, this feature is needed if you share a video with someone else in the Sia network. So this is a real step towards the video sharing feature.

From use case point of view, this enables Sia to be deployed in business use cases for real. Video streaming platforms like Netflix, Amazon Prime TV, etc. can drastically reduce the cost for transferring data via 3rd party cloud platforms like AWS or Azure.

Do you want to try it out? This is how it works. First of all, you need a running Sia instance. Before you can upload a video you need to go through these steps:

Get yourself some Siacoin e. g. by trading on Bittrex or any other of the exchanges supporting Siacoin. Install and bootstrap Sia by downloading Sia-UI (will be downloadable here once v1.3.3 is officially released). A comprehensive how-to bootstrap is available here. Attention: Boostrapping should only be used for testing. If you plan to run a Sia instance for real never do a bootstrap but give Sia the time to fully download the consensus from the network. Create an Allowance (an Allowance allows your Sia instance to use a given amount of Siacoin to rent storage from hosts by forming smart contracts on the Sia blockchain). Wait some time until about 40 contracts have been formed and upload the video file. By the way, the time needed to form contracts has improved by factors in v1.3.3, it will take now only 5–10 minutes.

Sia UI ready for uploading files after running through steps 1–4 above.

After the video file has been uploaded you can prepare the URL you will need to paste to any app capable of streaming the video format of the uploaded file. In this example, I uploaded two mp4 files. I will use VLC to stream the video from the network. Check below images to see the uploaded files in the Sia-UI, the prepared URL, and the streaming video.

Two files uploaded to Sia root folder (/) ready to be streamed.

The URL shown in the screen below needed to stream the video reads like this:

http://localhost:9980/renter/stream/GOPR3390.MP4

In VLC’s “Open Media” dialog the URL has been entered to stream video GOPR3390.MP4 from.

After the initial loading time, the video starts to stream.

This first implementation step of video streaming provides the basic functionality and will be improved in upcoming Sia releases. Today 40 megabytes need to be downloaded before the video starts to play causing an initial loading time depending on the bandwidth of your internet connection. Furthermore, video streaming in this release is limited to your Sia instance. In the near future, you will be able to share videos with other Sia users according to Sia Feature Roadmap on Trello.

Sharing video files to users who are not on the Sia network is a long-term feature. Advanced concepts such as payment channels (e. g. lightning network connecting to other cryptographic currencies) or Microchains on the Sia network as proposed by Sia lead developer and CEO David Vorick are needed.

Thanks to Chris Schinnerl from Sia team for a brief interview on this new v1.3.3 feature allowing me to prepare this article for you.

Please leave a clap if you like this article and feel free to ask questions. Thank you for reading.