API PLAYDECK

L'API PLAYDECK est une interface permettant à tout un chacun de se connecter à PLAYDECK. Cet article vous explique comment vous lancer dans le développement avec cette API :

Dans cet article :
Introduction
Exemples
Implémenter l'API


Introduction

L'API PLAYDECK est bidirectionnelle : vous recevez l'état de la diffusion, mais vous pouvez également envoyer des commandes à PLAYDECK.

L'API repose sur les WebSockets : ceux-ci font partie intégrante de JavaScript, vous pouvez donc développer en JavaScript, en Node.js ou en TypeScript. Le port WebSocket est fixé à 11411 et est toujours activé dans PLAYDECK.

Nous avons décidé d'opter pour les WebSockets, car :

  • Il prend en charge les deux sens : depuis et vers PLAYDECK
  • Aucune installation requise : utilisez n'importe quel éditeur de texte
  • Aucune mesure de sécurité réseau particulière n'est requise
  • Créer facilement sa propre interface utilisateur ou animation avec HTML


Quels fichiers peut-on envoyer à PLAYDECK ?

  • Lancer ou lire des blocs, des clips, des superpositions ou des actions
  • Lancer/arrêter des ressources vidéo telles que les flux


Que peut-on obtenir auprès de PLAYDECK ?

  • Événements (par exemple, le début d'un bloc ou d'un clip)
  • État de la diffusion (par exemple : ce qui est en cours de diffusion et le temps restant du bloc)
  • Contenu (par exemple, une liste de lecture complète comprenant des blocs et des clips)


Exemples

1) Compagnon

L'API PLAYDECK est utilisée par bitfocus Companion dans le module PLAYDECK. Cela vous donne un aperçu rapide des possibilités de cette API :
https://playdeck.tv/howto/companion/


2) Vue du réalisateur

L'API est également utilisée par Director View, qui fait partie de PLAYDECK. Vous trouverez les modèles HTML ici :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles HTML\Director-View


3) Superpositions HTML

L'API est également utilisée dans certains exemples de présentation HTML, que vous pouvez consulter ici :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles HTML\Modèles de superposition


Implémenter l'API

Nous avons préparé quelques exemples pour vous permettre de vous familiariser rapidement avec un script fonctionnel. Veuillez les consulter dans l'ordre, car ils s'appuient les uns sur les autres.

Conseil n° 1 : Vous pouvez double-cliquer sur n'importe quel fichier HTML pour l'ouvrir dans le navigateur et lancer le script/l'API

Conseil n° 2 : Vous pouvez modifier le fichier “ WebSocketSDK\Version.js ” pour changer l'adresse IP


1) Connexion native (sans API)

Commençons par quelque chose de très minimaliste :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles-HTML\Automatisation-et-interface-utilisateur\Exemple-minimaliste.html

Cela ouvrira la connexion WebSocket vers PLAYDECK à l'aide de code JavaScript natif et enverra une commande pour lire le premier clip du premier bloc.

Voici un autre exemple : vous pouvez cliquer sur des boutons en HTML pour lancer la lecture dans PLAYDECK :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles-HTML\Automatisation-et-interface-utilisateur\Exemple-d'interface-utilisateur.html


2) Connexion minimaliste (AVEC API)

Cet exemple vous présente l'API :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles HTML\Automatisation et interface utilisateur\SampleMinimalisticSDK.html

Il utilise le sous-dossier “ WebSocketAPI ” et inclut son script principal “ AppInterface.js ”, qui fait en quelque sorte office de “ chargeur ” pour l'ensemble de l'API.

L'API se chargera désormais de votre connexion WebSocket à PLAYDECK, vous n'avez donc pas besoin de la coder manuellement. L'API met également à disposition un framework de modèles pour JavaScript. Le nom du modèle est dérivé du nom du fichier ; il doit donc correspondre. Plusieurs fonctions prédéfinies sont disponibles. Pour cet exemple, nous n'utilisons que “ Start ” : cette fonction sera appelée par l'API une fois que la connexion WebSocket à PLAYDECK aura été établie avec succès. Dans cet exemple, elle lancera la lecture du premier clip de la chaîne 1.


3) Autres fonctions du framework

Outre “ Démarrer ”, de nombreuses autres fonctions du framework sont disponibles :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles-HTML\Automatisation-et-interface-utilisateur\Exemple-de-lecture-aléatoire-d'un-clip.html

Veuillez consulter les commentaires dans le fichier JS pour connaître toutes les fonctions disponibles.

Si vous ouvrez la console du navigateur (généralement avec la touche F12), vous pouvez voir les résultats des commandes “ console.log ”.


4) Analyser les données du projet

Pour accéder à tous les clips, la fonction “ DataProject ” est disponible ; cet exemple montre comment répertorier les données du projet :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles-HTML\Automatisation-et-interface-utilisateur\Exemple-de-liste-de-lecture-du-spectacle.html


5) Exemple de planning personnalisé

L'exemple suivant présente un script complet et fonctionnel permettant de créer une planification personnalisée en dehors de PLAYDECK :
c:\Utilisateurs\Public\Documents\JoyEventMedia\Playdeck\Modèles-HTML\Automatisation-et-interface-utilisateur\Exemple-de-programme-hebdomadaire.html