라이브 스트리밍 API
라이브 스트리밍 API은 라이브 이벤트에 대한 정보를 발견하고 검색하는 엔드포인트를 제공합니다. 이로 인해 “라이브 현재” 디렉토리를 만들고 애플리케이션 내에 라이브 플레이어를 삽입할 수 있습니다.
현재 활성화된 라이브 스트리밍 가져오기
이것은 현재 “온 에어” 상태인 스트림을 발견하는 데 사용되는 기본 엔드포인트입니다. 활성화된 스트림만 반환합니다.
GET /live-streams/active
매개변수
이 엔드포인트는 매개 변수를 받지 않습니다. 계정에 대한 모든 활성 스트림을 반환합니다.
예제 요청
GET /api/client/v1/live-streams/active
호스트: https://your-app.com
인증: Bearer sk-your-api-key-here
응답: GET /live-streams/active
활성화된 스트림이 있는 경우, 활성화된 LiveStream
객체의 배열을 반환합니다. status
는 “active”로 설정되고 manifest
객체가 포함됩니다.
응답: 200 OK (스트리밍이 활성화됨)
{
"데이터": [
{
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"제목": "주간 Q&A 세션",
"설명": "라이브로 질문에 답변합니다.",
"상태": "활성화됨",
"매니페스트": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"메타데이터": {
"카테고리": "기술 토론",
"호스트": "Jane Doe"
},
"태그": ["라이브", "Q&A"],
"생성일": "2024-08-01T10:00:00Z"
}
]
}
활성화된 스트림이 없으면, API은 비어있는 데이터 배열을 반환합니다.
응답: 200 OK (스트리밍이 활성화되지 않음)
{
"데이터": []
}
모든 라이브 스트리밍 가져오기
이 엔드포인트는 계정에 구성된 모든 라이브 스트림을 페이지당 반환하는 페이징 디렉토리를 제공합니다. 현재 상태 (활성 또는 비활성)와 관계없이.
GET /live-streams
매개변수
이름 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
per_page | integer | 선택 사항 | 페이지당 반환할 스트림의 수. 기본값: 15 , 최대: 100 . |
예제 요청
GET /api/client/v1/live-streams?per_page=2
응답: GET /live-streams
응답은 표준 페이징 목록입니다. status
는 “활성화됨” 또는 “비활성화됨”으로 설정되고, 활성 스트림만 manifest
객체가 포함됩니다.
응답: 200 OK
{
"데이터": [
{
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"제목": "주간 Q&A 세션",
"설명": "라이브로 질문에 답변합니다.",
"상태": "활성화됨",
"매니페스트": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"메타데이터": {
"카테고리": "기술 토론"
},
"태그": ["라이브", "Q&A"],
"생성일": "2024-08-01T10:00:00Z"
},
{
"id": "9c1a9e3e-1a2b-3c4d-5e6f-7g8h9i0j1k2l",
"제목": "향후 제품 출시",
"설명": "우리에 대한 큰 공개를 JOIN 해보세요.",
"상태": "비활성화됨",
"메타데이터": {
"카테고리": "제품"
},
"태그": ["출시", "이벤트"],
"생성일": "2024-07-25T15:00:00Z"
}
],
"링크": {
"첫 번째": "https://your-app.com/api/client/v1/live-streams?page=1",
"마지막": "https://your-app.com/api/client/v1/live-streams?page=3",
"이전": null,
"다음": "https://your-app.com/api/client/v1/live-streams?page=2"
},
"메타": {
"현재 페이지": 1,
"시작": 1,
"마지막 페이지": 3,
"경로": "https://your-app.com/api/client/v1/live-streams",
"페이지당": 2,
"끝": 2,
"전체": 6
}
}
단일 라이브 스트리밍 가져오기
단일 라이브 스트림의 전체 세부 정보를 가져옵니다. 이 엔드포인트는 스트림을 로드하기 위한 필요한 정보를 얻기 위해 사용됩니다.
GET /live-streams/{streamId}
경로 매개변수
이름 | 타입 | 설명 |
---|---|---|
streamId | uuid | 필수. 라이브 스트림의 고유 식별자입니다. |
예제 요청
GET /api/client/v1/live-streams/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f
응답: GET /live-streams/{streamId}
응답은 단일 LiveStream
객체입니다. 스트림이 활성화된 경우, manifest
가 포함됩니다.
응답: 200 OK (스트리밍이 활성화됨)
{
"데이터": {
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"제목": "주간 Q&A 세션",
"설명": "라이브로 질문에 답변합니다.",
"상태": "활성화됨",
"매니페스트": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"메타데이터": {
"카테고리": "기술 토론",
"호스트": "Jane Doe"
},
"태그": ["라이브", "Q&A"],
"생성일": "2024-08-01T10:00:00Z"
}
}