Multicast Video Streamer logo

Multicast Video Streamer beta

Streams live video as RTP multicast to your local network

This package can stream live recorded video from a Raspberry Pi Camera Module or other stream sources to your local network as an RTP multicast stream. You can then display that stream on any number of local Raspberry Pis running info-beamer hosted as well. There are also packages available that allow you to display the stream as a video wall. An example setup might look like this:

Example setup

So for a 2x2 video wall setup you need five Raspberry Pis total:

  • 1x Pi + Camera Module running this multicaster package
  • 4x Pi running an info-beamer video wall package

You can of course also use the package to stream to multiple independant screens: Just configure one of the video walls packages as a 1x1 video wall and it will show the complete stream in fullscreen.

In theory you might also try to use one of the Pi as both the live stream producer and a video wall display. Contact us if you want to learn how that might be done.

Setting up this package

Import this package into your info-beamer hosted account using the Import package button above. Create a setup based on the package. On the following configuration page you can configure how the multicaster captures the live video from the Camera Module or other sources.

Options

Video pipeline

Video streaming means fetching some input and producing some output. We might call that a video pipeline. For this packages its always fetching a stream from somewhere (or the camera) and sending it out as multicast to any number of receivers.

Video Source: The input part of the pipeline. There are five different options:

  • camera: Live streaming from the connected Camera Module
  • direct directly specify a Url that ffmpeg then fetches. This could in theory be used to forward an existing stream as multicast.
  • lkv373: Uses the LKV373 HDMI extender TX device to grab any HDMI input and forward it as multicast
  • streamlink: Fetching remote streams using the streamlink tool. This can be used to fetch YouTube videos or streams. Or Twitch. Or a lot more. You can find the full list of supported sources here.
  • b10x: Uses the B101/B102 from auvidea to capture HDMI.

Multicast target: Specifies the target multicast address. The default setting of 224.0.0.1:6970 should work out of the box and makes the stream available to all devices in your local network.

Direct stream options

Specify a url to an existing stream source that is directly fed into ffmpeg.

B10x options

Uses the auvideo B101 HDMI to CSI-2 bridge to capture a HDMI source at 1080p25 or 720p60.

Input: Sets the expected input resolution/framerate. Note that only the two provided modes are supported right now. Be sure to set your HDMI source to a compatible mode, otherwise you'll get a highly distorted video signal.

Reset PIN: The module has to be reset after capturing once. For example after you switch the configuration. The hardware includes wiring you can connect to your Pi's GPIO for that. Specify the PIN where you connected the Reset line of the B10X module here.

So we've only tested the B101 rev4 module. Using other modules might work as well but we can't help with problems. Right now it's also a problem if the input source changes its resolution/framerate or disconnects. You'll have to restart the capturing process after that. This is probably avoidable but we didn't look into that yet.

LKV373 stream options

Streams from an LKV373 HDMI Extender. You only need the TX unit. Connect its HDMI input port to any HDMI source (preferrable one that produces 1080p60) and the Ethernet output to the same network as your info-beamer device running this package.

LKV373 IP address: Specify the IP address of your LKV373 device. If you can, you should look into your DHCP server (probably your local router?) to find out the IP address. Alternatively you can also let this option empty. The multicaster package will try to autodetect the LKV373 in that case. Be aware that this is less reliable.

Bitrate: The intended bitrate of the captured stream. 4-7MBit should be enough.

The LKV373 can sometimes be unreliable and crash while setting streaming parameters. You can see that if you look at the Ethernet port. Usually the orange LED should be blinking constantly. If it doesn't, it means something is wrong. Try resetting the device using the reset button next to the Ethernet port.

Streamlink stream options

You can put in a url to any of the supported sources.

Camera encoding options

Resolution: The resolution of the captured video. Higher resolutions are slower to encode, so SD (1280x720) is usually recommended.

Bitrate: The bitrate of the generated video stream. For fairly static scenes, a lower bitrate is enough. If you have lots of movement, use a higher bitrate.

FPS: Frames per second captured. Together with the resolution as well as the bitrate, this determines how much work the hardware encoder has to do. You most likely won't be able to capture FullHD (1920x1080) with 60fps.

Show preview: If the live camera output should be shown on screen. This requires a bit of performance, so if you don't need the live preview, feel free to turn this preview off.

Camera image options

The remaining settings control how the camera is configured while capturing. The default settings work out of the box. If your camera is installed upside down, you can use the Flip video option to rotate the image by 180°.

Viewing your stream

You can use one of the following packages to show your stream.

Video Wall Image/Video Player

Displays images and videos on multiple screens arranged in a grid.

Magic Video Wall

Plays videos and images across multiple arbitrarily placed screens

They all have the option to specify a stream url next to their playlist setting. Instead of setting a playlist, just put in your stream url and you're ready to go. The stream url is always in the form of http://<device-IP>/stream.sdp. You can also see the url in the output of the device running the multicaster and of course also on its device detail page.

Versions

Version beta5

  • Updated streamlink

Version beta4

  • Added experimental for the B101/B102 auvideo boards. This allows you to capture HDMI input from a 1080p25 or 720p60 source.

Version beta3

  • Added experimental support for the LKV373 HDMI extender (TX). This can be used to capture any HDMI source with 720p60.

Version beta2

  • Added streamlink and direct stream input options. The result highly depends on the input stream, so result may vary.

Tips & Tricks

  • Always use Ethernet based networking for the multicaster and the viewer devices. WiFi just isn't reliable enough and due to packet loss you might end up with decoding artifacts on your receiving devices.

  • Switching resolutions might break playback on the receiver devices. So be careful with that.

  • Any configuration change made to this package results in a brief stream interruption as the recorder and sending pipeline is restarted.

Want to run Multicast Video Streamer on your Raspberry Pi?

This package is ready to run on your Raspberry Pi using info-beamer.com hosted. Easily manage unlimited number of Raspberry Pi devices and centrally configure and run visualizations like this on them. info-beamer.com is a prepaid service. You only pay for the resources you are using. No long term commitment, no hidden fees. Learn more...

Compatible devices

pi-1 pi-2 pi-3 pi-cm1 pi-cm3 pi-zero pi-zero-2

Offline support

Maybe This package might work offline: Package provides no offline support information. Also check the information above.

Copyright