FAQ

Flussonic and SRT

Stream source sample link for “Flussonic”:

srt://Stream_IP:port?streamid=flussonic

streamid - “Flussonic” client login, set up in “Configuration - Peers Settings”.

When adding a new peer, it is enough to specify only the login, in sample link it is - “flussonic”. “Flussonic” software generates stream ID automatically when using SRT, so you should set up login as stream ID in stream link to receive the stream.

You can set streamid/login with IP address format:

srt://Stream_IP:port?streamid=Your_IP

In this case client will be binded to IP address and it will be possible to receive via this link only from a specific IP address.

SRT and third part software authorization

SRT login/password authorization between two instances of Perfect Streamer works from the box and is configured via the corresponding fields in input and output , but work with other software is not guaranteed. This functionality is not standardized and is implemented in different ways in different software.

To ensure work between Perfect Streamer and other software, an authorization mechanism has been implemented through the creation of a peer, where the peer’s name will be equal to the stream ID value. For example with link:

srt://Stream_IP:Your_IP?streamid=!#::u=1234567890,password=1234567890

Peer name:

!#::u=1234567890,password=1234567890

Stream ID synthax doesn’t matter for Perfect Streamer, any values up to 511 symbols are supported.

Different SRT receivers could send stream ID with different format, so if receiving doesn’t work you can switch on tracing option in SRT output settings and find the reason of issue in the stream log, for example you can see how actually the receiver generates the stream ID. This information can help you fix the stream ID.

RTSP and RTMP support in Perfect Streamer using FFmpeg

You can use STD input type to support RTSP, RTMP and other third-party software in Perfect Streamer out of the box. You can use FFmpeg, GStreamer, and any other applications which are supported output to stdout.

FFmpeg example:

  1. Select std input type.

  2. Specify the path to FFmpeg in Cmd: /usr/bin/ffmpeg.

  3. Enter the command args for receiving the stream in Args field:

-loglevel error -i rtmp://192.168.1.29/channelTV/chanelSD -c copy -f mpegts -

or

-loglevel error -i rtsp://viewer:viewer200@172.31.91.197:554/play1.sdp -c copy -f mpegts -

If the stream from camera does not contain audio track, errors will appear in stream report page. To suppress them, set Only Video option in stream settings.

Third-party applications support in documentation.

RTSP, RTMP and SMPTE color bars generator support in Perfect Streamer using GStreamer

You can use STD input type to support any third-party protocols and software in Perfect Streamer out of the box. You can use FFmpeg, GStreamer, and any other applications which are supported output to stdout.

GStreamer example:

  1. Select std input type.

  2. Specify the path to the command shell in Cmd field: /bin/bash.

  3. Enter the path to generator script and other args in Args field:

/opt/conf/pss/scripts/rtmp.sh rtmp://192.168.1.2/live/mmtv2025air

or

/opt/conf/pss/scripts/rtsp.sh rtsp://viewer1:viewer300@172.34.95.198:553/play1.sdp

or

/opt/conf/pss/scripts/smpte.sh

SMPTE color bars generator script example (GStreamer based):

#!/bin/bash

# Wide SD
WIDTH=720
HEIGHT=576
PAR="64/45"

VIDIO_TYPE="smpte"
AUDIO_TYPE="silence"
TEXT="*** NO SIGNAL ***  UTC"

ENC_OPT='key-int-max=25 speed-preset=veryfast option-string="min-keyint=25:no-scenecut"'

/usr/bin/gst-launch-1.0 -q  \
    videotestsrc is-live=true pattern="${VIDIO_TYPE}" ! \
    video/x-raw,framerate=25/1,width=$WIDTH,height=$HEIGHT,pixel-aspect-ratio=$PAR ! \
    clockoverlay halignment=left valignment=bottom text="${TEXT}" shaded-background=true ! \
    x264enc bitrate=1300 $ENC_OPT ! \
    mpegtsmux alignment=7 name="mux" ! fdsink sync=true \
    audiotestsrc wave=$AUDIO_TYPE ! audio/x-raw,rate=48000,channels=1 ! avenc_aac bitrate=24000 ! aacparse ! mux.

The full description is available in the forum thread.

Scripts: scripts_gstreamer.zip.