サードパーティアプリ&サービス用API

  • 更新

サードパーティ製アプリやサービスの開発者は、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 シリーズタイトル(エピソードのみ)
この記事をシェアする

この記事は役に立ちましたか?

132人中84人がこの記事が役に立ったと言っています

他にご質問がございましたら、リクエストを送信してください