Pour répondre à tes questions une par une :
Pourquoi 5s :
En gros le protocole RTCP permet d'envoyer au serveur des informations sur ton streaming (nombre de packets envoyés, timestamp ntp au moment de l'envoi, synchronisation audiovisuelle) et le serveur renvoie ce qu'il a effectivement reçu, essaye de gérer son buffer comme il le peut pour avoir la synchro et une vidéo fluide.
J'ai lu pas mal de doc (RFC, livre, stackoverflow), lu du code (ffmpeg, pris contact avec des professionnels du milieu) qui sont à peu près d'accord pour dire qu'on doit envoyer un packet toutes les 2 à 10s. Vu que les session sur iPhone sont courtes mais qu'en même temps j'ai pas trop de bande passante j'ai coupé la poire en deux
Pourquoi l'UDP :
Pour l'UDP c'est pas vraiment un choix personnel, normalement ça doit être du TCP car les informations envoyés sont cruciales, mais il se trouve que le serveur que j'utilise (Wowza Media Serveur) m'impose l'UDP (je crois)
Quels problèmes cela résout ?
J'ai plus ou moins répondu à cette question au début, c'est surtout pour maintenir un stream fluide et garder une bonne synchro entre le son et la vidéo