Action de requête en boucle
Les actions Loop Query permettent aux applications tierces d'interroger l'API du lecteur concernant la liste de lecture actuelle d'un lecteur.
Utilisez l'une des actions suivantes en cas d'incident :
- now_playing : Interroge les éléments actuellement en cours de lecture dans chaque cadre.
- show_loop : Affiche tous les éléments actuellement lus dans chaque cadre, ainsi que tous les éléments à venir dans la boucle.
Appelez les actions now_playing et show_loop en utilisant l'une des méthodes suivantes :
Serveur WebSocket :
-
JSON – Vous pouvez transmettre des paramètres depuis votre fichier HTML5 à l’aide de JSON.
Note : Assurez-vous de sélectionner Enable Remote Control dans l’onglet Remote Control du profil de configuration. Voir L'onglet «Remote Control».
Note : Si vous utilisez JSON via le serveur WebSocket, tout pare-feu présent sur Broadsign Control Player doit être configuré pour accéder directement au port 2326 pour utilisation.
Port 2324 :
- remote_action – Une application fournie avec Broadsign Control Player qui utilise la ligne de commande.
- XML – Si vous souhaitez développer vos propres applications, vous pouvez communiquer directement avec Broadsign Control Player API en utilisant XML.
Note : Assurez-vous de sélectionner Enable Remote Control dans l’onglet Remote Control du profil de configuration. Voir L'onglet «Remote Control».
Note : Tout pare-feu présent sur Broadsign Control Player doit être configuré pour permettre à bsp.exe d'ouvrir des ports, ou pour configurer directement le port 2324 ou le port 2326 pour l'utiliser.
Note : L'action Déclencheurs est la seule exception à cette règle. Elle utilise le port 2325. Voir Action Triggers.
Vous pouvez appeler cette action sur Windows et Ubuntu Linux, et la trouver via les chemins suivants :
- Windows (64 bits) :
- Ubuntu Linux :
/opt/broadsign/suite/bsp/bin/
C:\Program Files\BroadSign\bsp\bin
Vous pouvez interroger les boucles d'un lecteur en invoquant l'exécutable autonome remote_action fourni avec Broadsign Control Player. Il se trouve dans le répertoire bin d'installation du lecteur.
Par exemple, pour interroger les éléments actuellement lus dans chaque cadre, tapez :
remote_action now_playing
Pour interroger tous les éléments de chaque cadre, ainsi que tous les éléments à venir dans la boucle, saisissez :
remote_action show_loop
Une option supplémentaire pour show_loop est depth, qui contrôle le nombre d'éléments de boucle futurs qui seront signalés :
remote_action show_loop --depth 3
Avertissement : Des appels répétés à l'aide de cette action, avec une valeur de profondeur élevée, peuvent entraîner des problèmes de performances. Appeler show_loop avec un numéro depth supérieur à ce qui reste dans l'itération de la boucle actuelle ne forcera pas le lecteur à générer des boucles futures avant qu'elles ne soient nécessaires. Si vous ne spécifiez pas de valeur depth, la valeur par défaut sera « 3 ». Pour que la profondeur soit respectée, la valeur de version doit être définie sur « 3 ».
Une application personnalisée peut interroger les boucles d'un lecteur en envoyant un message XML au port monitor_remote (2324). Utilisez l'une des actions suivantes. Broadsign Control Player répondra par un court document XML :
- now_playing : Récupère les éléments actuellement en cours de lecture dans chaque cadre.
- show_loop : Récupère les éléments actuellement lus dans chaque cadre, ainsi que tous les éléments à venir jusqu'à la fin de la boucle actuelle.
Note : now_playing sera probablement invoqué plus fréquemment par des tiers que show_loop. Pour des raisons de performances, now_playing doit être privilégié lorsque seules des informations sur les éléments en cours de lecture sont nécessaires.
Pour récupérer les éléments actuellement lus dans chaque cadre, envoyez :
<rc version="1" id="1" action="now_playing" frame_id="0"/>\r\n\r\n
Note : Vous devez terminer la requête avec \r\n\r\n.
Note : Chaque commande envoyée nécessite un identifiant unique (id). L'application peut utiliser ici une valeur d'incrémentation simple.
Le lecteur répondra avec le document suivant :
<!DOCTYPE rc>
<rc status="1" id="1" version="1" action="now_playing">
<frame id="1456804" loop_policy_id="1282483" geometry_type="percent" day_part_id="1456803" width="100" name="Fullscreen" height="100" x="0" y="0" z="0">
<current_item slot_duration_ms="131518" remaining_ms="36893">
<bundle trigger_category_id="0" id="2846715" loop_weight="0" allow_custom_duration="no" category_id="0" or_conditions="" loop_category_id="0" end_date="2020-01-07" position="1" name="PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4" max_duration_msec="131518" secondary_category_ids="" full_screen="yes" and_conditions="" not_conditions="" attributes="">
<ad_copy id="2846708" original_filename="PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4.mp4" mime="mp4" name="PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4" flash_parameters="" feeds="" attributes="audio_codec=aac
duration=131518
height=720
video_codec=h264
volume_modifier=79
width=1280"/>
</bundle>
</current_item>
</frame>
</rc>
Pour récupérer les éléments actuellement lus dans chaque cadre, ainsi que tous les éléments à venir jusqu'à la fin de la boucle actuelle, envoyez ce qui suit :
<rc version="1" id="1" action="show_loop" frame_id="0"/>
Une option supplémentaire pour show_loop est depth, qui contrôle le nombre d'éléments de boucle futurs qui seront signalés :
<rc version="3" id="1" action="show_loop" depth="3" frame_id="0"/>
Avertissement : Des appels répétés à l'aide de cette action, avec une valeur de profondeur élevée, peuvent entraîner des problèmes de performances. Appeler show_loop avec un numéro depth supérieur à ce qui reste dans l'itération de la boucle actuelle ne forcera pas le lecteur à générer des boucles futures avant qu'elles ne soient nécessaires. Si vous ne spécifiez pas de valeur depth, la valeur par défaut sera « 3 ». Pour que la profondeur soit respectée, la valeur de version doit être définie sur « 3 ».
Action de requête en boucle - Paramètres XML
Note : Tout pare-feu présent sur Broadsign Control Player doit être configuré pour permettre à bsp.exe d'ouvrir des ports, ou pour configurer directement le port 2324 ou le port 2326 pour l'utiliser.
| Paramètre | Description |
|---|---|
| version | La version est généralement 1. |
| id | Contient l'identifiant de la requête. |
| action | Requis. Le type d'action à entreprendre : soit now_playing ou show_loop. |
| depth |
Facultatif. Contrôle le nombre d'éléments de boucle futurs qui seront signalés. Aucune limite, mais un trop grand nombre d'appels de valeur trop élevée peut entraîner des problèmes de performance. Si aucune valeur n'est spécifiée, la valeur par défaut est « 3 ». Pour que la profondeur soit respectée, la valeur version doit être définie sur « 3 ». |
| frame_id | Facultatif. L'identifiant du ou des cadres sur lesquels la boucle est lue. |
Votre application interactive peut interroger les boucles d'un lecteur via le serveur WebSocket de monitor_remote (port 2326). Vous devrez activer le serveur WebSocket. Pour plus d'informations, consultez L'onglet «Remote Control».
Utilisez l'une des actions suivantes. Broadsign Control Player répondra par une courte chaîne JSON :
- now_playing : Récupère les éléments actuellement en cours de lecture dans chaque cadre.
- show_loop : Récupère les éléments actuellement lus dans chaque cadre, ainsi que tous les éléments à venir jusqu'à la fin de la boucle actuelle.
Note : now_playing sera probablement invoqué plus fréquemment par des tiers que show_loop. Pour des raisons de performances, now_playing doit être privilégié lorsque seules des informations sur les éléments en cours de lecture sont nécessaires.
Pour récupérer les éléments actuellement lus dans chaque cadre, envoyez la chaîne JSON suivante :
{
"rc": {
"version": "2",
"id": "1",
"action": "now_playing",
"frame_id": "0"
}
}
Note : Chaque commande envoyée nécessite un identifiant unique (id). L'application peut utiliser ici une valeur d'incrémentation simple.
Le lecteur répondra avec le document suivant :
{
"rc": {
"frame": {
"current_item": {
"bundle": {
"ad_copy": {
"id": "2846708",
"original_filename": "PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4.mp4",
"mime": "mp4",
"name": "PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4",
"flash_parameters": "",
"feeds": "",
"attributes": "audio_codec=aac\nduration=131518\nheight=720\nvideo_codec=h264\nvolume_modifier=79\nwidth=1280"
},
"trigger_category_id": "0",
"id": "2846715",
"loop_weight": "0",
"allow_custom_duration": "no",
"category_id": "0",
"or_conditions": "",
"loop_category_id": "0",
"end_date": "2020-01-07",
"position": "1",
"name": "PlayStation Experience 2015 Final Fantasy VII Remake - PSX 2015 Trailer _ PS4",
"max_duration_msec": "131518",
"secondary_category_ids": "",
"full_screen": "yes",
"and_conditions": "",
"not_conditions": "",
"attributes": ""
},
"slot_duration_ms": "131518",
"remaining_ms": "36893"
},
"id": "1456804",
"loop_policy_id": "1282483",
"geometry_type": "percent",
"day_part_id": "1456803",
"width": "100",
"name": "Fullscreen",
"height": "100",
"x": "0",
"y": "0",
"z": "0"
},
"status": "1",
"id": "1",
"version": "2",
"action": "now_playing"
}
}
Pour récupérer les éléments actuellement lus dans chaque cadre, ainsi que tous les éléments à venir jusqu'à la fin de la boucle actuelle, envoyez ce qui suit :
{
"rc": {
"version": "2",
"id": "1",
"action": "show_loop",
"frame_id": "0"
}
}
Une option supplémentaire pour show_loop est depth, qui contrôle le nombre d'éléments de boucle futurs qui seront signalés :
{
"rc": {
"version": "3",
"id": "1",
"action": "show_loop",
"depth": "3",
"frame_id": "0"
}
}
Avertissement : Des appels répétés à l'aide de cette action, avec une valeur de profondeur élevée, peuvent entraîner des problèmes de performances. Appeler show_loop avec un numéro depth supérieur à ce qui reste dans l'itération de la boucle actuelle ne forcera pas le lecteur à générer des boucles futures avant qu'elles ne soient nécessaires. Si vous ne spécifiez pas de valeur depth, la valeur par défaut sera « 3 ». Pour que la profondeur soit respectée, la valeur de version doit être définie sur « 3 ».
Action de requête en boucle - Paramètres JSON
Note : Si vous utilisez JSON via le serveur WebSocket, tout pare-feu présent sur Broadsign Control Player doit être configuré pour accéder directement au port 2326 pour utilisation.
| Paramètre | Description |
|---|---|
| version | Définissez la version sur « 2 ». |
| id | Contient l'identifiant de la requête. |
| action | Requis. Le type d'action à entreprendre : soit now_playing ou show_loop. |
| depth |
Facultatif. Contrôle le nombre d'éléments de boucle futurs qui seront signalés. Aucune limite, mais un trop grand nombre d'appels de valeur trop élevée peut entraîner des problèmes de performance. Si aucune valeur n'est spécifiée, la valeur par défaut est « 3 ». Pour que la profondeur soit respectée, la valeur version doit être définie sur « 3 ». |
| frame_id | Facultatif. L'identifiant du ou des cadres sur lesquels la boucle est lue. |
