> For the complete documentation index, see [llms.txt](https://catenoid-support.gitbook.io/developer-welcome-kit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://catenoid-support.gitbook.io/developer-welcome-kit/undefined-1/vod.md).

# 보안 VoD 서비스 플로우

## VOD 보안

<figure><img src="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2FAWzkLNftgNmS01GlKeJ9%2Fimage.png?alt=media&amp;token=2e0f7886-21cc-4834-a14a-946500d5874d" 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="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2F9th5ZKhgY9Q23jmBN6qx%2Fimage.png?alt=media&amp;token=77aa0d8f-0691-4d4d-bd26-abfe3999ce16" 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="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2FSbCk1LFaUUIvq0H3cIty%2Fimage.png?alt=media&amp;token=c2b8c9c6-2e80-4306-b313-85356e42b477" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2Flge8JaFmMXXxO4ZP8ItF%2Fimage.png?alt=media&amp;token=0190b949-cc3b-429a-b643-aed5b16c237e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2FlOP69udUobPGnOCaNm60%2Fimage.png?alt=media&amp;token=be314562-26fe-486e-9631-df18aef933e3" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://2433280412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9WTyiDvzVNlaaYHPxc5%2Fuploads%2FBij8CcEyAD6ijqd2H2S8%2Fimage.png?alt=media&amp;token=3db2e332-9d02-40d9-9aea-3e147a3c7b4f" 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>
