SRT le protocole de diffusion

C'est un protocole utilisant udp, en unicast connecté (tcp ?), de point à point.

Côté serveur, on diffuse une mire, qui sera à l'écoute d'un (1) client. Pas de trafic réseau tant qu'il n'y a pas de connexion.

1ffmpeg -hide_banner -loglevel warning -re -f lavfi
2-i sine=frequency=1000:sample_rate=44100 -ac 2 -af "pan=stereo|c0=c0|c1=c0"
3-c:a libmp3lame -b:a 128k -f mp3
4-metadata service_name="Test SRT" -metadata service_provider="Test SRT" -id3v2_version 0
5"srt://127.0.0.1:1234?mode=listener"

Côté client, on fait appel à l'url srt qui commencera à diffuser

1mpv "srt://127.0.0.1:1234?mode=caller"

Si le serveur coupe, le client aura un warning de fin de flux

1Exiting... (End of file)

S'il essaye de s'y reconnecter il ne pourra pas, le flux côté serveur n'est plus en écoute

1[ffmpeg] srt: Connection to srt://127.0.0.1:1234?mode=caller failed: Input/output error
2Failed to open srt://127.0.0.1:1234?mode=caller.
3Exiting... (Errors when loading file)

Si le client coupe sa connexion, le serveur va également s'arrêter

1[aost#0:0/libmp3lame @ 0x858c68000] Error submitting a packet to the muxer: Input/output error
2    Last message repeated 1 times
3[out#0/mp3 @ 0x858c50480] Error muxing a packet
4[out#0/mp3 @ 0x858c50480] Task finished with error code: -5 (Input/output error)
5[out#0/mp3 @ 0x858c50480] Terminating thread with return code -5 (Input/output error)
6[out#0/mp3 @ 0x858c50480] Error writing trailer: Input/output error
7[out#0/mp3 @ 0x858c50480] Error closing file: Input/output error

Il faudra relancer explicitement la commande de diffusion (avec le mode listener).

Dans un contexte de vraie ressource pro, le serveur se relance-t-il automatiquement ?

Ressources

comments powered by Disqus