第三方應用程式與服務的開發者可善用 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 | 系列名稱(僅限集數) |