協力廠商應用程式與服務的 API

  • 更新於

第三方應用程式與服務的開發者可善用 Infuse 強大的影片播放功能,透過靈活的 URL 方案來播放、加入書籤、下載影片,並監控播放狀態。支援 x-回調 也可用,允許在操作完成後返回到另一個應用程式。

可用平台:iPhone、iPad、Apple TV、Mac 和 Vision

Infuse 版本:8.4.7(或更新版本)

將影片傳送至 Infuse 以進行播放

播放一個或多個視訊,完成後返回另一個應用程式

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

成功與錯誤報告

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

注意事項

  • 支援單一或多重 URL 輸入
  • 副標題、檔案名稱和位置參數皆為選填
  • 在使用其中一種建議的檔案命名樣式時,指定檔案名稱有助於提供精確的元資料
  • 指定一個位置值(以整數秒數表示)將使影片從指定位置開始播放或繼續播放
  • 所有 URL 會依序播放為臨時播放清單
  • x-success 不會針對清單中的每個 URL 分別呼叫,而是在播放清單播放結束或播放器關閉時呼叫一次。返回最後一個 URL 及其位置(以秒為單位)。
  • x-error 會呼叫一次,並傳回失敗的 URL (無效或播放錯誤)

在 Infuse 中儲存連結以便播放和/或下載

儲存(加入書籤)一個或多個視訊 URL,以便稍後播放

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

成功與錯誤報告

x-success

some-app://success

x-error

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

注意事項

  • 支援單一或多重 URL 輸入
  • 字幕和檔案名稱參數是可選的
  • 在使用其中一種建議的檔案命名樣式時,指定檔案名稱有助於提供精確的元資料
  • 下載參數可用於開始下載檔案以供離線播放 (0= 僅儲存連結,1= 儲存連結並下載)
  • 下載參數適用於整個請求
  • x-success 沒有參數
  • x-error 會呼叫一次,並返回失敗的 URL (EG 無效連結)

URL 編碼

每一個 x-callback-url 規格,所有 querystring 值都應該是 url-safe 或 encoded。在某些情況下,未編碼的 URL 可能有效,但在使用具有多個參數的操作或具有多個鍵的 URL 時,您可能需要這樣做 手動對 URL 進行編碼.

例子

未編碼的 URL

http://192.168.162.100/Movies/movie.mkv

編碼的 URL

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

深層連結至 Infuse 圖書館項目

應用程式可以使用適當的 TMDB ID 號碼直接連結至 Infuse 資料庫中的項目。注意:如果圖庫中沒有標題,則會顯示包含 TMDB 資料的占位符頁面。

連結至電影

infuse://movie/{tmdb_id}

連結至電視連續劇

infuse://series/{tmdb_id}

連結至電視劇季

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

連結至電視劇集

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

可選

在深度連結的末尾加入?play參數,即可自動開始播放連結的媒體項目。

範例

infuse://movie/1327819?play

目前播放狀態

Infuse 可在區域網路中廣播一個唯讀的「正在播放」服務,讓其他應用程式能查看當前正在播放的內容——無論來源為何(NAS、Plex、Jellyfin 等)。這使得其他第三方應用程式或服務能夠讀取 Infuse 在任何特定時刻正在播放的內容詳情。

注意:此功能預設為停用狀態,但可在 Infuse 中啟用: > → 設定 > → 播放 > → 「正在播放」API。需使用 Infuse 8.5.9 或更新版本。

探索

規格 價值
服務類型 _infuse-np._tcp
網域 local.
實例名稱 Infuse(裝置名稱)
港口 短暫的 - 總是從 SRV 記錄中讀取

終點

GET /nowplaying
HTTP/1.1,未加密,Connection: close
200 + JSON 內容;400 請求格式錯誤;404 任何其他方法/路徑

回應欄位

領域 說明
state 正在播放、暫停中,或閒置(無內容播放)
positionSeconds 當前播放位置,秒
durationSeconds 總持續時間,秒
item 播放項目的詳細資訊;當狀態為閒置時,此值為 null

範例

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

項目欄位

領域 說明
kind 電影或劇集
tmdbID TMDB ID — 電影的 ID,影集的 ID 則指單集的 ID
imdbID IMDb 編號(例如「tt0133093」),如有提供
tvdbID TVDB 編號(如有)
season / episode 季數與集數(集)
title 標題;若無法識別項目,則改用檔案名稱
seriesTitle 系列名稱(僅限集數)
分享這篇文章

這篇文章是否有幫助?

131 人中有 83 人覺得有幫助

還有其他問題?提交請求