The Atem mini pro is a great little device, but if you use its HDMI output for the multiview, you can't access the program output locally, only stream to external services such as Youtube, Vimeo and Twitch. I decided to solve this by using a Raspberry Pi 4 as a RTMP server and from there multicast the video feed over the LAN using ffmpeg. This is how I did it.
Setting up nginx
Add the following to /etc/nginx/nginx.conf
.
rtmp {
server {
listen 1935;
chunk_size 4096;
buflen 10ms;
application live {
live on;
exec_push ffmpeg -i rtmp://localhost/live/nonsensekey -c:a mp3 -c:v copy -f mpegts udp://239.42.0.3:20000/;
exec_push sapserver;
}
}
}
Testing
Connect to rtmp://[ip]/live/nonsensekey
.
SAP server (optional)
/etc/sap.cfg
[global]
# Network interface and seconds between announcements, default 5.
interface=eth0
sap_delay=5
[program]
# One of these blocks for each of your programs
name=Audatorium 3
user=Name of Organisation
address=239.42.0.3
port=20000
Atem streaming configuration
As a closing note, I can greatly recommend using Open Switcher Control for remote control of your Atem device and extend my thanks to Martijn Braam for putting his time and effort into that project. The project's documentation also contains a reverse engineering of the network command protocol, which you might find useful for starting and stopping the stream remotely.