Skip to main content

Contribution on low budget

So we would like to take video contributions from anyone, but transmitting from location is traditionally very expensive. The leader of the pack are the products from TeraDek, and you should for proper production and broadcast consider these products.

But now, the poor mans version.

FMLE -> RTMP stream -> crtmpserver -> RTSP stream -> vMix/Vidblaster Stream Input RTSP over TCP -> External SDI -> CasparCG

The building blocks

Flash Media Live Encoder ( Mac or Windows )

Still probably one of the standards and used by a number of other products to be able to stream. This can be used stand alone as it takes a video and audio input, or with a number of software mixer. It is also available for Mac and Windows.

We will use the RTMP streaming and you need to match the output quality and data rate to what bandwidth is available.


The "FMS URL" and "Stream" will be where we are running the crtmpserver.

CRTMPserver ( Linux )

Small project that I think has gone unnoticed in the work of streaming, but ends up to be the quickest way to get the stream from a to be.

In my case I have a hosted webserver available and it was very quick to simple download (do not use the disto versions) the latest build, make a simple configuration change and launch it.

The change to the configuration is to enable the RTSP streaming option, and can be done in configs/flvplayback.lua file that is part of the download. Simple remove the remarks for the section

ip="0.0.0.0",
port=554,
protocol="inboundRtsp"
},

And launch as root to gain access to the port under 1024

sudo ./run_flvplayback.sh

I suggest doing this in a screen so you can keep an eye on it while making the connections.

Vmix & Vidblaster ( Windows )

Both these products are live video mixing environments, with graphical capabilities. They both can also output in a number of formats which includes SDI support.

In our case we have the Vmix with a BlackMagic Decklink Quad and we send the SDI outputs into the head end.


Putting it all together:
  1. Start the crtmpserver by running "sudo ./run_flvplayback.sh"
  2. You want to see inbound services:
  3. Now enter the correct "FMS URL" into FMLE. The crtmpserver needs to change to your server, but leave the flvplayback the same, as that is the application name we used in crtmpserver.
  4. Press the connect button, and you should see some movement on crtmpserver
  5. You can now start the stream in FMLE which should generate more activity in crtmpserver. Seeing the stream register against the application is a very good sign. You will notice the name is the same as the value you have in "Stream"
  6. Connect from the client: The client will be connecting to the RTSP stream, and this stream excludes the application name. So the connection string would be rtsp://crtmpserver/live

    1. VidBlaster
      Modules -> Add -> IP streamer
    2. vMix
      Add input -> Stream -> RTSP over TCP
That is it!

Hope you have fun.

Popular posts from this blog

Double Bunk in Caravan

With our family expanding, we faced a challenge of adding another berth in our caravan, but I did not want to make it permanent.
A couple of options are available, of which one is simply to add a bunk to the single berth. We however did not want to cause any permanent markings on the interior of the caravan .

Netdata + SNMP + Mikrotik

Always wanted to see my Internet line usage as a gauge without having to log into the router.
So today I configured SNMP in Netdata to collect from my Mikrotik router.
/etc/netdata/node.d/snmp.conf:
{
"enable_autodetect": false,
"update_every": 5,
"max_request_size": 100,
"servers": [
{
"hostname": "10.1.1.1",
"community": "public",
"update_every": 5,
"max_request_size": 50,
"options": { "timeout": 20 },
"charts": {
"mikrotik1.cpu": {
"title": "CPU ",
"units": "percentage",
"type": "line",
"family": "cpu",
"dimensions": {
"used": {
&qu…

CasparCG Simple Playlist

It is possible to build a simple playlist as a rundown in the CasparCG client. It will very simply play each item after each other that are on the same layer. In this very simple post I show how to build such a playlist including the very important step of activating the OSC.

The Open Sound Control (OSC) implementation is how the client knows what the server is doing and then being able to send new command back to the server when a piece of media has ended to trigger playback of the next piece. For more details on the OCS, please see http://casparcg.com/wiki/CasparCG_OSC_Protocol