API pour les applications et services tiers

  • Mise à jour

Les développeurs d'applications et de services tiers peuvent tirer parti des puissantes fonctionnalités de lecture vidéo d'Infuse pour lire, ajouter des signets, télécharger et surveiller l'état de la lecture à l'aide de schémas d'URL flexibles. La prise en charge de x-callback est également disponible, ce qui permet de revenir à une autre application une fois qu'une action a été effectuée.

Plateformes disponibles : iPhone, iPad, Apple TV, Mac et Vision

Version d'Infuse : 8.4.7 (ou ultérieure)

Envoi de vidéos à Infuse pour lecture

Lire une ou plusieurs vidéos et revenir à une autre application une fois la lecture terminée

infuse://x-callback-url/play?url=https://files.firecore.com/infuse/sample-5s-360p.mp4&
position=0&
filename=Inception-2010.mp4&
sub=https://files.firecore.com/infuse/example.srt&
url=https://files.firecore.com/infuse/mov_bbb.mp4&
position=6&
filename=Mad-Men-S01-E01.mp4&
sub=https://files.firecore.com/infuse/example2.srt&
x-success=some-app://success&
x-error=some-app://error

Rapports de réussite et d'erreur

x-success

some-app://success?lastPlayedUrl=https://files.firecore.com/infuse/mov_bbb.mp4&
position=8

x-error

some-app://error?errorCode=100&
errorMessage=Unsupported%20content&
failedUrl=invalid_url1&
failedUrl=invalid_url2

Notes

  • Prise en charge d'entrées d'url simples ou multiples
  • Les paramètres « Sous-titre », « Nom de fichier » et « Position » sont facultatifs
  • La spécification d'un nom de fichier peut aider à fournir des métadonnées précises lors de l'utilisation de l'un des styles de dénomination de fichier recommandés
  • Si vous indiquez une valeur de position (exprimée en nombre entier de secondes), la lecture de la vidéo commencera ou reprendra à partir de la position indiquée
  • Tous les URL sont lus séquentiellement sous la forme d'une liste de lecture temporaire.
  • La fonction x-success n'est pas appelée pour chaque URL de la liste, mais une seule fois, à la fin de la lecture de la liste de lecture ou à la fermeture du lecteur. Renvoie la dernière URL + la position (en secondes).
  • x-error est appelé une fois et renvoie les URLs qui ont échoué (erreurs invalides ou de lecture)

Sauvegarde de liens dans Infuse pour la lecture et/ou le téléchargement

Enregistrer (signet) une ou plusieurs URL vidéo pour les lire plus tard

infuse://x-callback-url/save?
url=https://files.firecore.com/infuse/sample-5s-360p.mp4&
filename=Inception-2010.mp4&
sub=https://files.firecore.com/infuse/example1.srt&
url=https://files.firecore.com/infuse/mov_bbb.mp4&
filename=Mad-Men-S01-E01.mp4&
sub=https://files.firecore.com/infuse/example2.srt&
download=0&
x-success=some-app://success&
x-error=some-app://error

Rapports de réussite et d'erreur

x-success

some-app://success

x-error

some-app://error?errorCode=100&
errorMessage=Unsupported%20content&
failedUrl=invalid_url1&
failedUrl=invalid_url2

Notes

  • Prise en charge d'entrées d'url simples ou multiples
  • Les paramètres sous-titre et nom de fichier sont facultatifs.
  • La spécification d'un nom de fichier peut aider à fournir des métadonnées précises lors de l'utilisation de l'un des styles de dénomination de fichier recommandés
  • Le paramètre de téléchargement peut être utilisé pour commencer à télécharger des fichiers pour une lecture hors ligne (0=lien de sauvegarde uniquement, 1=lien de sauvegarde et téléchargement).
  • Le paramètre de téléchargement s'applique à l'ensemble de la demande
  • x-success n'a pas de paramètres
  • x-error est appelé une fois et renvoie les URL qui ont échoué (liens invalides EG)

Codage de l'URL

Conformément à la spécification x-callback-url, toutes les valeurs des chaînes de requête doivent être sûres ou codées. Les URL non codées peuvent fonctionner dans certains cas, mais lorsque vous utilisez des actions avec des paramètres multiples ou des URL avec des clés multiples, vous devrez probablement coder manuellement vos URL.

Exemples

URL non codé

http://192.168.162.100/Movies/movie.mkv

URL codé

http%3A%2F%2F192.168.162.100%2FMovies%2Fmovie.mkv

Des liens profonds pour enrichir les documents de la bibliothèque

Les applications peuvent renvoyer directement aux éléments de la bibliothèque Infuse en utilisant les numéros d'identification TMDB appropriés. Note : Si un titre n'est pas présent dans la bibliothèque, une page de remplacement avec les données de la BDMT sera affichée.

Lien vers un film

infuse://movie/{tmdb_id}

Lien vers une série télévisée

infuse://series/{tmdb_id}

Lien vers une saison de série télévisée

infuse://series/{tmdb_id}-{season_number}

Lien vers un épisode de série télévisée

infuse://series/{tmdb_id}-{season_number}-{episode_number}

Facultatif

Ajoutez le paramètre « play » à la fin d'un lien profond pour lancer automatiquement la lecture de l'élément de la bibliothèque vers lequel renvoie le lien.

Exemple

infuse://movie/1327819?play

État de la lecture en cours

Infuse peut diffuser un service « Now Playing » en lecture seule sur le réseau local, permettant ainsi aux autres applications de voir ce qui est en cours de lecture, quelle que soit la source (NAS, Plex, Jellyfin, etc.). Cela permet à d'autres applications ou services tiers d'accéder aux informations relatives au contenu en cours de lecture dans Infuse à tout moment.

Remarque : cette fonctionnalité est désactivée par défaut, mais peut être activée dans Infuse > Paramètres > Lecture > API « En cours de lecture ». Nécessite la version 8.5.9 ou une version ultérieure d'Infuse.

Découverte

Caractéristiques techniques Valeur
Type de service _infuse-np._tcp
Domaine local.
Nom de l'instance Infuse (nom de l'appareil)
Port éphémère - lecture toujours à partir de l'enregistrement SRV

Point d'extrémité

GET /nowplaying
HTTP/1.1, unencrypted, Connection: close
200 + JSON body; 400 malformed request; 404 any other method/path

Champs de réponse

Champ Description
state en cours de lecture, en pause ou inactif (rien n'est en cours de lecture)
positionSeconds Position actuelle de lecture, en secondes
durationSeconds Durée totale, en secondes
item Détails de l'élément de lecture ; valeur nulle lorsque l'état est « inactif »

Exemple

{
  "state": "playing" | "paused" | "idle",
  "positionSeconds": double | null,
  "durationSeconds": double | null,
  "item": {
    "kind": "movie" | "episode",
    "tmdbID": string | null,
    "imdbID": string | null,
    "tvdbID": string | null,
    "season": int | null,
    "episode": int | null,
    "title": string | null,
    "seriesTitle": string | null
  } | null
}

Champs de l'article

Champ Description
kind film ou épisode
tmdbID Identifiant TMDB — identifiant de film pour les films, identifiant de série pour les épisodes
imdbID Identifiant IMDb (par exemple « tt0133093 »), le cas échéant
tvdbID Identifiant TVDB, le cas échéant
season / episode Numéros de saison et d'épisode (épisodes)
title Titre : si l'élément n'est pas identifié, on utilise le nom du fichier par défaut
seriesTitle Titre de la série (épisodes uniquement)
Partager cet article

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 83 sur 131

Vous avez d’autres questions ? Envoyer une demande