Skip to content
m33toh edited this page Apr 5, 2020 · 18 revisions

Micro Radio

The project

The goal of this project is to have an accessible, collaborative platform to publish alternative content - music, animation, news - from Lima, Peru.

Performances can have collaboration from people remotely. Music performances can have visuals so as not to be sad-alone-dj-style. The setup to stream content should be distributable and accessible from different parts of Lima and/or the world.

Table of Contents

Technologies
Streaming server
OBS
Website
Challenges
Equipment Needs

Technologies

If you want to learn how to start up an instance of the streaming server - go here

We are currently using a Google cloud account to host the streaming server.

Other services [Streamyard] (https://www.streamyard.com) Vultr was another service we were looking at.

Technical goal: We want to publish multiple streams to Youtube FB Twitch and save $ on paying for bandwidth.

Streaming Server

nginx + rtmp

We spin up an Ubuntu instance on Google Cloud. This instance uses docker to spin up the nginx-rtmp service.

More about rtmp module https://github.com/arut/nginx-rtmp-module
and how to set up nginx https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04

To publish multiple streams, we edit the config nginx.conf
Info on configs: https://www.iamjack.co.uk/blog/post/setting-multistream-server-nginx https://ricardobalk.nl/blog/RTMP%20Multiplexer%20with%20Nginx.html

Speed test to Google Compute Engine Brazil servers

http://cloudharmony.com/speedtest-for-google:compute-southamerica-east1

OBS

We use OBS to send audio/video to the server. https://obsproject.com/

To select the video source create a new Video Capture Device under the sources window.

Select the desired video capturing device and the devices resolution (1280x720)

In settings/stream select "Custom.." service and for server use use rtmp://SERVER_IP/NAME_OF_STREAM_APP At the moment we should leave the Stream key field blank.

Example rtmp://36.109.22.103/live
The stream can be viewed at the same address.

In settings/Output set the Video Bitrate to 5000k. In settings/video select 1280x720 for Base and Output resolution. Set the FPS to 24.

We are working on ways for different people / multiple machines to contribute.
More about that here

Website

Right now we have https://radiomolecula.com/ and https://molecularadio.com/ with Namecheap and site hosted on Netlify.

These are getting cancelled soon if we change our name.

Challenges

  • Facebook and rtmps
    Right now, facebook only uses rtmps protocol, which the nginx config doesnt like. We are using stunnel to get this protocol - https://dev.to/lax/rtmps-relay-with-stunnel-12d3.

  • Dynamic IP
    The Google instance is an ephemeral IP.
    We can get a static one at no cost, but also set up Dynamic IP with namecheap.

  • Bandwidth tests
    The stream from my home broadcast sucks. We need to figure out good bandwidth strategy.

  • Youtube copyright
    Youtube always seems to have a problem with some song or content, sometimes their errors make no sense.
    Maybe we don't broadcast on yt and just use fb and twitch.

Equipment needs

  • A streaming service or our gcloud server
  • Website/hosting
  • Good internet bandwidth to handle the upload and also support peoples use
  • Computer to upload the stream
  • Sound equipment - turntables, mic, cdjs, support for digital dj setup, mixer
  • Video equipment, for streaming visuals ;)
  • Studio space ?