Vi har måske en srt-server som håndtere SRT input, SRT output og rtmp input men det kunne også noget helt andet.
Vi skal lave et script som klare dette og den vil ikke starte op hvis network.taget altså netværket ikke er kørende og det er lidet af det smarte med systemd:
sudo joe /etc/systemd/system/srtsrt1.service
Du kan naturligvis benytte en anden editor end joe,vim,nano men kopier dette:
[Unit]
Description=SRTSRT og RTMP eksempel
Wants=network.target
After=syslog.target network-online.target
[Service]
Type=simple
#ExecStart=/usr/local/bin/srt-serverstart.sh
# srt 1935 lytter. Srt out 1936 og tcp 1937
ExecStart=/usr/local/bin/srt-server 1935 1936 1937
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
|
Vores srtsrtrtmp.service fil skal lige ha korrekte rettigheder:
sudo chmod 640 /etc/systemd/system/srtsrtrtmp.service
[Unit]
Description=SecureSrt1
Wants=network.target
After=syslog.target network-online.target
[Service]
Type=simple
# Placering af filen på Linux er /etc/systemd/system
ExecStart=/usr/bin/srt-live-transmit "srt://:1935?mode=listener&passphrase=supercoolpassword" srt://127.0.0.1:4001
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
|
På den måde kan man også sætte ffmpeg op til at vente på rtmp eller srt med bestemt password næsten som vi gør med srt-live-transmit.
I øvrigt er SRT ikke compileret ind i min aktuelle version af VLC på Linux men eksempelvis kan vi benytte srt-live-transmit sådan:
srt-live-transmit srt://:5002 udp://127.0.0.1:1234
Det betyder connect til lokalt til port 5002 med srt og send data ud på 127.0.0.1 port 1234 og ja det kunne være
man netop havde brug for denne function
Du kan nu i VLC åbne netværks adressen med vlc udp://:1234 eller udp://@:1234
https://github.com/ALLATRA-IT/srt-server har ikke passphrase muligheder så så den er åben... så man skal lige ha styr på hvilke porte man åbner.
Du kan måske med fordele benytte ffmpeg også sikre dig at output er h264 og acc - altså noget som vlc med sikkerhed forstår ;)