AV Insights

 

Avant-propos

Afin de bénéficier de AV Insights, vous devez d’abord activer la fonction. Si vous souhaitez l’activer, veuillez contacter notre centre support.

Le plugin AV Insights permet la collecte d’événements liés à la consommation de média sur votre site. Vous pourrez suivre les différentes interactions sur vos lecteurs et mesurer la performance de vos contenus.

 

Manipulation de média

 

Instanciation d’un média

Afin de pouvoir manipuler un média et en mesurer les événements, il est nécessaire de déclarer un objet de type Media :

var tag = new ATInternet.Tracker.Tag();
var myMedia = new tag.avInsights.Media(5, 5);

Deux paramètres sont disponibles, afin d’activer les heartbeats automatiques. Le premier permet d’activer les heartbeats de suivi de lecture et le deuxième permet d’activer les heartbeats de suivi de buffering. Les valeurs fournies ne sont plus utilisées, les paliers d’évolution des heartbeat sont aujourd’hui définis par nos soins. La présence des valeurs ne fera qu’activer la fonctionnalité.

Le « heartbeat » est un intervalle de rafraîchissement qui évolue automatiquement au cours d 'une lecture. 

 

Gestion de l’identifiant de session

Un troisième paramètre facultatif sessionId est disponible depuis la version 5.22.0 du Tracker pour surcharger la propriété standard commune av_session_id présente dans chaque événement généré par les marqueurs AV Insights. Veuillez noter que ce paramètre ne doit être utilisé que dans des cas particuliers, lorsque vous devez transférer des sessions entre différents supports.
Le paramètre est généré de façon automatique par le Tracker pour tous les cas standards.

var tag = new ATInternet.Tracker.Tag();
var myMedia = new tag.avInsights.Media(5, 5, 'custom_session_id');

Une fonction getSessionID permet de récupérer la valeur du paramètre :

getSessionID() ⇒ string | number

Récupérer l’identifiant de session.

Exemple

var sessionID = myMedia.getSessionID(); // 'custom_session_id' or 'xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxx'
 

Propriétés de média

Quelques règles doivent être observées concernant le format des propriétés utilisées pour la configuration d’un média :

  • La syntaxe des propriétés de base permettant de caractériser un média doit être respectée (présence éventuelle de caractères underscore _ ; voir la liste exhaustive des propriétés en bas de page).
  • Le symbole $ est un symbole réservé qui ne doit pas être utilisé dans le nom d’une propriété.
  • La durée des media ou les positions de la tête de lecture doivent être exprimées en millisecondes.

Le plugin fournit une série de fonctions utiles pour la gestion des propriétés d’un média :

 

set

set(propKey, propValue)

Déclarer une propriété de média.

ParamTypeDescription
propKeystringNom d’une propriété de média
propValuestring | numberValeur d’une propriété de média

Exemple

myMedia.set('av_content', 'my_video');
myMedia.set('av_content_id', '12345');
 

get

get(propKey) ⇒  string | number

Récupérer une propriété de média.

ParamTypeDescription
propKeystringNom d’une propriété de média

Exemple

var content_id = myMedia.get('av_content_id'); // 12345
 

del

del(propKey)

Supprimer une propriété de média.

ParamTypeDescription
propKeystringNom d’une propriété de média

Exemple

myMedia.del('av_content_id');
 

setProps

setProps(properties)

Déclarer un ensemble de propriétés pour un média.

ParamTypeDescription
propertiesObjectPropriétés d’un média

Exemple

myMedia.setProps({'av_content_id': 'fg456', 'av_content': 'My Content'});
 

getProps

getProps() ⇒ Object

Récupérer l 'ensemble des propriétés d 'un média.

Exemple

var props = myMedia.getProps(); // {'av_content_id': 'fg456', 'av_content': 'My Content'}
 

delProps

delProps()

Supprimer l’ensemble des propriétés d’un média.

Exemple

myMedia.delProps();
 

Vitesse de lecture

Lors d’un changement de vitesse de lecture vous devez faire appel à la méthode setPlaybackSpeed() en précisant le nouveau facteur de vitesse sous la forme d’un nombre décimal.

 

setPlaybackSpeed

setPlaybackSpeed(playbackSpeed)

Déclarer un changement de vitesse de lecture.

ParamTypeDescription
playbackSpeednumberFacteur de vitesse de lecture

Exemple

