Streaming from RTMP device to SRT listener

Supose you have device like LiveU Solo or one of very popular chinese video encoders, those devices do not support SRT protocol so if you want stream to vMix you must find solution.

Generally you need to create some kind of middleware that will ingest RTMP stream and push it to SRT Listener in vMix.

You can set up nginx with nginx_rtmp module on server and ask nginx to restream video to web page with embedded HTML5 player. Then you can get it with vMix web browser input. But you can expect loss of quality.

Better way is to compile FFmpeg with SRT support and then ingest RTMP and restream with SRT:

git clone
cd srt
make && make install
sudo apt -y install libssl-dev tclsh

Then get sources of FFmpeg as descibed there:
but add following directive to configure before compiling:

./configure --enable-libsrt ...

But even better option is to create Docker container with all stuff prepared and ready to ingest and restream.
Supose your SRT converter is a Linux machine accessible at domain and your vMix machine is behind firewall at
On you need to run following shell script which pulls and starts Docker image with SRT capable version of FFmpeg:

docker run --restart=unless-stopped -d --name=my_srt_converter -p 1935:1935 eyevinntechnology/toolbox-srttx --passthrough --inputtype=rtmp my_stream

As you can see it runs container which waits for RTMP stream on 1935 port then restream it to on port 6001. This port on firewall redirects SRT stream to local vMix machine with SRT Listener waiting.
In my case local machine is and SRT Listener has port 5000.

So everything looks like this: