API per applicazioni e servizi di terze parti

  • Aggiornato

Gli sviluppatori di app e servizi di terze parti possono sfruttare le potenti funzionalità di riproduzione video di Infuse per riprodurre, aggiungere ai preferiti, scaricare e monitorare lo stato della riproduzione utilizzando schemi URL flessibili. È disponibile anche il supporto per x-callback , che consente di tornare a un'altra applicazione al termine di un'azione.

Piattaforme disponibili: iPhone, iPad, Apple TV, Mac e Vision

Versione di Infuse: 8.4.7 (o successive)

Invio di video a Infuse per la riproduzione

Riprodurre uno o più video e tornare a un'altra applicazione una volta terminati

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

Segnalazione dei successi e degli errori

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

Note

  • Supporta voci di url singole o multiple
  • I parametri relativi al sottotitolo, al nome del file e alla posizione sono facoltativi
  • Specificare un nome di file può aiutare a fornire metadati accurati quando si utilizza uno degli stili di denominazione dei file consigliati
  • Se si specifica un valore di posizione (espresso come numero intero di secondi), il video partirà o riprenderà dalla posizione indicata
  • Tutti gli URL vengono riprodotti in sequenza come una playlist temporanea.
  • x-success non viene chiamato per ogni singolo URL dell'elenco, ma una sola volta al termine della riproduzione della playlist o alla chiusura del lettore. Restituisce l'ultimo URL + la posizione (in secondi).
  • x-error viene richiamato una volta e restituisce gli URL falliti (errori non validi o di riproduzione).

Salvataggio dei link in Infuse per la riproduzione e/o il download

Salvare (segnalibro) uno o più URL video da riprodurre in seguito

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

Segnalazione dei successi e degli errori

x-success

some-app://success

x-error

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

Note

  • Supporta voci di url singole o multiple
  • I parametri Sottotitolo e Nome file sono facoltativi.
  • Specificare un nome di file può aiutare a fornire metadati accurati quando si utilizza uno degli stili di denominazione dei file consigliati
  • Il parametro Download può essere utilizzato per iniziare a scaricare i file per la riproduzione offline (0=salva solo il link, 1=salva il link e scarica).
  • Il parametro Download si applica all'intera richiesta
  • x-success non ha parametri
  • x-error viene richiamato una volta e restituisce gli URL falliti (link non validi di EG).

Codifica URL

Secondo la specifica x-callback-url, tutti i valori delle querystring devono essere url-safe o codificati. Gli URL non codificati possono funzionare in alcuni casi, ma quando si utilizzano azioni con più parametri o URL con più chiavi, probabilmente sarà necessario codificare manualmente gli URL.

Esempi

URL non codificato

http://192.168.162.100/Movies/movie.mkv

URL codificato

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

Collegamento profondo agli elementi della libreria Infuse

Le applicazioni possono collegarsi direttamente agli elementi della libreria Infuse utilizzando i numeri ID TMDB appropriati. Nota: se un titolo non è presente nella biblioteca, verrà visualizzata una pagina segnaposto con i dati TMDB.

Collegamento a un film

infuse://movie/{tmdb_id}

Collegamento a una serie TV

infuse://series/{tmdb_id}

Collegamento a una stagione della serie TV

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

Collegamento a un episodio della serie TV

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

Facoltativo

Aggiungi il parametro ?play alla fine di un deep link per avviare automaticamente la riproduzione dell'elemento della libreria collegato.

Esempio

infuse://movie/1327819?play

Stato della riproduzione in corso

Infuse può rendere visibile sulla rete locale un servizio "Now Playing" in sola lettura, consentendo ad altre app di vedere cosa è in riproduzione in quel momento, indipendentemente dalla fonte (NAS, Plex, Jellyfin, ecc.). Ciò consente ad altre app o servizi di terze parti di leggere le informazioni relative a ciò che viene riprodotto in Infuse in un dato momento.

Nota: questa funzione è disattivata per impostazione predefinita, ma può essere attivata in Infuse > Impostazioni > Riproduzione > API "In riproduzione". Richiede Infuse 8.5.9 o versioni successive.

Scoperta

Specifiche Valore
Tipo di servizio _infuse-np._tcp
Dominio local.
Nome dell'istanza Infuse (nome del dispositivo)
Porta effimero - viene sempre letto dal record SRV

Endpoint

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

Campi di risposta

Campo Descrizione
state in riproduzione, in pausa o inattivo (nessuna riproduzione in corso)
positionSeconds Posizione corrente di riproduzione, in secondi
durationSeconds Durata totale, in secondi
item Dettagli dell'elemento di riproduzione; valore nullo quando lo stato è "inattivo"

Esempio

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

Campi dell'articolo

Campo Descrizione
kind film o episodio
tmdbID ID TMDB — ID del film per i film, ID della serie per gli episodi
imdbID ID IMDb (ad es. “tt0133093”), se disponibile
tvdbID ID TVDB, se disponibile
season / episode Numeri di stagione e di episodio (episodi)
title Titolo: per gli elementi non identificati viene utilizzato il nome del file
seriesTitle Titolo della serie (solo episodi)
Condividi questo articolo

Questo articolo ti è stato utile?

Utenti che ritengono sia utile: 84 su 132

Altre domande? Invia una richiesta