95 lines
3.1 KiB
Markdown
95 lines
3.1 KiB
Markdown
# 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](https://github.com/datproject/dat-desktop/pull/649)
|
|
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](https://github.com/datproject/dat/releases/download/v14.0.2/dat-14.0.2-linux-x64.zip),
|
|
[MacOS](https://github.com/datproject/dat/releases/download/v14.0.2/dat-14.0.2-macos-x64.zip)
|
|
or [Windows](https://github.com/datproject/dat/releases/download/v14.0.2/dat-14.0.2-win-x64.zip).
|
|
Then you can run the `dat` binary in the unzipped folder. On GNU/Linux, that
|
|
might look like the following commands.
|
|
|
|
```bash
|
|
$ 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.
|
|
|
|
```bash
|
|
$ dat create myfolder
|
|
```
|
|
|
|
Where `myfolder` is the folder you want to share with friends.
|
|
|
|
See the [Dat usage documentation](https://github.com/datproject/dat#usage) 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](https://icecast.org/) and
|
|
[OBS](https://obsproject.com/). It also seems to be possible to use plain old
|
|
[ffmpeg](https://www.ffmpeg.org/).
|
|
|
|
### 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](https://www.webmproject.org/).
|
|
|
|
### Setting up Icecast
|
|
|
|
TODO.
|
|
|
|
### Tweaking Icecast
|
|
|
|
- [Configuring Icecast](https://epir.at/2018/03/08/obs-icecast-streaming/)
|
|
|
|
### Converting Film File Formats
|
|
|
|
Trying the following so far.
|
|
|
|
```
|
|
$ ffmpeg -i myfilm.format myfilm.otherformat
|
|
```
|
|
|
|
It also seems to be possible to use [HandBrake](https://handbrake.fr/).
|
|
|
|
### Streaming to Icecast
|
|
|
|
TODO.
|