API para aplicaciones y servicios de terceros

  • Actualización

Los desarrolladores de aplicaciones y servicios de terceros pueden aprovechar las potentes funciones de reproducción de vídeo de Infuse para reproducir, marcar como favorito, descargar y supervisar el estado de la reproducción mediante esquemas de URL flexibles. También es compatible con x-callback , que permite volver a otra aplicación una vez finalizada una acción.

Plataformas disponibles: iPhone, iPad, Apple TV, Mac y Vision

Versión de Infuse: 8.4.7 (o posterior)

Envío de vídeos a Infuse para su reproducción

Reproducir uno o varios vídeos y volver a otra aplicación al terminar

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

Informes de éxito y error

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

Notas

  • Admite entradas de url únicas o múltiples
  • Los parámetros de subtítulo, nombre de archivo y posición son opcionales
  • Especificar un nombre de archivo puede ayudar a proporcionar metadatos precisos cuando se utiliza uno de los estilos de denominación de archivos recomendados
  • Si se especifica un valor de posición (expresado como un número entero de segundos), el vídeo comenzará o se reanudará desde la posición indicada
  • Todas las URL se reproducen secuencialmente como una lista de reproducción temporal
  • x-success no se invoca para cada URL de la lista, sino una sola vez, cuando finaliza la reproducción de la lista de reproducción o cuando se cierra el reproductor. Devuelve la última URL + la posición (en segundos).
  • x-error se llama una vez y devuelve URLs fallidas (inválidas o errores de reproducción)

Guardar enlaces en Infuse para su reproducción y/o descarga

Guardar (marcar) una o varias URL de vídeo para reproducirlas más tarde

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

Informes de éxito y error

x-success

some-app://success

x-error

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

Notas

  • Admite entradas de url únicas o múltiples
  • Los parámetros de subtítulo y nombre de archivo son opcionales
  • Especificar un nombre de archivo puede ayudar a proporcionar metadatos precisos cuando se utiliza uno de los estilos de denominación de archivos recomendados
  • El parámetro de descarga puede utilizarse para iniciar la descarga de archivos para su reproducción sin conexión (0=sólo guardar enlace, 1=guardar enlace y descargar)
  • El parámetro de descarga se aplica a toda la solicitud
  • x-success no tiene parámetros
  • x-error se invoca una vez y devuelve URLs fallidas (EG enlaces inválidos)

Codificación URL

Según la especificación x-callback-url, todos los valores de la cadena de consulta deben ser url-safe o estar codificados. Las URL sin codificar pueden funcionar en algunos casos, pero cuando utilice acciones con varios parámetros o URL con varias claves probablemente tendrá que codificar manualmente sus URL.

Ejemplos

URL sin codificar

http://192.168.162.100/Movies/movie.mkv

URL codificada

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

Enlaces profundos a elementos de la biblioteca Infuse

Las aplicaciones pueden enlazarse directamente a elementos de la biblioteca Infuse utilizando los números de ID de TMDB correspondientes. Nota: Si un título no está presente en la biblioteca, se mostrará una página de marcador de posición con datos de la TMDB.

Enlace a una película

infuse://movie/{tmdb_id}

Enlace a una serie de televisión

infuse://series/{tmdb_id}

Enlace a una temporada de una serie de televisión

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

Enlace a un episodio de una serie de televisión

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

Opcional

Añade el parámetro «play» al final de un enlace directo para iniciar automáticamente la reproducción del elemento de la biblioteca al que apunta el enlace.

Ejemplo

infuse://movie/1327819?play

Estado de reproducción actual

Infuse puede publicar un servicio «Ahora en reproducción» de solo lectura en la red local, lo que permite a otras aplicaciones ver qué se está reproduciendo en ese momento, independientemente de la fuente (NAS, Plex, Jellyfin, etc.). Esto permite que otras aplicaciones o servicios de terceros puedan consultar información sobre lo que se está reproduciendo en Infuse en un momento dado.

Nota: Esta función está desactivada por defecto, pero se puede activar en Infuse > Configuración > Reproducción > API «Ahora en reproducción». Requiere Infuse 8.5.9 o una versión posterior.

Descubrimiento

Especificaciones Valor
Tipo de servicio _infuse-np._tcp
Dominio local.
Nombre de la instancia Infuse (nombre del dispositivo)
Puerto efímero: siempre se lee del registro SRV

Punto final

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

Campos de respuesta

Campo Descripción
state en reproducción, en pausa o inactivo (no se está reproduciendo nada)
positionSeconds Posición actual de reproducción, en segundos
durationSeconds Duración total, en segundos
item Detalles del elemento de reproducción; nulo cuando el estado es «inactivo»

Ejemplo

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

Campos del artículo

Campo Descripción
kind película o episodio
tmdbID ID de TMDB: ID de película para las películas e ID de serie para los episodios
imdbID ID de IMDb (por ejemplo, «tt0133093»), cuando esté disponible
tvdbID ID de TVDB, cuando esté disponible
season / episode Números de temporada y de episodio (episodios)
title Título: se utiliza el nombre del archivo como título por defecto para los elementos no identificados
seriesTitle Título de la serie (solo episodios)
Comparte este artículo

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 84 de 132

¿Tiene más preguntas? Enviar una solicitud