Master 2018 2019
Stages de la spécialité SAR
STAGIAIRE STACK CLIENT VOIP (H/F)


Lieu : STREAMWIDE - 84 rue d'Hauteville - 75010 PARIS
Encadrant : Pierre BODILIS
Dates :18/02/2019 au 17/08/2019
Rémunération :1000€/ mois

Cliquer ici pour vous authentifier


Description

Intitulé du stage :

Dans le cadre du module Voix et Video sur IP de notre application pour Android, nous souhaitons optimiser l’usage de ressources tant CPU (batterie) que réseau (bande passante) par l’application pour des streams vidéos. Cela implique l’usage de périphériques vidéo externes au mobile, de type UVC (USB Video Class), et de leur encodeur éventuel, ainsi que des encodeurs hardware internes au mobile. Le paramétrage de ces encodeurs doit répondre aux modifications de la qualité du réseau (bandwidth, framerate, ...). Le sujet du stage consiste à utiliser au mieux le matériel mis en oeuvre par notre solution.

Le contexte :

StreamWIDE développe un client de messagerie instantané sous Android et iOS, destiné à un environnement professionnel, parmi lesquels se trouvent les équipes de gestion de crise (Police, pompier, ambulance, ...). Celles-ci utilisent du matériel spécifique (drone, camera externe, ...) que nous souhaitons pouvoir interfacer à notre solution, sur Android dans un premier temps, avec des mobiles disposant de la feature USB Host. Par ailleurs, ces équipes travaillant dans des conditions difficiles, elles ne peuvent pas charger leurs mobiles à leur guise. Il nous faut donc utiliser les codecs hardware qui seraient intégrés dans ces périphériques externes, ou, à défaut, utiliser celui disponible dans le téléphone lui même. Enfin, ces codecs sont configurables à chaud, afin de s’adapter aux conditions du réseau. Il faudra donc mettre en oeuvre des techniques d’optimisation de la bande passante disponible.

Dans cet environnement, la VoIP est assurée, pour la partie mobile, par une bibliothèque écrite en C, portée ensuite pour Android et iOS. Un premier prototype a été écrit pour intégrer le support des périphériques UVC à la bibliothèque à l’aide d’autres bibliothèques open source existantes : libusb et libuvc. Le but du stage est donc d’explorer et développer les possibilités de stabilisation de celles ci en vue d’une industrialisation. Dans un premier temps, il sera demandé de faire un état de l’art (protocol UVC, autres bibliothèques existantes, ...), puis, avec la/le candidat, déterminer la solution à entreprendre. Il est envisageable de proposer des contributions aux mainteneurs des bibliothèques utilisées, ou de créer un fork. Puis, étudier les possibilitées d’utiliser l’encodeur éventuellement disponible dans le périphérique, et, à défaut, d’utiliser ceux du téléphone.