wiki.hbbs.decentral1.se/docs/index.md
2020-04-05 21:34:50 +02:00

3.1 KiB

Homebrew Bioscoop Wiki

[TOC]

File sharing with Dat

Dat is a peer-to-peer file sharing technology. It means we can share our files directly between our computers without using services like WeTransfer and Google Drive as an intermediate step. It is still an experimental technology but it's getting there.

We're still waiting on the newer more reliable version of Dat desktop to be released. Until that day comes, we have to use the command-line interface. Luckily, it's very easy to install.

To get started, just download and unzip this file for your operating system: GNU/Linux, MacOS or Windows. Then you can run the dat binary in the unzipped folder. On GNU/Linux, that might look like the following commands.

$ curl -sOL https://github.com/datproject/dat/releases/download/v14.0.2/dat-14.0.2-linux-x64.zip
$ unzip dat-14.0.2-linux-x64.zip
$ cd dat-14.0.2-linux-x64
$ ./dat --version   # just testing...

Then, creating a new Dat is as easy as the following.

$ dat create myfolder

Where myfolder is the folder you want to share with friends.

See the Dat usage documentation for more.

Video streaming with Icecast

Video streaming is hard. It seems to be more about how many data centers you have hardware in and what deals you've struck with ISPs for larger bandwidth. We don't have any of that.

The aim is to stream visual media between small numbers of friends on regular household laptops and old computers. We aim to explore what are the limits for the homebrew setup.

The Architecture

Most people seem to recommend Icecast and OBS. It also seems to be possible to use plain old ffmpeg.

Requirements

What are the CPU requirements? What are the bandwidth requirements? What kind of RAM do we need? What are the other things we need to take into account and how can we reason about the requirements for video streaming between friends? We hope to document all this as we find out.

Icecast Format

What is Icecast, the program?

Icecast is a streaming server, which can stream audio (and video) to listeners/viewers. It supports Ogg (Vorbis, Theora), Opus, FLAC and WebM (VP8/VP9), nonfree codecs/formats like MP4 (H.264, MPEG4), M4A, NSV, AAC and MP3 might work, but we do not officially support those.

So, we aim for WebM.

Setting up Icecast

TODO.

Tweaking Icecast

Converting Film File Formats

Trying the following so far.

$ ffmpeg -i myfilm.format myfilm.otherformat

It also seems to be possible to use HandBrake.

Streaming to Icecast

TODO.