Using IP Video Streaming

dt logo 1.5inchDrastic software supports a number of IP video standards in videoQC, Net-X-Code and other products.  To access these streams, a URL style string is used to describe them.  For some sources, like RTSP, this string is fairly standard.  For others, like NDI, a URL style has been developed to allow those streams to be specified.  Currently, udp://, rtp://, srt://, rtsp://, ndi://, s2022:// and s2110:// are supported.  This document describes the URLs' format in more detail.  We have also added some application specific notes for connecting our software to other applications.

 

Basic IP Video URLs

An IP video URL will always start with the type of stream you are expecting.  Some of the types include udp://, rtp://, rtsp://, ndi://, s2022:// and s2110://.  This will be followed by an IP address or resolvable name for the address of the stream.  For some streams there will be a port value, and then a description of the stream on that device.  For videoQC, there is also a special form that can be used to launch videoQC, FlowCaster iOS Player or FlowCaster Android Player automatically from a browser link.  For these, simply preface the link you want with videoqc:// and remove the extra colon from your link.

UDP and RTP

UDP and RTP streams can be elementary video or audio streams, or more commonly a transport stream with PMT/PAT and a number of streams within it. For UDP and RTP, you can specify a TCP (direct) address, but normally it will be a muticast group address, and also a port is normally specified.  Here are a few examples:

  • udp://239.254.40.40:5004
  • rtp://239.100.20.20:50004
  • rtp://239.100.30:31:1234

SRT

SRT streams contains a transport stream with PMT/PAT and a number of streams within it. For SRT you can specify an address and a port.  There are three modes for SRT:  listener, caller and rendezvous.  If you are a listener, you can only connect with a caller and visa versa.  For Rendezvous, both the sender and reciever must be in rendezvous more.  A password for encrypted service can also be set.   Here is some information on the modes:

  • listener - this has to be one of your local IP addresses, and acts as a server waiting for a connection, so it must be directly visible to the caller (not behind a firewall)
  • caller - this calls out to a remote IP that is running as a listener.  You must be able to reach the IP directly (e.g. no firewall)
  • rendezvous - this connects bi directionally, allowing it to connect through firewalls without extra configuration.  Each side of the rendezvous uses the external (internet facing) IP address of their internet connection.  This allows the signals to connect and pass through the firewall

Here are a few examples:

  • srt://239.254.40.40:5004?mode=listener
  • srt://172.12.25.20:5006?mode=caller
  • srt://239.100.30:31:1234?mode=caller&password=thisisapassword&user=thisisauser

Possible parameters include

  • mode=
    • caller
    • listener
    • rendezvous
  • password=<string>
  • keylen=16|24|32
  • username=<string>
  • streamid=#
  • latency=#
  • buffering=#
  • maxbw=#

RTSP

RTSP streams require not only the device address, but also the description of the source of the stream you are accessing on that device.  RTSP are also often user/password protected, so you may have to send a user/password in the form "<user>:<pass>@" just before the device identifier. Here are a few examples, and their sources:

  • rtsp://192.168.100.10/axis-media/media.amp  (an Axis camera)
  • rtsp://192.168.199.11/user:pass@/video1+audio1  (a Marshall camera, with password)
  • rtsp://192.168.160.20:/onvif/media.amp  (an OnVIF source)
  • rtps://192.168.150:11/video1?videocodec=h264  (a Marshall camera, video only, force h.264)

RTMP

RTMP is normally used to stream one video and one stereo audio channel to a website for distribution to multiple watchers.  In modern sites, the RTMP is actaully re-wrapped into HLS, which is then viewed by the end user.  To connect to an RTMP site, like flowcaster.live, youtube.com, and twitch.com, you will need the URL/Link and the key/secret.  For youtube, they are available after you 'go live' as the Stream URL and the Stream Key.  Once you have them, you simple add a slash and the Stream Key to the Stream URL.  For example

Stream URL:  rtmp://a.rtmp.youtube.com/live2

Stream Key:  j2bg-a6ck-8t48-w2y2-aaaa

Final URL:  rtmp://a.rtmp.youtube.com/live2/j2bg-a6ck-8t48-w2y2-aaaa

NDI

NDI is NewTek's video over IP protocol.  It requires a device name and a source name to access NDI sources.  NDI sources may also be searched on the local network. To enable the search, run DDRConfig and select the Advanced tab.  Go to /VVW/Config and change EnableNDISearch = 1.  If it does not exist, then create a new Numeric value for it.

ddrconfig enablendisearch

