Aller à : navigation, rechercher

GoPro VR Player - Communication UDP



Introduction


GoPro VR Player est capable de diffuser les messages UDP. Ils contiennent des informations sur la vidéo 360 comme l'orientation de la caméra,
l'URL de la vidéo, l'état de lecture, la position de lecture.

Ces messages peuvent être utilisés de 2 façons :

  • Synchroniser les vues de GoPro VR Player
  • Les applications tierces synchronisées avec GoPro VR Player





Vues synchronisées


La communication UDP est désactivée par défaut. Vous devez choisir le mode de communication, MAITRE ou ESCLAVE dans les Preferences, MASTER / SLAVE :

La finalité est d'avoir une instance maître de GoPro VR Player qui diffuse les informations sur la lecture de la vidéo 360 et une ou plusieurs autres instances qui lisent exactement la même vidéo 360.

Vous pouvez également avoir une instance GoPro VR Player qui tourne sur un ordinateur Windows et une autre qui tourne sur un ordinateur Mac par exemple. Mais pour faire ceci, vous devez faire très attention à la configuration du décodage de l'URL (voir ci-dessous).





Maitre

Maitre

Le mode maître permet à GoPro VR Player d'envoyer des messages UDP. Il vous suffit de configurer les paramètres suivants :

  • IP address : définit vers quelle adresse IP les messages sont envoyés. 3 possibilités :
    • Broadcast : les messages sont diffusés sur le réseau local
    • Localhost : les messages sont envoyés localement sur un ordinateur
    • Custom : définit sur quelle adresse IP les messages seront reçus
  • Port : définit sur quel n° de port les messages sont envoyés (port 7755 par défaut).
  • Refresh rate : fréquence d'envoi des messages en millisecondes (20ms par défaut).
  • Packet format :
    • JSON : les packets sont encodés en UTF-8 avec le format JSON, recommandé quand on utilise une application tierce pour prendre en charge les messages UDP
    • Qt : les packets sont encodés au format Qt ce qui est très efficace et rapide mais QT est également utile pour décoder les packets




Esclave

Slave

Le mode esclave permet à GoPro VR Player de lire les messages UDP. Vous devez juste configurer les paramètres suivants :

  • Port : spécifie le port sur lequel les messages sont reçus (port 7755 par défaut).
  • URL decoding : définit de quelle façon le décodage de l'URL est effectué par GoPro VR Player. Il y a 4 possibilités :
    • Absolute : l'URL est utilisée telle quelle sans traitement (aucune garantie que cela fonctionne en mode multi-plateformes)
    • Movies : le nom de fichier est extrait de l'URL, précédé du répertoire des films (fonctionnement multi-plateformes garanti)
    • Desktop : le nom de fichier est extrait de l'URL et précédé du répertoire de l'ordinateur (fonctionnement multi-plateformes garanti)
    • Off : l'URL n'est pas du tout utilisée
  • Orientation de caméra : définit si l'orientation de la caméra (lacet, tangage, roulis) est effectué par GoPro VR Player. Il y a 2 possibilités :
    • Absolute: l'orientation de la caméra sera la même que celle du maitre
    • Offset:
    • Off: l'orientation de la caméra n'est pas utilisée
  • Packet format:
    • JSON : les packets sont encodés en UTF-8 avec le format JSON, recommandé quand on utilise une application tierce pour prendre en charge les messages UDP
    • Qt : les packets sont encodés au format Qt ce qui est très efficace et rapide mais QT est également utile pour décoder les packets






Application tierce

Les messages UDP peuvent être utilisés par n'importe quelle autre application. Par exemple, un moteur de rendu audio 3D peut utiliser ces informations pour générer un son 3D en conformité avec le flux vidéo lu par GoPro VR Player

Les messages UDP sont encodés en UTF-8 et au format JSON format (http://www.json.org/). Pour cela, vous pouvez utiliser un analyseur syntaxique en ligne ( http://json.parser.online.fr/) pour décoder le message. Vous pouvez également changer le format d'encodage en QT dans les paramètres, mais vous aurez besoin du framework Qt pour décoder les messages UDP.

Ci-dessous, la structure actuelle d'un message UDP :

  • "id": "ked" --- identifiant du message
  • "yaw": float --- lacet en radians
  • "pitch": float --- tangage en radians
  • "roll": float --- roulis en radians
  • "fov": float --- champ de vision en degrés
  • "url": string --- URL de la vidéo actuelle. Pour les fichiers en local, assurez-vous de respecter ce shéma en fonction de votre OS :
    • Windows : "url":"file:///C:/Users/kolor/Videos/FullHD_25fps.mp4"
    • Mac : "url":"file:///Users/loic/Movies/FullHD_25fps.mp4"
  • "state": enum --- état de la lecture, les nombres entiers possibles sont : 0 (arrêt), 1 (lecture), 2 (Pause)
  • "position": int --- état d'avancée de la lecture en cours en millisecondes








Retour à Documentation GoPro VR