myMedia.setPlaybackSpeed(2); // Media playback speed increased by a factor of two

Le nouveau facteur de vitesse de lecture sera pris en compte dans le calcul des positions de curseur des événements automatisés  heartbeats pendant une lecture.

Vous pouvez si vous le souhaitez marquer l’événement associé à ce changement de vitesse en faisant appel à la méthode myMedia.speed();

 

Suivi des événements

Le plugin AV Insights propose une série de fonctions utiles pour la mesure d’événements relatifs aux interactions de vos utilisateurs avec vos contenus :

 

Evénements media

 

bufferStart

Nom de l’événement : av.buffer.start ou av.rebuffer.start

bufferStart(cursorPosition, [callback], [extraProps])

Générer un événement de mise en mémoire tampon au lancement d’un média ou en cours de lecture.

Un marquage de mise en mémoire tampon entraînera une génération automatique d’événements de type  buffering.heartbeat ou rebuffering.heartbeat en fonction du contexte.

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.bufferStart(
  0,
  function() { console.log("Event av.buffer.start or av.rebuffer.start generated depending on the playback launch"); },
  { customProp: "customValue" }
);
 

play

Nom de l’événement : av.play

play(cursorPosition, [callback], [extraProps])

Générer un événement play (tentative de lecture).

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.play(
  0,
  function() { console.log("Event av.play generated");},
  { customProp: "customValue" }
);
 

playbackPaused

Nom de l’événement : av.pause

playbackPaused(cursorPosition, [callback], [extraProps])

Générer un événement de mise en pause.

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.playbackPaused(
  1000,
  function() { console.log("Event av.pause generated"); },
  { customProp: "customValue" }
);
 

playbackResumed

Nom de l’événement : av.resume

playbackResumed(cursorPosition, [callback], [extraProps])

Générer un événement de reprise de lecture après une pause.

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.playbackResumed(
  1000,
  function() { console.log("Event av.resume generated"); },
  { customProp: "customValue" }
);
 

playbackStart

Nom de l’événement : av.start

playbackStart(cursorPosition, [callback], [extraProps])

Générer un événement de début de lecture effective (première frame du média).

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.playbackStart(
  0,
  function() { console.log("Event av.start generated"); },
  { customProp: "customValue" }
);
 

playbackStopped

Nom de l’événement : av.stop

playbackStopped(cursorPosition, [callback], [extraProps])

Générer un événement d’arrêt de lecture.

ParamTypeDescription
cursorPositionnumberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.playbackStopped(
  1000,
  function() { console.log("Event av.stop generated"); },
  { customProp: "customValue" }
);
 

seek

Nom de l’événement : av.forward ou av.backward

seek(oldCursorPosition, newCursorPosition, [callback], [extraProps])

Générer un événement lié au déplacement de la tête de lecture.

