# Video 작성 규칙

video 부분만 아래의 규칙으로 작성&#x20;

### src&#x20;

* 오리진에 있는 파일 경로&#x20;
* solproxy-1.5.2.1699.2400 버전 이후 부터는 상대 경로(파일명만 기록) 사용가능&#x20;
* 필수&#x20;

### system-bitrate&#x20;

* 미디어 chunk 단위 최대 bit rate&#x20;
* 단위 : bit/sec&#x20;
* 각 미디어 파일들의 system-bitrate 는 모두 틀려야 됨&#x20;
* 정확한 bit rate를 적을 필요는 없고 유사하게만 적으면 됨&#x20;
* manifest 생성시 BANDWIDTH attribute에 기록됨&#x20;
* 필수&#x20;

### codecs&#x20;

* video codec와 audio codec&#x20;

<figure><img src="https://1786704417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIElmXdXMF82benFxEkjC%2Fuploads%2F1FLMSUZnNda3JVcimK3h%2Fimage.png?alt=media&#x26;token=88b6e7ba-4529-419e-bf0f-ece0475fed7c" alt=""><figcaption></figcaption></figure>

* manifest 생성시 CODECS attribute에 기록됨&#x20;
* 생략가능&#x20;
* 값이 설정 되지 않는 경우 media의 metadata에서 추출한 값을 사용&#x20;

### resolution&#x20;

* 해상도&#x20;
* \[width]x\[height]의 형식으로 기술해야함&#x20;
  * 예 : resolution="480x272"&#x20;
* stream 선택창에 이 값을 표시하는 플레이어도 있습니다.&#x20;
* manifest 생성시 RESOLUTION attribute에 기록됨&#x20;
* 생략가능&#x20;
* 값이 설정 되지 않는 경우 media의 metadata에서 추출한 값을 사용

### average-bandwidth&#x20;

* 미디어의 평균 bitrate&#x20;
* 단위 bit/sec&#x20;
* manifest 생성시 AVERAGE-BANDWIDTH attribute에 기록됨&#x20;
* 생략가능&#x20;
* 값이 설정 되지 않는 경우 media의 metadata에서 추출한 값을 사용

### &#x20;frame-rate&#x20;

* 미디어의 최대 frame-rate&#x20;
* 소수점 3째자리 까지 허용
* &#x20;manifest 생성시 FRAME-RATE attribute에 기록됨&#x20;
* 생략가능&#x20;
* 값이 설정 되지 않는 경우 media의 metadata에서 추출한 값을 사용&#x20;

### channels&#x20;

* audio stream의 채널 수를 표기&#x20;
* 정수 형으로만 표기 가능 (AC-3 5.1 인 경우 6으로 표기 해야함)
* manifest 생성시 CHANNELS attribute에 기록됨&#x20;
* 생략가능&#x20;
* 값이 설정 되지 않는 경우 media의 metadata에서 추출한 값을 사용

{% hint style="info" %}

* 정확한 media 속성 정보를 모를 경우 src와 system-bitrate만 기술하면 됨&#x20;
* 동영상 코덱은 H.264(AVC), H.265(HEVC), 오디오 코덱은 AAC나 MP3를 사용 추천&#x20;
* Adaptive에 사용되는 동영상은 동일한 인코딩 옵션으로 만드는걸 추천&#x20;
* 동일한 인코더(or 트랜스코더)에서 해상도와 bitrate, 코덱만을 제외하고 동일하게 생성&#x20;
* Adaptive에 사용되는 video track과 audio track의 재생 시간은 모두 동일해야 하고 1초 이상 차이가 나는 경우 에러 처리됨
  {% endhint %}
