API voor apps en services van derden

  • Bijgewerkt

Ontwikkelaars van apps en diensten van derden kunnen gebruikmaken van de krachtige videoweergavefuncties van Infuse om video’s af te spelen, bladwijzers toe te voegen, te downloaden en de afspeelstatus te volgen met behulp van flexibele URL-schema’s. Ondersteuning voor x-callback is ook beschikbaar, wat het mogelijk maakt om terug te keren naar een andere app zodra een actie is voltooid.

Beschikbare platforms: iPhone, iPad, Apple TV, Mac en Vision

Infuse-versie: 8.4.7 (of hoger)

Video's naar Infuse sturen om af te spelen

Een of meer video's afspelen en terugkeren naar een andere app als je klaar bent

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

Succes- en foutrapportage

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

Opmerkingen

  • Ondersteunt enkelvoudige of meervoudige url-invoer
  • De parameters voor ondertitel, bestandsnaam en positie zijn optioneel
  • Het opgeven van een bestandsnaam kan helpen bij het leveren van nauwkeurige metagegevens wanneer een van de aanbevolen bestandsnaamgevingsstijlen wordt gebruikt
  • Als je een positie opgeeft (uitgedrukt als een geheel getal in seconden), wordt de video vanaf die positie gestart of hervat
  • Alle URL's worden achtereenvolgens afgespeeld als een tijdelijke afspeellijst
  • x-success wordt niet voor elke afzonderlijke URL in de lijst aangeroepen, maar slechts één keer wanneer het afspelen van de afspeellijst is voltooid of wanneer de speler wordt gesloten. Geeft de laatste URL + positie (in seconden) weer.
  • x-error wordt één keer aangeroepen en retourneert mislukte URL's (ongeldige of weergavefouten)

Koppelingen opslaan in Infuse voor afspelen en/of downloaden

Een of meer video-URL's opslaan (bookmarken) om later af te spelen

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

Succes- en foutrapportage

x-success

some-app://success

x-error

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

Opmerkingen

  • Ondersteunt enkelvoudige of meervoudige url-invoer
  • Ondertitel- en bestandsnaamparameters zijn optioneel
  • Het opgeven van een bestandsnaam kan helpen bij het leveren van nauwkeurige metagegevens wanneer een van de aanbevolen bestandsnaamgevingsstijlen wordt gebruikt
  • Download parameter kan worden gebruikt om te beginnen met het downloaden van bestanden voor offline afspelen (0=alleen link opslaan, 1=link opslaan en downloaden)
  • Downloadparameter geldt voor het hele verzoek
  • x-succes heeft geen parameters
  • x-error wordt één keer aangeroepen en retourneert mislukte URL's (EG ongeldige links)

URL-codering

Volgens de x-callback-url specmoeten alle querystringwaarden url-veilig of gecodeerd zijn. Ongecodeerde URL's kunnen in sommige gevallen werken, maar als je acties met meerdere parameters of URL's met meerdere sleutels gebruikt, moet je waarschijnlijk handmatig je URL's coderen.

Voorbeelden

Ongecodeerde URL

http://192.168.162.100/Movies/movie.mkv

Gecodeerde URL

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

Deep Linking naar Infuse-bibliotheekitems

Apps kunnen direct linken naar items in de Infuse-bibliotheek met behulp van de juiste TMDB ID-nummers. Opmerking: Als een titel niet aanwezig is in de bibliotheek, wordt een tijdelijke pagina met TMDB-gegevens weergegeven.

Link naar een film

infuse://movie/{tmdb_id}

Link naar een tv-serie

infuse://series/{tmdb_id}

Link naar een seizoen van een tv-serie

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

Link naar een aflevering van een tv-serie

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

Optioneel

Voeg de parameter ?play toe aan het einde van een deep link om het afspelen van het gekoppelde bibliotheekitem automatisch te starten.

Voorbeeld

infuse://movie/1327819?play

Status 'Nu afspelen'

Infuse kan op het lokale netwerk een ‘Now Playing’-dienst in leesmodus aanbieden, waardoor andere apps kunnen zien wat er op dat moment wordt afgespeeld – ongeacht de bron (NAS, Plex, Jellyfin, enz.). Hierdoor kunnen apps of diensten van derden op elk moment informatie opvragen over wat er op dat moment in Infuse wordt afgespeeld.

Opmerking: Deze functie is standaard uitgeschakeld, maar kan worden ingeschakeld in Infuse > Instellingen > Afspelen > API ‘Nu aan het afspelen’. Vereist Infuse 8.5.9 of hoger.

Ontdekking

Specificaties Waarde
Soort dienst _infuse-np._tcp
Domein local.
Naam van de instantie Infuse (naam van het apparaat)
Haven tijdelijk – wordt altijd uit het SRV-record gelezen

Eindpunt

GET /nowplaying
HTTP/1.1, onversleuteld, Connection: close
200 + JSON-body; 400 onjuist opgebouwd verzoek; 404 elke andere methode/elk ander pad

Invoervelden

Veld Beschrijving
state wordt afgespeeld, is gepauzeerd of is inactief (er wordt niets afgespeeld)
positionSeconds Huidige afspeelpositie, in seconden
durationSeconds Totale duur, seconden
item Details van het afspeelitem; null wanneer de status ‘inactief’ is

Voorbeeld

{
  "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
}

Velden van het item

Veld Beschrijving
kind film of aflevering
tmdbID TMDB-ID — film-ID voor films, serie-ID voor afleveringen
imdbID IMDb-ID (bijv. „tt0133093“), indien beschikbaar
tvdbID TVDB-ID, indien beschikbaar
season / episode Seizoen- en afleveringsnummers (afleveringen)
title Titel; bij niet-geïdentificeerde items wordt de bestandsnaam gebruikt
seriesTitle Titel van de serie (alleen afleveringen)
Deel dit artikel

Was dit artikel nuttig?

Aantal gebruikers dat dit nuttig vond: 84 van 132

Hebt u meer vragen? Een aanvraag indienen