To specify an NDI stream, use the device name, followed by a space, and then the source name within brackets.

  • ndi://USER-PC (Desktop [2])
  • ndi://TestCameraSource (ISO_1)
  • ndi://PC2 (Google Chrome [1])

S2022 and S2110

The SMPTE 2022-6 and SMPTE 2110 protocols can be accessed via SDP or manual setup.  To access an SDP source:

  • s2202://192.168.101.200/channel1.sdp
  • s2110://mainsources.drastic.ca/crosspoint10.sdp

For some Drastic software, the source can be set up manually.  For S2022, this is a single set of Source IP, Source Port, Destination IP, Destination Port and Interface address.  One or any combination of these can be used the describe the source of the SMPTE 2022-6 stream, which contains all the video, audio and HANC/VANC channels.  For SMTPE 2110, up to three sets of the same information are required to describe the video, audio and anc streams, which are all separate.  A PTP grandmaster may also be specified.  Here is the configuration dialog from 4KScope:

S2022 SMPTE 2110 IP Config

videoQC URL/URI From Browser

videoQC supports being run from a browser, if installed on a Windows or macOS computer, with the special videoqc:// URL/URI.  This will also work on Apple and Android devices with our FlowCaster Player apps (available free from the app store).  In the case of videoqc://, it is not a protocol itself, but rather it loads the player and passes the rest of the protocol to it.  So if you wanted an automatic link to bring up the srt stream:  srt://239.100.30:31:1234?mode=caller&password=thisisapassword&user=thisisauser, you would add this to the videoqc:// start and remove its colon, as below:

videoqc://srt//239.100.30:31:1234?mode=caller&password=thisisapassword&user=thisisauser

Application Specific Notes

VLC (version 3.0.8 and greater)

VLC supports a number of streaming formats from the menu Media | Open Network Stream.  Here you can read our UDP://, RTP:// and SRT://.  If you are using multicast IP addresses (eg. 239.#.#.#), VLC prefers that you add an at sign (@) before the ip, like:

rtp://@239.240.30.30:5004

You can also use the @ sign to recieve on any address using just the port:

udp://@:5004

For SRT, VLC only suppports the being a 'caller', so our software needs to be set up as a listener.  A typical setup would be

SMPTE2NET:  srt://172.16.12.25:5000?mode=listener

VLC:  srt://172.16.12.25:5000

Assuming the IP 172.16.12.25 was the IP of the machine SMPTE2NET is running on.

OBS - Open Broadcast System

OBS supports UDP, RTP and SRT using its FFMPEG media reader.  It will support both listener and caller modes in the latest versions (26.0.2 or greater).  The reconnect is not 100% reliable, so if connection is lost, then you may have to open the source again to have it set up.  To add a UDP, RTP or SRT source, click the + button in the Source panel and select MediaSource.  In the Properties, unclick Local File, add the standard srt string, for listener or caller

srt://172.16.12.25:5000?mode=listener

Set the input format to "mpegts" without the quotes, and set up the bufferring and reconnect to taste.

Marshall and other Cameras

Most cameras we have tested operate as callers, so our software will have to be set up as a listener on the local IP the SRT stream is coming in on.  Alternately, you can use the all addresses mode by using the 0.0.0.0 IP

srt://0.0.0.0:5000?mode=listener

 

 

 

More great products from Drastic

Net-X-Copy - Camera Card Info
Net-X-Copy - Camera Card Info Net-X-Copy is part of the Net-X-Convert/Net-X-Proxy workstation and Net-X-Code server software. It supports, among other things, extracting clips from a nativ... Tips, Tricks and Technical Information
MRAnalyze - Command Line Interface
MRAnalyze - Command Line Interface MRAnalyzer is a command line tool that compares an original media file with a compressed version of that file to determine the quality of the compression and ... Tips, Tricks and Technical Information
Net-X-Code and Avid Interplay/MediaCentral Setup
Net-X-Code and Avid Interplay/MediaCentral Setup Avid Interplay/MediaCentral provides a convenient method to share media and projects among a group of Media Composer stations or other Avid products.  Dras... Tips, Tricks and Technical Information
SMPTE 2110, 2202 & RTP Multicast Setup
SMPTE 2110, 2202 & RTP Multicast Setup Most operating systems are not set up out of the box to handle heavy multicast loads. With some, multicast reception is actually disabled.  This article co... Tips, Tricks and Technical Information
Avid AMA Linking and Audio
Avid AMA Linking and Audio MediaReactor Workstation and MediaReactor Lite add support for a huge number of file formats to Avid Media Composer, including HEVC, AS-02, IMF, DNG, VRAW, CDX,... Tips, Tricks and Technical Information