타사 앱 및 서비스 개발자는 Infuse의 강력한 동영상 재생 기능을 활용하여 유연한 URL 스키마를 통해 동영상을 재생하고, 즐겨찾기에 추가하고, 다운로드하며, 재생 상태를 모니터링할 수 있습니다. 작업이 완료되면 다른 앱으로 돌아갈 수 있는 x-callback 기능도 지원됩니다.
사용 가능한 플랫폼: iPhone, iPad, Apple TV, Mac 및 Vision
Infuse 버전: 8.4.7 (또는 그 이후 버전)
재생을 위해 인퓨즈에 동영상 보내기
하나 이상의 동영상을 재생하고 완료되면 다른 앱으로 돌아가기
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-성공에는 매개 변수가 없습니다.
- x-error는 한 번 호출되며 실패한 URL(예: 유효하지 않은 링크)을 반환합니다.
URL 인코딩
x-callback-url 사양에 따라 모든 쿼리 문자열 값은 URL 안전 또는 인코딩된 값이어야 합니다. 인코딩되지 않은 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 번호를 사용하여 Infuse 라이브러리의 항목에 직접 연결할 수 있습니다. 참고: 제목이 라이브러리에 없는 경우 TMDB 데이터가 있는 자리 표시자 페이지가 표시됩니다.
동영상 링크
infuse://movie/{tmdb_id}TV 시리즈 링크
infuse://series/{tmdb_id}TV 시리즈 시즌 링크
infuse://series/{tmdb_id}-{season_number}TV 시리즈 에피소드 링크
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, 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 | 시리즈 제목 (에피소드만) |