Stream Receiver

TealPlay includes a built-in UDP stream receiver that allows a video source to be sent directly to the player with relatively low latency (a few seconds or less). This feature is currently intended for institutional use in a laboratory, allowing wireless connections to in-room displays. It isn't currently the most user-friendly system.

TealPlay receiving a stream

Streaming to TealPlay has thus far only been tested with OBS Studio and requires some extremely particular settings in order to use. To begin, install OBS Studio on the system that will be streaming to TealPlay. Ensure that no firewalls are blocking the incoming UDP stream on the machine that is running TealPlay.

To enable stream reception, open TealPlay Settings (Tools...Settings) and navigate to the Network tab at the top. Place a check beside the Enable UDP stream receiver option. By default, TealPlay will receive the stream on UDP port 1954 and will preempt any currently displayed media in order to show the stream. When the sender disconnects, TealPlay will wait a default of 5 seconds (the Stream Death Interval) before returning to the playlist.

OBS Studio Configuration

Confusingly, OBS Studio does not appear to support UDP streaming from its "Stream" mode. Instead, it is necessary to configure Recording mode to transmit the stream. To make this configuration, open the OBS Studio settings, navigate to the Output category, then select the Recording tab. Be sure the Output Mode at the top is set to Advanced.

OBS Studio Settings

  1. Set the Type to Custom Output (FFmpeg)
  2. Set the FFmpeg Output Type to Output to URL
  3. Set the File path or URL to the udp URL of the machine running TealPlay, including the port number. For example, to test using OBS Studio and TealPlay on the same machine, use a URL of udp://127.0.0.1:1954
  4. Set the Container Format to mpegts
  5. Set the Video Bitrate to 2500 Kbps
  6. In some cases, reducing the Keyframe interval might reduce stream setup time
  7. For the Video Encoder, select libx264 - libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 option
  8. Next to Video Encoder Settings, enter the text: x264-params=nal-hrd=cbr:force-cfr=1 preset=medium profile=high pix_fmt=yuv420p tune=zerolatency bufsize=2500K
  9. Set the Audio Bitrate to 144 Kbps
  10. Set the Audio Encoder to aac - AAC (Advanced Audio Coding)
  11. Click OK to save the settings

Testing OBS

Add a Screen Capture scene to the Sources and select the desktop or window that you want to stream. Click the Start Recording button (NOT the "Start Streaming" button!) to begin the stream.

OBS Studio recording

If all goes well, you will see TealPlay begin to show the stream after about 10-15 seconds. Note that there will be some latency, which will vary from less than a second to a few seconds, depending on the speed of your network. You may need to adjust your OBS settings to optimize performance in your environment. Note, however, that QtMultimedia is quite fragile with input settings and may crash with certain stream parameters. Simply terminate and restart TealPlay (and try different stream settings) if this behavior should occur.