サードパーティ製アプリやサービスの開発者は、Infuseの強力な動画再生機能を活用し、柔軟なURLスキームを用いて、動画の再生、ブックマーク、ダウンロード、および再生状況の確認を行うことができます。また、 x-callback のサポートもあり、アクションが完了したら別のアプリに戻ることができる。
利用可能なプラットフォーム:iPhone、iPad、Apple TV、Mac、Vision
Infuse のバージョン:8.4.7(またはそれ以降)
インフューズにビデオを送って再生する
1つまたは複数のビデオを再生し、終了したら別のアプリに戻る
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にリンクを保存して再生やダウンロードを行う
後で再生するために1つまたは複数のビデオ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エントリをサポート
- 字幕とファイル名のパラメータはオプション
- ファイル名を指定すると、推奨されるファイル命名スタイルのいずれかを使用する場合に、正確なメタデータを提供するのに役立ちます。
- Downloadパラメータは、オフライン再生のためにファイルのダウンロードを開始するために使用することができます(0=リンクの保存のみ、1=リンクの保存とダウンロード)
- ダウンロードパラメータはリクエスト全体に適用されます。
- x-successにはパラメータがありません。
- x-errorは一度だけ呼び出され、失敗したURL(EG無効リンク)を返す。
URLエンコーディング
x-callback-url specに従い、すべてのクエリストリング値はurl-safeかエンコードされるべきです。エンコードされていないURLでも動作する場合もありますが、複数のパラメータを持つアクションや複数のキーを持つURLを使用する場合は、おそらく URLを手動でエンコードする必要があります。
例
エンコードされていないURL
http://192.168.162.100/Movies/movie.mkvエンコードされたURL
http%3A%2F%2F192.168.162.100%2FMovies%2Fmovie.mkvインフューズ・ライブラリー項目へのディープリンク
アプリは、適切なTMDB ID番号を使用して、インフューズ・ライブラリのアイテムに直接リンクすることができます。注:タイトルがライブラリに存在しない場合、TMDBデータのプレースホルダページが表示されます。
映画へのリンク
infuse://movie/{tmdb_id}テレビシリーズへのリンク
infuse://series/{tmdb_id}TVシリーズシーズンへのリンク
infuse://series/{tmdb_id}-{season_number}テレビシリーズのエピソードへのリンク
infuse://series/{tmdb_id}-{season_number}-{episode_number}任意
ディープリンクの末尾に「?play」パラメータを追加すると、リンク先のライブラリアイテムの再生が自動的に開始されます。
例
infuse://movie/1327819?play現在再生中のステータス
Infuseは、ローカルネットワーク上で読み取り専用の「Now Playing」サービスを公開することができ、他のアプリが、再生元(NAS、Plex、Jellyfinなど)に関係なく、現在何が再生されているかを確認できるようにします。これにより、他のサードパーティ製アプリやサービスが、その時点でInfuseで再生されているコンテンツの詳細情報を取得できるようになります。
注:この機能はデフォルトでは無効になっていますが、Infuseの「 > 」→「Settings」→「 > 」→「Playback」→「 > 」→「Now Playing API」で有効にすることができます。 Infuse 8.5.9 以降が必要です。
ディスカバリー
| 仕様 | 値 |
|---|---|
| サービスの種類 | _infuse-np._tcp |
| ドメイン | local. |
| インスタンス名 | Infuse(デバイス名) |
| ポート | 一時的 - 常にSRVレコードから読み込む |
エンドポイント
GET /nowplaying
HTTP/1.1, unencrypted, Connection: close
200 + JSON body; 400 malformed request; 404 any other method/path
応答フィールド
| フィールド | 説明 |
|---|---|
| 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 |
| imdbID | IMDb ID(例:「tt0133093」など)、利用可能な場合 |
| tvdbID | TVDB ID(利用可能な場合) |
| season / episode | シーズンとエピソード番号(エピソード) |
| title | タイトル:識別できない項目についてはファイル名にフォールバックする |
| seriesTitle | シリーズタイトル(エピソードのみ) |