ParamTypeDescription
oldCursorPositionnumberPosition de la tête de lecture avant déplacement (ms)
newCursorPositionnumberPosition de la tête de lecture après déplacement (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.seek(
  1000,
  2000,
  function() { console.log("Event av.forward generated"); },
  { customProp: "customValue" }
);
myMedia.seek(
  2000,
  1000,
  function() { console.log("Event av.backward generated"); },
  { customProp: "customValue" }
);
 

Evénements contextuels

La liste des événements qui suit ne rentre pas en compte dans le calcul des durées de consommation de media. Il s’agit d’événements contextuels ponctuels.

 

adClick

Nom de l’événement : av.ad.click

adClick([callback], [extraProps])

Générer un événement de mesure de clic sur une publicité.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.adClick(
  function() { console.log("Event av.ad.click generated"); },
  { customProp: "customValue" }
);
 

adSkip

Nom de l’événement : av.ad.skip

adSkip([callback], [extraProps])

Générer un événement de saut d’une publicité.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.adSkip(
  function() { console.log("Event av.ad.skip generated"); },
  { customProp: "customValue" }
);
 

close

Nom de l’événement : av.close

close([callback], [extraProps])

Mesurer une fermeture.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.close(
  function() { console.log("Event av.close generated"); },
  { customProp: "customValue" }
);
 

display

Nom de l’événement : av.display

display([callback], [extraProps])

Mesurer une impression.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.display(
  function() { console.log("Event av.display generated"); },
  { customProp: "customValue" }
);
 

error

Nom de l’événement : av.error

error(message, [callback], [extraProps])

Mesurer une erreur empêchant la lecture.

ParamTypeDescription
heartbeatObject | string | numberValeur de heartbeat

Exemple

myMedia.error(
  "Error loading video",
  function() { console.log("Event av.error generated"); },
  { customProp: "customValue" }
);
 

fullscreenOff

Nom de l’événement : av.fullscreen.off

fullscreenOff([callback], [extraProps])

Mesurer une désactivation de plein écran.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.fullscreenOff(
  function() { console.log("Event av.fullscreen.off generated"); },
  { customProp: "customValue" }
);
 

fullscreenOn

Nom de l’événement : av.fullscreen.on

fullscreenOn([callback], [extraProps])

Mesurer un passage en plein écran.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.fullscreenOn(
  function() { console.log("Event av.fullscreen.on generated"); },
  { customProp: "customValue" }
);
 

quality

Nom de l’événement : av.quality

quality([callback], [extraProps])

Mesurer une action de changement de niveau de qualité.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.quality(
  function() { console.log("Event av.quality generated"); },
  { customProp: "customValue" }
);
 

share

Nom de l’événement : av.share

share([callback], [extraProps])

Mesurer une action de partage.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.share(
  function() { console.log("Event av.share generated"); },
  { customProp: "customValue" }
);
 

speed

Nom de l’événement : av.speed

speed([callback], [extraProps])

Mesurer une action de changement de vitesse de lecture.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.speed(
  function() { console.log("Event av.speed generated"); },
  { customProp: "customValue" }
);
 

subtitleOff

Nom de l’événement : av.subtitle.off

subtitleOff([callback], [extraProps])

Mesurer une désactivation de sous-titres.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.subtitleOff(
  function() { console.log("Event av.subtitle.off generated"); },
  { customProp: "customValue" }
);
 

subtitleOn

Nom de l’événement : av.subtitle.on

subtitleOn([callback], [extraProps])

Mesurer une activation de sous-titres.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.subtitleOn(
  function() { console.log("Event av.subtitle.on generated"); },
  { customProp: "customValue" }
);
 

volume

Nom de l’événement : av.volume

volume([callback], [extraProps])

Mesurer un changement de volume.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.volume(
  function() { console.log("Event av.volume generated"); },
  { customProp: "customValue" }
);
 

Evénements techniques

Les événements suivants sont générés de façon automatique par le Tracker. Vous pouvez toutefois appeler les méthodes de marquage publiques associées en cas de besoin de marquage ponctuel.

 

bufferHeartbeat

Nom de l’événement : av.buffer.heartbeat

bufferHeartbeat([callback], [extraProps])

Générer un événement heartbeat de mise en mémoire tampon avant le début effectif de la lecture.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.bufferHeartbeat(
  function() { console.log("Event av.buffer.heartbeat generated"); },
  { customProp: "customValue" }
);
 

heartbeat

Nom de l’événement : av.heartbeat

heartbeat([cursorPosition], [callback], [extraProps])

Générer un événement heartbeat.

ParamTypeDescription
[cursorPosition]numberPosition courante de la tête de lecture (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.heartbeat(
  45,
  function() { console.log("Event av.heartbeat generated"); },
  { customProp: "customValue" }
);

La position de curseur n’est pas obligatoire pour le marquage d’un événement heartbeat. Sans précision de votre part, la valeur sera automatiquement calculée en fonction du contexte (facteur de vitesse de lecture, position de curseur de l’événement précédent).

 

rebufferHeartbeat

Nom de l’événement : av.rebuffer.heartbeat

rebufferHeartbeat([callback], [extraProps])

Générer un événement heartbeat de mise en mémoire tampon après le début effectif de la lecture.

ParamTypeDescription
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.rebufferHeartbeat(
  function() { console.log("Event av.rebuffer.heartbeat generated"); },
  { customProp: "customValue" }
);
 

seekBackward

Nom de l’événement : av.backward

seekBackward(oldCursorPosition, newCursorPosition, [callback], [extraProps])

Générer un événement lié à un déplacement arrière de la tête de lecture.

ParamTypeDescription
oldCursorPositionnumberPosition de la tête de lecture avant déplacement (ms)
newCursorPositionnumberPosition de la tête de lecture après déplacement (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.seekBackward(
  2000,
  1000,
  function() { console.log("Event av.backward generated"); },
  { customProp: "customValue" }
);
 

seekForward

Nom de l’événement : av.forward

seekForward(oldCursorPosition, newCursorPosition, [callback], [extraProps])

Générer un événement lié à un déplacement avant de la tête de lecture.

ParamTypeDescription
oldCursorPositionnumberPosition de la tête de lecture avant déplacement (ms)
newCursorPositionnumberPosition de la tête de lecture après déplacement (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.seekForward(
  1000,
  2000,
  function() { console.log("Event av.forward generated"); },
  { customProp: "customValue" }
);
 

seekStart

Nom de l’événement : av.seek.start

seekStart(oldCursorPosition, [callback], [extraProps])

Générer un événement de début de déplacement de la tête de lecture.

Cet événement est automatiquement levé lors d’un appel aux méthodes seek(), seekBackward() ou seekForward()

ParamTypeDescription
oldCursorPositionnumberPosition de la tête de lecture avant déplacement (ms)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

Exemple

myMedia.seekStart(
  1000,
  function() { console.log("Event av.seek.start generated"); },
  { customProp: "customValue" }
);
 

Méthode de marquage universelle

 

track

La méthode de marquage universelle d’événements AV Insights permet le suivi d’événements standards ou personnalisés. Cette fonction peut être utilisée pour remplacer les appels aux autres méthodes de marquage d’événements (play, playbackStart, bufferStart, etc.).

Nom de l’événement : valeur de event

track(event, [options], [callback], [extraProps])

Suivre des actions standard ou personnalisées.

ParamTypeDescription
eventstringEvénement à générer (voir liste des événements standard en bas de page)
[options]ObjectOptions fonction de l’événement courant (voir liste des options disponibles en bas de page)
[callback]functionFonction à exécuter après l’envoi du hit
[extraProps]ObjectPropriétés personnalisées

bufferExemple

var tag = new ATInternet.Tracker.Tag();
var myMedia = new tag.avInsights.Media(5, 5);
// Buffer tagging
myMedia.track('av.buffer.start', {av_position: 0}, function() {console.log('Event "av.buffer.start" generated');}, null);
// Re-buffer tagging
myMedia.track('av.rebuffer.start', {av_position: 10}, function() {console.log('Event "av.rebuffer.start" generated');}, null);
// Play tagging
myMedia.track('av.play', {av_position: 0}, function() {console.log('Event "av.play" generated');}, null);
// Playback start tagging
myMedia.track('av.start', {av_position: 0}, function() {console.log('Event "av.start" generated');}, null);
// Playback pause tagging
myMedia.track('av.pause', {av_position: 10}, function() {console.log('Event "av.pause" generated');}, null);
// Playback resume tagging
myMedia.track('av.resume', {av_position: 10}, function() {console.log('Event "av.resume" generated');}, null);
// Playback stop tagging
myMedia.track('av.stop', {av_position: 20}, function() {console.log('Event "av.stop" generated');}, null);
// Seek forward tagging
myMedia.track('av.forward', {av_previous_position: 10, av_position: 20}, function() {console.log('Event "av.forward" generated');}, null);
// Seek backward tagging
myMedia.track('av.backward', {av_previous_position: 20, av_position: 10}, function() {console.log('Event "av.backward" generated');}, null);
// Ad click tagging
myMedia.track('av.ad.click', null, function() {console.log('Event "av.ad.click" generated');}, null);
// Ad skip tagging
myMedia.track('av.ad.skip', null, function() {console.log('Event "av.ad.skip" generated');}, null);
// Error tagging
myMedia.track('av.error', {av_player_error: "Player error"}, function() {console.log('Event "av.error" generated');}, null);
// Display tagging
myMedia.track('av.display', null, function() {console.log('Event "av.display" generated');}, null);
// Close tagging
myMedia.track('av.close', null, function() {console.log('Event "av.close" generated');}, null);
// Volume tagging
myMedia.track('av.volume', null, function() {console.log('Event "av.volume" generated');}, null);
// Subtitle on tagging
myMedia.track('av.subtitle.on', null, function() {console.log('Event "av.subtitle.on" generated');}, null);
// Subtitle off tagging
myMedia.track('av.subtitle.off', null, function() {console.log('Event "av.subtitle.off" generated');}, null);
// Full screen on tagging
myMedia.track('av.fullscreen.on', null, function() {console.log('Event "av.fullscreen.on" generated');}, null);
// Full screen off tagging
myMedia.track('av.fullscreen.off', null, function() {console.log('Event "av.fullscreen.off" generated');}, null);
// Quality tagging
myMedia.track('av.quality', null, function() {console.log('Event "av.quality" generated');}, null);
// Speed tagging
myMedia.track('av.speed', null, function() {console.log('Event "av.speed" generated');}, null);
// Share tagging
myMedia.track('av.share', null, function() {console.log('Event "av.share" generated');}, null);
// Custom tagging
myMedia.track('custom', null, null, {'customParam': 'customValue'});
 

Marquage complet

var tag = new ATInternet.Tracker.Tag();
var myMedia = new tag.avInsights.Media(5, 5); // Set heartbeats value (5 seconds)
var properties = {
    av_content_id: 'fge234',
    av_content: 'myContent',
    av_content_type: 'Video',
    av_content_duration: 10000,
    av_content_genre: ['entertainment'],
    av_content_version: 'short',
    av_player: 'HTML5_V123',
    av_player_version: '1b',
    av_player_position: 'top',
    av_broadcasting_type: 'On Demand',
    av_publication_date: 1562055880,
    av_show: 'The gist of the game',
    av_show_season: 'Season 1',
    av_episode_id: '3134',
    av_channel: 'INFO',
    av_author: 'AT Internet',
    av_broadcaster: 'Direction 123',
    av_language: 'EN',
    av_subtitles: 'FR',
    av_launch_reason: 'Auto'
};
// Set media properties
myMedia.setProps(properties);
// Play attempt (cursor position 0 second)
myMedia.play(0);
// Buffering before playback start (cursor position 0 second)
myMedia.bufferStart(0);
// Playback start (cursor position 0 second)
myMedia.playbackStart(0);
// Buffering after 5 seconds of playback
myMedia.bufferStart(5000);
// Seek action (backward from cursor position 5 seconds to cursor position 3 seconds)
myMedia.seek(5000, 3000);
// Playback resume (cursor position 3 seconds)
myMedia.playbackResumed(3000);
// Playback pause (cursor position 9 seconds)
myMedia.playbackPaused(9000);
// Playback resume (cursor position 9 seconds)
myMedia.playbackResumed(9000);
// Playback stop (cursor position 15 seconds)
myMedia.playbackStopped(15000);
 

Annexes

 

Liste des propriétés d’un média

PropriétéTypeDescription
av_playerstringIdentifiant du lecteur
av_player_versionstringVersion du lecteur
av_player_positionstringPosition du lecteur
av_contentstringTitre du contenu
av_content_idstringIdentifiant du contenu
av_content_typestringType de contenu (Audio/Video/Gaming…)
av_content_durationnumberDurée de contenu en millisecondes
av_content_versionstringVersion du contenu
av_content_genrestring arrayCatégorie de contenu (news/entertainment…)
av_content_linkedstringContenu lié
av_content_duration_rangestringPlage de durée du contenu (‘0-10’…)
av_broadcasting_typestringContenu live/à la demande
av_ad_typestringType pour une publicité (Pre-roll/Mid-Roll/Post-Roll)
av_publication_datenumberDate de publication du contenu en secondes (format UTC)
av_showstringNom de l’émission
av_show_seasonstringNom de la saison
av_episode_idstringIdentifiant de l’épisode
av_episodestringNom de l’épisode
av_channelstringChaîne
av_authorstringNom de l’auteur
av_broadcasterstringNom de l’entité de diffusion
av_auto_modebooleanMode de lecture automatique
av_languagestringLangue du media
av_subtitlesstringSous-titres
av_launch_reasonstringMotif du lancement
 

Liste des événements standards

Evénements
av.heartbeat
av.buffer.heartbeat
av.rebuffer.heartbeat
av.play
av.buffer.start
av.rebuffer.start
av.start
av.resume
av.pause
av.stop
av.forward
av.backward
av.seek.start
av.ad.click
av.ad.skip
av.error
av.display
av.close
av.volume
av.subtitle.on
av.subtitle.off
av.fullscreen.on
av.fullscreen.off
av.quality
av.speed
av.share
 

Liste des options disponibles

OptionDescription
av_positionPosition courante de la tête de lecture (ms)
av_previous_positionPosition précédente de la tête de lecture (ms)
av_player_errorErreur empêchant une lecture
Dernière mise à jour : 14/01/2022