# 보안 VoD 서비스 플로우

## VOD 보안

<figure><img src="/files/9snKR9DM8Xhr3UnA2PK9" alt=""><figcaption></figcaption></figure>

사용자가 아래 소개 될 여러가지 방법을 통해 Kollus 업로드 서버에 콘텐츠를 업로드 합니다. 업로드가 완료되면 업로드 서버에서 플레이어 초기화 시 노출 시킬 포스터를 추출 합니다. 그 후 트랜스코딩 서버로 파일을 전달 합니다. 이 때 사용자는 콘솔의 라이브러리 메뉴에서 업로드 된 콘텐츠 및 트랜스코딩 진행율을 확인할 수 있습니다. 트랜스코딩 서버에서는 사용자가 설정한 인코딩 프로파일 별로 영상을 인코딩 합니다. 이 과정에서 seek bar에 노출 될 썸네일을 추출하고, 암호화 콘텐츠의 경우 영상 암호화를 함께 진행합니다. 모든 과정이 완료되면 콘텐츠를 서비스하기 위한 첫번째 준비가 완료 됩니다. 업로드 및 트랜스코딩이 완료 된 영상은 채널에 배포 후 생성 되는 미디어 콘텐츠 키로 서비스할 수 있습니다. 채널은 운영 정책이 반영 된 단위로, 하나의 영상을 여러개의 채널에 운영 정책 별로 배포 할 수 있습니다.

### 1. 업로드 방법 <a href="#vod-1" id="vod-1"></a>

1\.   콘솔

o    [콘솔](https://c-kr.kollus.com/)에 접속하여 \[콘텐츠 업로드] 클릭 합니다.암호화로 콘텐츠를 업로드 하기 위해 \[암호화 콘텐츠로 추가] 체크 후 파일 업로드 해주시면 바로 업로드가 시작 됩니다.

<figure><img src="/files/KRPXnuK0UrYquDnhH4td" alt=""><figcaption></figcaption></figure>

2\.   API

o    Kollus는 사용자가 업로드를 원하는 시점에 일회성으로 upload url을 생성하여 제공 합니다. 암호화로 업로드 하기 위해서는 upload\_url 생성 시 is\_encryption\_upload 파라미터를 1로 설정 후 api를 호출 합니다. 생성된 upload\_url에 HTTP multipart/form-data 형식으로 파일을 업로드 합니다. 자세한 내용은 아래 가이드 문서에서 확인하실 수있습니다.

&#x20;<https://kollus-vod.readme.io/reference/3e3bf59eac6fe09ed37a2e58546c6c40>

3\.   FTP

o    콘솔에서 [ftp 계정 정보](https://c-kr.kollus.com/service-account/ftp)를 확인합니다. 암호화의 경우 \_encrypt 디렉토리를 먼저 생성해준 후 그 하위에 업로드 하고자 하는 카테고리 명 앞에 마찬가지로 \_를 붙여 디렉토리를 생성해줍니다. 해당 디렉토리에 업로드 할 파일을 올리면 원하시는 카테고리에 암호화 파일로 업로드 됩니다.

예) /\_encrypt/\_내카테고리 로 생성할 경우 “내카테고리” 에 암호화로 파일이 업로드 됩니다.

4\.   Kollus 업로더

o    Kollus VOD 전용 업로더도 있습니다.사용자의 PC에 설치하여 동영상을 쉽고 빠르게 업로드 하실 수 있습니다.

o     다운로드: <https://file.kollus.com/public/kollus_uploader_v2/win/kollus-uploader-v2-2.1.0.exe>

o     자세한 사용 방법은 아래 사용 가이드를 참고 하세요.

<https://catenoid-support.gitbook.io/kollus-vod-console-v2/serviceguide/features/vod/kollus-uploader>

### 2. 채널 등록 방법 <a href="#vod-2" id="vod-2"></a>

업로드 된 콘텐츠는 채널에 등록하여 \[미디어 콘텐츠 키]를 얻어야 서비스 가능합니다.

1\.   콘솔에서 직접 등록

o    라이브러리에서 업로드 된 콘텐츠를 선택하여 우측 상세 페이지의 \[채널] 탭에서 원하시는 채널 추가 가능 합니다.&#x20;

<figure><img src="/files/ExISPQRSyPZ1w73CnczD" alt=""><figcaption></figcaption></figure>

또는 \[채널] 메뉴에서 원하시는 채널 선택 후 \[채널에 콘텐츠 추가] 선택 후 콘텐츠를 선택하여 추가할 수 있습니다.

<figure><img src="/files/35103anGtEnjprxP9dY7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CKkzxxHxv5jkjgX5qQb7" alt=""><figcaption></figcaption></figure>

2\.   라이브러리에 특정 채널 연결

o    수동 연결이 불편하시다면 라이브러리에 채널을 연결 할 수 있습니다. 예를 들어 A라는 라이브러리에 B라는 채널을 연결하시면, A 라이브러리에 업로드한 콘텐츠의 트랜스코딩이 완료될 때 자동으로 B채널에 추가 해드리는 기능 입니다. 콘솔에서 연결 원하시는 카테고리의 \[카테고리 수정] 메뉴에서 \[콘텐츠 업로드 시, 채널에 자동 등록] 항목을 통해 연결하실 수 있습니다.

<figure><img src="/files/PVIB85nvoJQjUhaLq7YH" alt=""><figcaption></figcaption></figure>

&#x20; 또는 카테고리 키와 채널 키를 확인하시어 api로 설정 가능 합니다. Api는 다음 가이드 문서를 참고 부탁 드립니다.

&#x20; <https://kollus-vod.readme.io/reference/28c942e0f0ec72b64e35c47ae4f986e4>

3\.   API

o    채널 키와 업로드 파일 키를 확인하시어 api로 추가도 가능합니다. 다음 가이드 문서를 참고 부탁 드립니다.

<https://kollus-vod.readme.io/reference/a7ffa2e004e50954b8b4cc73c8cf7c2d>

### 3. JWT 호출 방법 <a href="#vod-3.jwt" id="vod-3.jwt"></a>

암호화 콘텐츠의 경우 보다 안전한 재생을 위해 콘텐츠 호출 시 JSON Web Token 형식으로 암호화한 키 전달을 권장하고 있습니다. 특히 암호화 콘텐츠 전용 채널로 설정 시 JWT 키로 호출 하셔야만 재생 가능 합니다.

Payload에 비디오 워터마크, 자막 설정, 재생 설정 등 다양한 정보를 추가할 수 있습니다.

가장 기본적인 payload는 다음과 같습니다.

```
{
	"cuid": "catenoid",
	"expt": 1462931880,
	"mc": [{
		"mckey": "vnCVPVyV"
	}]
}
```

암호화 알고리즘은 HMAC SHA256 (HS256) 로 설정 하고, Secret key는 보안 키, Payload에는 위 Payload Spec에 맞춘 JSON String을 추가하여 JWT를 생성합니다.

생성한 JWT와 사용자 키를 조합하여 아래와 같이 콘텐츠를 호출 합니다.

```
http://v.kr.kollus.com/s?jwt=생성한 JWT&custom_key=사용자 키
```

자세한 내용은 아래 가이드를 참고 부탁 드립니다.

<https://catenoid-support.atlassian.net/wiki/spaces/SUP/pages/3311085/JWT>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://catenoid-support.gitbook.io/developer-welcome-kit/undefined-1/vod.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
