aboutsummaryrefslogtreecommitdiff
path: root/files/ko/web/media/formats/codecs_parameter/index.html
blob: 43cce1aa1fc880ec6fc6bcd7e2012d15b2f6edd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
---
title: 일반 미디어 타입에서 "codecs" 파라미터 사용하기
slug: Web/Media/Formats/코덱파라미터
translation_of: Web/Media/Formats/codecs_parameter
---
<div>{{QuickLinksWithSubpages("/en-US/docs/Web/Media")}}</div>

<p>기본적으로, <code>video/mp4</code><code>audio/mpeg</code> 처럼 {{Glossary("MIME")}} 타입을 통해 미디어 파일 포맷을 명시할 수 있습니다. 하지만 많은 미디어 타입들이-특히 비디오 트랙을 지원하는 경우-가지고 있는 데이터 포맷에 대해 더 상세하고 정확하게 명시할 수 있습니다. 예를들어 <a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a> 비디오라고 해서 MIME 타입을 <code>video/mp4</code>만 명시한다면 정확히 어떤 미디어를 가지고 있는 지 아무 정보도 알 수 없습니다.</p>

<p>때문에 MIME 타입에 추가로 미디어 콘텐츠를 기술하기 위해 <code>codecs</code> 파라미터가 추가되었습니다. 이를 통해 컨테이너 특화된 정보를 제공할 수 있게 되었습니다 이 정보에는 비디오 코덱의 프로파일, 오디오 트랙 타입 등을 추가할 수 있습니다.</p>

<p><span class="seoSummary">이 가이드 문서는 단순히 컨테이너 타입 명시를 넘어 <code>codecs</code> 파라미터의 문법과 MIME 타입에 비디오/오디오 콘텐츠에 대한 상세 정보를 기술하는 방법에 대해 설명합니다.</span></p>

<h2 id="일반_문법">일반 문법</h2>

<p>기본적인 MIME 미디어 타입 표현은 미디어 타입(<code>audio</code>, <code>video</code>, 등)으로 시작하며, 슬래쉬 문자 (<code>/</code>) 후 미디어를 포함하고 있는 컨테이너 포맷이름으로 이어집니다:</p>

<dl>
 <dt><code>audio/mpeg</code></dt>
 <dd>MP3 같은 <a href="/en-US/docs/Web/Media/Formats/Containers#MPEG">MPEG</a> 파일 타입의 오디오 파일입니다.</dd>
 <dt><code>video/ogg</code></dt>
 <dd><a href="/en-US/docs/Web/Media/Formats/Containers#Ogg">Ogg</a> 파일 타입의 비디오 파일입니다.</dd>
 <dt><code>video/mp4</code></dt>
 <dd><a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a> 파일 타입을 사용하는 비디오입니다.</dd>
 <dt><code>video/quicktime</code></dt>
 <dd>애플 <a href="/en-US/docs/Web/Media/Formats/Containers#QuickTime">QuickTime</a> 포맷을 사용하는 비디오입니다. 다른 곳에서 서술되어 있듯이, 한때는 웹에서 널리 쓰여지던 형식이었지만 현재는 플러그인이 필요하여 더 이상 사용하지 않는 타입입니다.</dd>
</dl>

<p>위 MIME 타입은 아직 모호한 표현입니다. 각 파일 타입들은 많은 수의 코덱을 지원하며 코덱은 각기 프로파일, 레벨과 같은 설정 인자들을 가지고 있습니다. 그래서 <code>codecs</code> 파라미터를 추가하여 명시할 수 있습니다.</p>

<p>세미콜론 (<code>;</code>)을 붙이고 <code>codecs=</code> 으로 시작하는 문자열을 덧붙여 콘텐츠의 포맷을 서술할 수 있습니다. 일부 미디어 타입은 사용하는 코덱 이름만 명시 가능할 수 있고 다른 미디어 타입은 코덱에 관한 다양한 인자를 기술할 수 있는 경우도 있습니다. 콤마로 구분하여 여러 코덱을 기술할 수도 있습니다.</p>

<dl>
 <dt><code>audio/ogg; codecs=vorbis</code></dt>
 <dd><a href="/en-US/docs/Web/Media/Formats/Audio_codecs#Vorbis">Vorbis</a> 오디오 트랙을 포함하는 <a href="/en-US/docs/Web/Media/Formats/Containers#Ogg">Ogg</a> 컨테이너 파일입니다.</dd>
 <dt><code>video/webm; codecs="vp8, vorbis"</code></dt>
 <dd><a href="/en-US/docs/Web/Media/Formats/Video_codecs#VP8">VP8</a> 비디오와 <a href="/en-US/docs/Web/Media/Formats/Audio_codecs#Vorbis">Vorbis</a> 오디오를 포함하는 <a href="/en-US/docs/Web/Media/Formats/Containers#WebM">WebM</a> 컨테이너 파일입니다.</dd>
 <dt><code>video/mp4; codecs="avc1.4d002a"</code></dt>
 <dd><a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">AVC</a> (H.264) 코덱에 Main Profile, Level 4.2을 가지는 <a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a> 컨테이너 파일입니다.</dd>
</dl>

<p>코덱의 속성 중 하나라도 퍼센트-인코딩이 필요한 특수문자{{RFC(2231, "MIME Parameter Value and Encoded Word Extensions", 4)}}를 사용하는 경우 MIME 타입을 기술하는 문자열의 <code>codecs</code> 파라미터를 <code>codecs*</code> (애스터리크(<code>*</code>) 추가됨에 유의)로 변경해야 합니다. JavaScript {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} function으로 파라미터 목록을 인코딩할 수 있습니다; 반대로 {{jsxref("Global_Objects/decodeURI", "decodeURI()")}}를 통해 기인코딩된 파라미터 리스트를 디코딩할 수 있습니다.</p>

<div class="blockIndicator note">
<p><code>codecs</code> 파라미터를 사용한다면, 파일 콘텐츠가 사용한 모든 코덱을 목록에 명시해야합니다. 목록에 파일이 사용하고 있지 않은 코덱을 명시하는 것도 가능합니다.</p>
</div>

<h2 id="컨테이너별_코덱_옵션">컨테이너별 코덱 옵션</h2>

<p>아래 컨테이너들은 <code>codecs</code> 파라미터에 확장 옵션을 지원합니다:</p>

<div class="index">
<ul>
 <li>{{anch("ISO-BMFF", "3GP")}}</li>
 <li>{{anch("AV1")}}</li>
 <li>{{anch("ISO-BMFF", "ISO BMFF")}}</li>
 <li>{{anch("ISO-BMFF", "MPEG-4")}}</li>
 <li>{{anch("ISO-BMFF", "QuickTime")}}</li>
 <li>{{anch("WebM")}}</li>
</ul>
</div>

<p>링크를 클릭하면 동일한 섹션으로 이동할텐데요; 위 미디어 타입들은 모두 ISO Base Media File Format (ISO BMFF)를 기반하고 있어, 동일한 문법을 공유하기 때문입니다.</p>

<h3 id="AV1">AV1</h3>

<p>AV1의 <code>codecs</code> 문법은<a href="https://aomediacodec.github.io/av1-isobmff">AV1 Codec ISO Media File Format Binding</a> 스펙 문서의, 섹션 5: <a href="https://aomediacodec.github.io/av1-isobmff/#codecsparam">Codecs Parameter String</a>에 정의되어 있습니다.</p>

<pre class="notranslate">av01.P.LLT.DD[.M[.CCC[.cp[.tc[.mc[.F]]]]]]</pre>

<p>아래 표에서 코덱 파라미터 문자열 구성요소에 대해 자세히 설명하고 있습니다. 각 요소들은 고정된 개수의 문자로 되어 있으며;고정 길이보다 짧은 경우 앞에 0을 붙여서 맞춰야 합니다..</p>

<table class="standard-table">
 <caption>AV1 코덱 파라미터 문자열 요소</caption>
 <thead>
  <tr>
   <th scope="col">요소</th>
   <th scope="col">내용</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>P</code></td>
   <td>
    <p>한자리 숫자 프로파일 번호:</p>

    <table class="standard-table">
     <caption>AV1 프로파일 번호</caption>
     <thead>
      <tr>
       <th scope="col">프로파일 번호</th>
       <th scope="col">설명</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td>0</td>
       <td>"Main" 프로파일; YUV 4:2:0/모노크롬 크로마 서브샘플링 및 8/10 비트 색 깊이 지원.</td>
      </tr>
      <tr>
       <td>1</td>
       <td>"High" 프로파일 4:4:4 크로마 서브샘플링 추가 지원.</td>
      </tr>
      <tr>
       <td>2</td>
       <td>"Professional" 프로파일, 4:2:2 크로마 서브샘플링 및 12 비트 색 깊이 추가 지원</td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
  <tr>
   <td><code>LL</code></td>
   <td>두자리 숫자 레벨 번호,  X.Y 형태의 레벨 포맷으로 변환 됨, <code>X = 2 + (LL &gt;&gt; 2)</code><code>Y = LL &amp; 3</code>. 자세한 내용은 AV1 스펙 문서의 <a href="https://aomediacodec.github.io/av1-spec/#levels">Appendix A, section 3</a> 참조.</td>
  </tr>
  <tr>
   <td><code>T</code></td>
   <td>한자리 문자 티어 표시. Main 티어라면 (<code>seq_tier</code> equals 0), 문자는 <code>M</code>. High 티어는 (<code>seq_tier</code> is 1) <code>H</code>. High 티어는 4.0 이상 레벨에서만 가능합니다.</td>
  </tr>
  <tr>
   <td><code>DD</code></td>
   <td>두자리 숫자 색 깊이. 8, 10, 12 중 하나여야 하며; 프로파일과 다른 속성에서 지원 가능한 값이여야 합니다.</td>
  </tr>
  <tr>
   <td><code>M</code></td>
   <td>한자리 숫자 모노크롬 플래그; 0인 경우 비디오는 U, V, Y 성분을 모두 가지고 있습니다. 아닌 경우 전체 비디오 데이터는 Y(휘도) 성분 뿐으로 모노크롬 이미지를 가집니다. 자세한 내용은 {{SectionOnPage("/en-US/docs/Web/Media/Formats/Video_concepts", "YUV")}}를 참조하여 YUV 컬러 시스템이 어떻게 동작하는지 알아보세요. 기본 값은 0 (모노크롬 아님)입니다.</td>
  </tr>
  <tr>
   <td><code>CCC</code></td>
   <td>
    <p><code>CCC</code> 는 세자리 숫자로 크로마 서브샘플링을 표기합니다. 첫번째 숫자는 <code>subsampling_x</code>, 두 번째 숫자는 <code>subsampling_y</code>. 둘다 1인경우, 세번째 값은 <code>chroma_sample_position</code>; 아닌 경우 세번째 값은 항상 0입니다. <code>M</code> 값과 더불어 크로마 서브샘플링 포맷을 구성하는 요소입니다:</p>

    <table class="standard-table">
     <caption>크로마 서브샘플링 결정 방식</caption>
     <thead>
      <tr>
       <th scope="col">subsampling_x</th>
       <th scope="col">subsampling_y</th>
       <th scope="col">Monochrome flag</th>
       <th scope="col">Chroma subsampling format</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td>0</td>
       <td>0</td>
       <td>0</td>
       <td>YUV 4:4:4</td>
      </tr>
      <tr>
       <td>1</td>
       <td>0</td>
       <td>0</td>
       <td>YUV 4:2:2</td>
      </tr>
      <tr>
       <td>1</td>
       <td>1</td>
       <td>0</td>
       <td>YUV 4:2:0</td>
      </tr>
      <tr>
       <td>1</td>
       <td>1</td>
       <td>1</td>
       <td>YUV 4:0:0 (Monochrome)</td>
      </tr>
     </tbody>
    </table>

    <p><code>CCC</code>의 세번째 값은 크로마 샘플 위치(chroma sample position)로, 0은 위치를 알 수 없으며 디코딩 시 개별적으로 제공해야 함을 의미합니다; 1은 샘플이 (0, 0) 휘도 샘플과 동일한 수평선상에 있음을 의미합니다; 2는 샘플이 (0, 0) 휘도 샘플과 동일한 위치에 있음을 의미합니다.</p>

    <p>기본 값은 <code>110</code> (4:2:0 크로마 서브샘플링)입니다.</p>
   </td>
  </tr>
  <tr>
   <td><code>cp</code></td>
   <td>두자리 숫자 <code>color_primaries</code> 값은 미디어의 색 공간을 표시합니다. 예를 들어 HDR 비디오에서 사용하는 BT.2020/BT.2100 색 공간은 <code>09</code>입니다. 자세한 정보-그 외의 색 공간 값을 포함하여-는 AV1 스펙 문서의 <a href="https://aomediacodec.github.io/av1-spec/#color-config-semantics">Color config semantics section</a> 를 참조하세요. 기본값은 <code>01</code> (ITU-R BT.709)입니다.</td>
  </tr>
  <tr>
   <td><code>tc</code></td>
   <td>두자리 숫자 <code>transfer_characteristics</code> 값. 이 값은 소스에서 디스플레이로 감마를 매핑하는 함수(기술적인 용어로 "opto-electrical transfer function"라 표현)를 정의합니다. 예를 들어 10-bit BT.2020는 <code>14</code>입니다. 기본 값은 <code>01</code> (ITU-R BT.709)입니다.</td>
  </tr>
  <tr>
   <td><code>mc</code></td>
   <td>두자리 숫자 <code>matrix_coefficients</code> 상수는 RGB 컬러 채널을 휘도/색차 신호로 변환 시 사용할 계수 행렬을 선택합니다. 예를 들어 BT.709의 표준 계수 값은 <code>01</code>로 표현합니다. 기본 값은 <code>01</code> (ITU-R BT.709)입니다.</td>
  </tr>
  <tr>
   <td><code>F</code></td>
   <td>한자리 숫자로 색상이 가능한 모든 범위를 표현해야 할지(<code>1</code>), 지정한 색 설정에 의해 적합하다고 여겨지는 범위로 제한하여 표현(<strong>studio swing representation</strong>이라 표현)해야 할지를 나타내는 값입니다. 기본 값은 0 (studio swing representation 적용)입니다.</td>
  </tr>
 </tbody>
</table>

<p><code>M</code> (모노크롬 플래그)이후의 요소는 모두 비필수입니다; 어느 곳에서부터나 생략할 수 있습니다 (하지만 임의의 중간 요소를 생략할 수는 없습니다). 기본 값은 위 표에 서술하였습니다. AV1 코덱 문자열 예시는 아래와 같습니다:</p>

<dl>
 <dt><code>av01.2.15M.10.0.100.09.16.09.0</code></dt>
 <dd>AV1 Professional 프로파일, 레벨 5.3, Main 티어, 10 비트 색 깊이, 4:2:2 크로마 서브샘플링 ITU-R BT.2100 색 공간, 색 전환 YCbCr 색상 행렬. Studio swing representation 적용.</dd>
 <dt><code>av01.0.15M.10</code></dt>
 <dd>AV1 Main 프로파일, 레벨 5.3, Main 티어, 10 비트 색 깊이. 나머지 요소는 기본 값 사용: 4:2:0 크로마 서브 샘플링, BT.709 색 공간, 색 전환, 계수 행렬 사용. Studio swing representation.</dd>
</dl>

<h3 id="ISO_Base_Media_File_Format_MP4_QuickTime_and_3GP"><a id="ISO-BMFF" name="ISO-BMFF">ISO Base Media File Format: MP4, QuickTime, and 3GP</a></h3>

<p>모든 미디어 타입은 {{interwiki("wikipedia", "ISO Base Media File Format")}} (ISO BMFF)를 기반으로 하며 <code>codecs</code> 문법을 공유합니다. 이들 미디어 타입은 <a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a> (또 사실상 MPEG-4를 기반으로 하고 있으므로 <a href="/en-US/docs/Web/Media/Formats/Containers#QuickTime">QuickTime</a>도 포함)과 <a href="/en-US/docs/Web/Media/Formats/Containers#3GP">3GP</a>를 포함합니다. MIME 타입의 <code>codecs</code> 파라미터를 통해 아래와 같이 비디오/오디오 트랙 둘 다 기술할 수 있습니다.:</p>

<table class="standard-table">
 <caption>ISO BMFF codecs 파라미터를 지원하는 기본 MIME 타입</caption>
 <thead>
  <tr>
   <th scope="col">MIME 타입</th>
   <th scope="col">설명</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>audio/3gpp</code></td>
   <td>3GP 오디오 ({{RFC(3839, "MIME Type Registrations for 3rd generation Partnership Project (3GP) Multimedia files")}})</td>
  </tr>
  <tr>
   <td><code>video/3gpp</code></td>
   <td>3GP 비디오 ({{RFC(3839, "MIME Type Registrations for 3rd generation Partnership Project (3GP) Multimedia files")}})</td>
  </tr>
  <tr>
   <td><code>audio/3gp2</code></td>
   <td>3GP2 오디오 ({{RFC(4393, "MIME Type Registrations for 3GPP2 Multimedia files")}})</td>
  </tr>
  <tr>
   <td><code>video/3gp2</code></td>
   <td>3GP2 비디오 ({{RFC(4393, "MIME Type Registrations for 3GPP2 Multimedia files")}})</td>
  </tr>
  <tr>
   <td><code>audio/mp4</code></td>
   <td>MP4 오디오 ({{RFC(4337, "MIME Type Registration for MPEG-4")}})</td>
  </tr>
  <tr>
   <td><code>video/mp4</code></td>
   <td>MP4 비디오 ({{RFC(4337, "MIME Type Registration for MPEG-4")}})</td>
  </tr>
  <tr>
   <td><code>application/mp4</code></td>
   <td>오디오/비디오가 아닌 MPEG-4 컨테이너 미디어</td>
  </tr>
 </tbody>
</table>

<p><code>codecs</code> 파라미티에는 간단하게 컨테이너 명(<code>3gp</code>, <code>mp4</code>, <code>quicktime</code>, etc.)만 기술할 수도 있으며 컨테이너 명에 코덱 이름 및 설정 값을 함께 기술할 수도 있습니다. 각 코덱 등은 온점(<code>.</code>)으로 구분된 요소를 다수 가질 수 있습니다.</p>

<p><code>codecs</code> 값의 문법은 코덱마다 다릅니다; 하지만 항상 4 글자 코덱 구분자와 온점(<code>.</code>)으로 시작하며 데이터 포맷을 기술하기 위핸 Object Type Indication (OTI) 형식의 문자열이 뒤따릅니다. 대부분의 코덱에서 OTI는 두자리 16진수로 되어 있지만 <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">AVC (H.264)</a>는 6자리 16진수로 구성되어 있습니다.</p>

<p>따라서 지원하는 코덱 문법은 아래와 유사합니다:</p>

<dl>
 <dt><code>cccc[.pp]*</code> (Generic ISO BMFF)</dt>
 <dd><code>cccc</code> 는 4 글자 코덱 ID이며  <code>pp</code>는 0~2자리 인코딩 된 문자입니다.</dd>
 <dt><code>mp4a.oo[.A]</code> (MPEG-4 audio)</dt>
 <dd><code>oo</code> 는 미디어 콘텐츠를 더 정확하게 기술하는 Object Type Indication 값이며 <code>A</code> 는 한자리 숫자<em>오디오</em> OTI입니다. OTI로 가능한 값은 MP4 Registration Authority 웹사이트의 <a href="http://mp4ra.org/#/object_types">Object Types page</a> 페이지에서 확인할 수 있습니다. 예를들어 MP4 파일의 Opus 오디오는 <code>mp4a.ad</code>로 기술합니다. 자세한 내용은 {{anch("MPEG-4 audio")}}를 참조하세요.</dd>
 <dt><code>mp4v.oo[.V]</code> (MPEG-4 video)</dt>
 <dd>마찬가지로 <code>oo</code> 는 미디어 콘텐츠를 명시하는 OTI 값이며, <code>V</code> 는 한자리 숫자 <em>비디오</em> OTI 값입니다.</dd>
 <dt><code>avc1.oo[.PPCCLL]</code> (AVC video)</dt>
 <dd>
 <p><code>oo</code> 는 콘텐츠를 명시하는 OTI 값이며, while <code>PPCCLL</code> 는 6자리 16진수로써 프로파일 넘버 (<code>PP</code>), 제약 플래그 (<code>CC</code>), 레벨 (<code>LL</code>)을 의미합니다. <code>PP</code>로 가능한 값은 {{anch("AVC profiles")}}를 참조하세요.</p>

 <p>제약 플래그는 1 비트 불리언 값이며, MSB는 flag 0(또는 일부에선 <code>constraint_set0_flag</code>)로 취급합니다. 그리고 이어지는 비트는 하나씩 번호가 높게 매겨집니다. 현재로썬 0부터 2번째 비트까지만 사용하며;나머지 5개의 비트는 <em>반드시</em> 0이어야합니다. 각 플래그의 의미는 사용하는 프로파일에 따라 달라집니다.</p>

 <p>레벨 값은 고정 소수점이므로 숫자 <code>14</code> (10진법 20) 은 레벨 2.0을 의미하며 <code>3D</code> (10진법 61) 은 레벨 6.1을 의미합니다. 일반적으로 레벨 숫자가 높을 수록 스트림 대역폭이 높아 더 큰 크기의 비디오를 지원할 수 있습니다.</p>
 </dd>
</dl>

<h4 id="AVC_프로파일">AVC 프로파일</h4>

<p>아래의 AV 프로파일 넘버는 <code>codecs</code> 파라미터에서 사용하며 제약 요소 값은 <code>CC</code>로 사용할 수 있습니다.</p>

<table class="standard-table">
 <caption><code>codecs</code>  파라미터에서 AVC 프로파일과 제약 요건을 명세하기 위한 값</caption>
 <thead>
  <tr>
   <th scope="col">프로파일</th>
   <th scope="col">넘버(Hex)</th>
   <th scope="col">제약 (byte)</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><strong>Constrained Baseline Profile (CBP)</strong><br>
    CBP는 리소스가 제약점이 있거나 재생이 원활하지 못해 발생하는 이상 요소들을 최소화 해야 하는 경우 주요한 해결책입니다.</td>
   <td><code>42</code></td>
   <td><code>40</code></td>
  </tr>
  <tr>
   <td><strong>Baseline Profile (BP)</strong><br>
    CBP와 유사하나 데이터 손실 방지와 복구 능력을 향상시킨 프로파일입니다.  CBP가 도입된 이후에는 이전만큼 널리 사용하고 있지는 않습니다. CBP 스트림은 모두 BP 스트림으로 간주할 수도 있습니다.</td>
   <td><code>42</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Extended Profile (XP)</strong><br>
    고효율 압축과 네트워크 전송시의 데이터 안정성, 스트림 스위칭을 고려한 프로파일입니다.</td>
   <td><code>58</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Main Profile (MP)</strong><br>
    MPEG-4 포맷으로 전송하는 디지털 표준 TV 방송에서 사용하는 프로파일입니다. 고선명 TV(HDV)에서는 <em>사용하지 않습니다</em>. 2004년 —HDTV에서 사용하기 위해— High Profile이 추가된 이후 중요도가 감소하였습니다.</td>
   <td><code>4D</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>High Profile (HiP)</strong><br>
    현재로써는 전파방송과 매체기반 HD 비디오에서 사용하는 주요 프로파일입니다. HD TV 방송과 블루레이 미디어에서 사용하고 있습니다.</td>
   <td><code>64</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Progressive High Profile (PHiP)</strong><br>
    필드 코딩 지원을 제거한 High Profile입니다.</td>
   <td><code>64</code></td>
   <td><code>08</code></td>
  </tr>
  <tr>
   <td><strong>Constrained High Profile</strong><br>
    양방향 예측 슬라이스("B-slices") 지원을 제거한 PHiP입니다.</td>
   <td><code>64</code></td>
   <td><code>0C</code></td>
  </tr>
  <tr>
   <td><strong>High 10 Profile (Hi10P)</strong><br>
    10 비트 컬러 모드 지원을 제거한 High Profile입니다.</td>
   <td><code>6E</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>High 4:2:2 Profile (Hi422P)</strong><br>
    Hi10P에 4:2:2 크로마 서브샘플링과 최대 10비트 컬러 모드 지원을 추가한 프로파일입니다.</td>
   <td><code>7A</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>High 4:4:4 Predictive Profile (Hi444PP)</strong><br>
    Hi422P 및 Hi444PP에 4:4:4 크로마 서브샘플링(색차 샘플링 소거 없음)을 추가 지원한 프로파일입니다. 또한 최대 14비트 컬러 샘플과 효율적인 무손실 지역 코딩을 추가하였습니다. 각 프레임을 3개의 분리된 컬러 평면(각 평면은 모노크롬 프레임형태로 저장됩니다)으로 인코딩할 수 있는 옵션입니다.</td>
   <td><code>F4</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>High 10 Intra Profile</strong><br>
    all-intra-frame에 High 10 제약이 걸린 프로파일입니다. 전문가 용 앱에 주로 쓰입니다.</td>
   <td><code>6E</code></td>
   <td><code>10</code></td>
  </tr>
  <tr>
   <td><strong>High 4:2:2 Intra Profile</strong><br>
    all-intra-frame에 Hi422를 적용한 프로파일입니다.</td>
   <td><code>7A</code></td>
   <td><code>10</code></td>
  </tr>
  <tr>
   <td><strong>High 4:4:4 Intra Profile</strong><br>
    all-intra-frame에 High 4:4:4 제약을 건 프로파일입니다.</td>
   <td><code>F4</code></td>
   <td><code>10</code></td>
  </tr>
  <tr>
   <td><strong>CAVLC 4:4:4 Intra Profile</strong><br>
    all-intra-frame에 High 4:4:4 제약, CAVLC 엔트로피 코딩만 사용하는 프로파일입니다.</td>
   <td><code>44</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Scalable Baseline Profile</strong><br>
    화상 회의, 감시 카메라 및 모바일 장치에서 쓰이는 프로파일로, {{interwiki("wikipedia", "SVC")}} Baseline Profile은 AVC의 Constrained Baseline profile에 기반하고 있습니다. 스트림의 베이스 레이어는 고품질로 제공되면서, 제약이 걸린 환경에서 대안이 될 수 있는 서브스트림을 다수 제공하는 방식입니다. 서브스트림은 해상도 감소, 낮은 프레임레이트, 압축률 저하 등을 조합하여 구성합니다.</td>
   <td><code>53</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Scalable Constrained Baseline Profile</strong><br>
    실시간 양방향 대화형 어플리케이션에서 주요 사용하는 프로파일입니다. WebRTC에서 아직 정식으로 지원하지는 않지만,  <a href="https://github.com/w3c/webrtc-svc">SVC를 활성화</a>하여 WebRTC AP 개발 모드에서 사용해 볼 수 있습니다.</td>
   <td><code>53</code></td>
   <td><code>04</code></td>
  </tr>
  <tr>
   <td><strong>Scalable High Profile</strong><br>
    방송 및 스트리밍 어플리케이션에서 주로 사용합니다. 베이스(또는 최고 품질) 레이어에는 AVC High Profile이 반드시 포함되어야 합니다.</td>
   <td><code>56</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Scalable Constrained High Profile</strong><br>
    실시간 통신을 위한 Scalable High Profile의 서브셋 프로파일입니다.</td>
   <td><code>56</code></td>
   <td><code>04</code></td>
  </tr>
  <tr>
   <td><strong>Scalable High Intra Profile</strong><br>
    비디오 제작 어플리케이션을 위한 all-intra-frame 프로파일입니다.</td>
   <td><code>56</code></td>
   <td><code>20</code></td>
  </tr>
  <tr>
   <td><strong>Stereo High Profile</strong><br>
    양안 렌더링을 통한 스테레오스코픽(stereoscopic) 비디오를 지원하는 프로파일입니다. 양안 영상이 아닌 경우 High profile과 동일합니다.</td>
   <td><code>80</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Multiview High Profile</strong><br>
    시간 및 MVC inter-view 예측을 통한 2개 이상의 뷰를 지원하는 프로파일입니다. 필드 픽쳐 또는 매크로블록-어댑티브한 frame-field 코딩을 <em>지원하지 않습니다</em>.</td>
   <td><code>76</code></td>
   <td><code>00</code></td>
  </tr>
  <tr>
   <td><strong>Multiview Depth High Profile</strong><br>
    High Profile에 기반하며 메인 서브스트림이 반드시 붙어야 합니다. 나머지 서브스트림들은 Stereo High Profile과 매칭되어야 합니다.</td>
   <td><code>8A</code></td>
   <td><code>00</code></td>
  </tr>
 </tbody>
</table>

<h4 id="MPEG-4_audio">MPEG-4 audio</h4>

<p><code>codecs</code> 목록의 값 항목이 <code>mp4a</code>로 시작한다면, 문법은 아래와 같아야 합니다:</p>

<pre class="notranslate">mp4a.oo[.A]</pre>

<p><code>oo</code> 는 두자리 16진수 Object Type Indication으로 미디어에 사용된 코덱 클래스를 표시합니다. OTI 값은 <a href="http://mp4ra.org/">MP4 Registration Authority</a>에서 규정하고 있으며 <a href="http://mp4ra.org/#/object_types">list of the possible OTI values</a>에서 가용한 값을 확인할 수 있습니다. 특수한 값인 <code>40</code>; 이는 미디어가 MPEG-4 audio(ISO/IEC 14496 Part 3)임을 나타냅니다. 조금 더 자세히 말하자면, 세번째 컴포넌트—Audio Object Type—은 OTI <code>40</code> 을 MPEG-4의 특정 하위 타입으로 범위를 좁히기 위해 추가하였습니다.</p>

<p>Audio Object Type는 두자리 <em>10진수</em>로 이루어져 있습니다(<code>codecs</code> 파라미터의 다른 값은 대부분 16진수). 예를들어 MPEG-4 AAC-LC의 오디오 오브젝트 타입은 숫자 2이므로 AAC-LC의 전체 <code>codecs</code> 표현 값은 <code>mp4a.40.2</code> 입니다.</p>

<p>그러므로 오디오 오브젝트 타입이 17인 ER AAC LC의 전체 <code>codecs</code> 값은 <code>mp4a.40.17</code> 입니다. 한자리 숫자는 한자리로 표현하거나(폭넓게 호환되므로 최선) 앞에 0을 붙여 두자리로 표현할 수 있습니다. <code>mp4a.40.02</code> 처럼요.</p>

<div class="blockIndicator note">
<p><strong>Note:</strong> 원래 Audio Object Type은 한자리 숫자로 규정되었었습니다. 시간이 지나면서 표준을 확장하였고 현재는 한자리 또는 두자리 숫자입니다. 10 미만의 값 앞에 <code>0</code> 을 붙이는건 필수가 아닙니다. 오래된 MPEG-4 코덱 구현체들은 두자리 숫자를 지원하지 못할 수도 있습니다. 따라서 호환성을 높이기 위해선 한자리로 표현해야 합니다.</p>
</div>

<p>Audio Object Types는 ISO/IEC 14496-3 subpart 1, section 1.5.1에서 정의하고 있습니다. 아래 표는 Audio Object Type 기본 목록과 지원하는 프로필입니다. MPEG-4 audio type의 내부에 대해서 더 알고 싶다면 레퍼런스를 참조하세요.</p>

<table class="standard-table">
 <caption>MPEG-4 audio object types</caption>
 <thead>
  <tr>
   <th scope="col">ID</th>
   <th scope="col">Audio Object Type</th>
   <th scope="col">Profile support</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>0</code></td>
   <td>NULL</td>
   <td></td>
  </tr>
  <tr>
   <td><code>1</code></td>
   <td>AAC Main</td>
   <td>Main</td>
  </tr>
  <tr>
   <td><code>2</code></td>
   <td>AAC LC (Low Complexity)</td>
   <td>Main, Scalable, HQ, LD v2, AAC, HE-AAC, HE-AAC v2</td>
  </tr>
  <tr>
   <td><code>3</code></td>
   <td>AAC SSR (Scalable Sampling Rate)</td>
   <td>Main</td>
  </tr>
  <tr>
   <td><code>4</code></td>
   <td>AAC LTP (Long Term Prediction)</td>
   <td>Main, Scalable, HQ</td>
  </tr>
  <tr>
   <td><code>5</code></td>
   <td>SBR (Spectral Band Replication)</td>
   <td>HE-AAC, HE-AAC v2</td>
  </tr>
  <tr>
   <td><code>6</code></td>
   <td>AAC Scalable</td>
   <td>Main, Scalable, HQ</td>
  </tr>
  <tr>
   <td><code>7</code></td>
   <td>TwinVQ (Coding for ultra-low bit rates)</td>
   <td>Main, Scalable</td>
  </tr>
  <tr>
   <td><code>8</code></td>
   <td>CELP (Code-Excited Linear Prediction)</td>
   <td>Main, Scalable, Speech, HQ, LD</td>
  </tr>
  <tr>
   <td><code>9</code></td>
   <td>HVXC (Harmonic Vector Excitation Coding)</td>
   <td>Main, Scalable, Speech, LD</td>
  </tr>
  <tr>
   <td><code>10</code> – <code>11</code></td>
   <td><em>Reserved</em></td>
   <td></td>
  </tr>
  <tr>
   <td><code>12</code></td>
   <td>TTSI (Text to Speech Interface)</td>
   <td>Main, Scalable, Speech, Synthetic, LD</td>
  </tr>
  <tr>
   <td><code>13</code></td>
   <td>Main Synthetic</td>
   <td>Main, Synthetic</td>
  </tr>
  <tr>
   <td><code>14</code></td>
   <td>Wavetable Synthesis</td>
   <td></td>
  </tr>
  <tr>
   <td><code>15</code></td>
   <td>General MIDI</td>
   <td></td>
  </tr>
  <tr>
   <td><code>16</code></td>
   <td>Algorithmic Synthesis and Audio Effects</td>
   <td></td>
  </tr>
  <tr>
   <td><code>17</code></td>
   <td>ER AAC LC (Error Resilient AAC Low-Complexity)</td>
   <td>HQ, Mobile Internetworking</td>
  </tr>
  <tr>
   <td><code>18</code></td>
   <td><em>Reserved</em></td>
   <td></td>
  </tr>
  <tr>
   <td><code>19</code></td>
   <td>ER AAC LTP (Error Resilient AAC Long Term Prediction)</td>
   <td>HQ</td>
  </tr>
  <tr>
   <td><code>20</code></td>
   <td>ER AAC Scalable (Error Resilient AAC Scalable)</td>
   <td>Mobile Internetworking</td>
  </tr>
  <tr>
   <td><code>21</code></td>
   <td>ER TwinVQ (Error Resilient TwinVQ)</td>
   <td>Mobile Internetworking</td>
  </tr>
  <tr>
   <td><code>22</code></td>
   <td>ER BSAC (Error Reslient Bit-Sliced Arithmetic Coding)</td>
   <td>Mobile Internetworking</td>
  </tr>
  <tr>
   <td><code>23</code></td>
   <td>ER AAC LD (Error Resilient AAC Low-Delay; used for two-way communiation)</td>
   <td>LD, Mobile Internetworking</td>
  </tr>
  <tr>
   <td><code>24</code></td>
   <td>ER CELP (Error Resilient Code-Excited Linear Prediction)</td>
   <td>HQ, LD</td>
  </tr>
  <tr>
   <td><code>25</code></td>
   <td>ER HVXC (Error Resilient Harmonic Vector Excitation Coding)</td>
   <td>LD</td>
  </tr>
  <tr>
   <td><code>26</code></td>
   <td>ER HILN (Error Resilient Harmonic and Individual Line plus Noise)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>27</code></td>
   <td>ER Parametric (Error Resilient Parametric)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>28</code></td>
   <td>SSC (Sinusoidal Coding)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>29</code></td>
   <td>PS (Parametric Stereo)</td>
   <td>HE-AAC v2</td>
  </tr>
  <tr>
   <td><code>30</code></td>
   <td>MPEG Surround</td>
   <td></td>
  </tr>
  <tr>
   <td><code>31</code></td>
   <td><em>Escape</em></td>
   <td></td>
  </tr>
  <tr>
   <td><code>32</code></td>
   <td>MPEG-1 Layer-1</td>
   <td></td>
  </tr>
  <tr>
   <td><code>33</code></td>
   <td>MPEG-1 Layer-2 (MP2)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>34</code></td>
   <td>MPEG-1 Layer-3 (MP3)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>35</code></td>
   <td>DST (Direct Stream Transfer)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>36</code></td>
   <td>ALS (Audio Lossless)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>37</code></td>
   <td>SLS (Scalable Lossless)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>38</code></td>
   <td>SLS Non-core (Scalable Lossless Non-core)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>39</code></td>
   <td>ER AAC ELD (Error Resilient AAC Enhanced Low Delay)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>40</code></td>
   <td>SMR Simple (Symbolic Music Representation Simple)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>41</code></td>
   <td>SMR Main (Symbolic Music Representation Main)</td>
   <td></td>
  </tr>
  <tr>
   <td><code>42</code></td>
   <td><em>Reserved</em></td>
   <td></td>
  </tr>
  <tr>
   <td><code>43</code></td>
   <td>SAOC (Spatial Audio Object Coding)<sup><a href="#audio-object-types-foot-1">[1]</a></sup></td>
   <td></td>
  </tr>
  <tr>
   <td><code>44</code></td>
   <td>LD MPEG Surround (Low Delay MPEG Surround)<sup><a href="#audio-object-types-foot-1">[1]</a></sup></td>
   <td></td>
  </tr>
  <tr>
   <td><code>45</code> and up</td>
   <td><em>Reserved</em></td>
   <td></td>
  </tr>
 </tbody>
</table>

<p><a name="audio-object-types-foot-1">[1]</a> SAOC and LD MPEG Surround are defined in <a href="https://www.iso.org/standard/54838.html">ISO/IEC 14496-3:2009/Amd.2:2010(E)</a>.</p>

<h3 id="WebM">WebM</h3>

<p>WebM <code>codecs</code> 파라미터의 기본 형은 4개의 WebM 코덱 중 하나 이상의 이름을 콤마로 구분합니다. 아래 표는 예시입니다.:</p>

<table class="standard-table">
 <caption>WebM MIME <code>codecs</code> 파라미터 예시</caption>
 <thead>
  <tr>
   <th scope="col">MIME 타입</th>
   <th scope="col">설명</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>video/webm;codecs="vp8"</code></td>
   <td>VP8 코덱 WebM 비디오; 오디오 미정의.</td>
  </tr>
  <tr>
   <td><code>video/webm;codecs="vp9"</code></td>
   <td>VP9 코덱 WebM 비디오.</td>
  </tr>
  <tr>
   <td><code>audio/webm;codecs="vorbis"</code></td>
   <td>Vorbis 오디오 WebM 파일.</td>
  </tr>
  <tr>
   <td><code>audio/webm;codecs="opus"</code></td>
   <td>Opus 오디오 WebM 파일.</td>
  </tr>
  <tr>
   <td><code>video/webm;codecs="vp8,vorbis"</code></td>
   <td>VP8 비디오 코덱, Vorbis 오디오 코덱 포함된 WebM 파일.</td>
  </tr>
  <tr>
   <td><code>video/webm;codecs="vp9,opus"</code></td>
   <td>A WebM container with VP9 video and Opus audio.</td>
  </tr>
 </tbody>
</table>

<p><code>vp8.0</code><code>vp9.0</code> 문자열도 가능하지만, 비추천합니다.</p>

<h4 id="ISO_Base_Media_File_Format_문법">ISO Base Media File Format 문법</h4>

<p><code>codecs</code> 파라미터를 표준화하고 강력한 포맷으로 발전시키기 위해, WebM은 <a href="#ISO-BMFF">ISO Base Media File Format</a> 에 정의된 문법에 따라 <em>비디오</em> 콘텐츠를 기술하기 시작했습니다. 본 문법은 <a href="https://www.webmproject.org/vp9/mp4">VP Codec ISO Media File Format Binding</a>의, <a href="https://www.webmproject.org/vp9/mp4/#codecs-parameter-string">Codecs Parameter String</a> 섹션에 정의되어 있습니다. 오디오 코덱은 <code>vorbis</code> 또는 <code>opus</code>로 표시되어 있습니다.</p>

<p><code>codecs</code> 파리미터는 사용한 코덱을 나타내는 4자리 문자로 시작하고 온점(<code>.</code>)으로 구분된 2자리 숫자가 반복됩니다.</p>

<pre class="notranslate">cccc.PP.LL.DD.CC[.cp[.tc[.mc[.FF]]]]</pre>

<p>처음부터 5개 요소는 필수이며; <code>cp</code> (color primaries) 부터는 옵션입니다.; 이후로는 어디서든 끊을 수 있습니다. 각 요소는 아래 표에 설명하고 있으며 예시가 첨부되어 있습니다.</p>

<table class="standard-table">
 <caption>WebM codecs parameter components</caption>
 <thead>
  <tr>
   <th scope="col">Component</th>
   <th scope="col">Details</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>cccc</code></td>
   <td>
    <p>4자리 코드로 사용 가능한 코덱을 명시합니다. 가능한 값은 아래와 같습니다:</p>

    <table class="standard-table">
     <caption>Web-M 지원 코덱 4자리 코드</caption>
     <thead>
      <tr>
       <th scope="col">Four-character code</th>
       <th scope="col">Codec</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td><code>vp08</code></td>
       <td>VP8</td>
      </tr>
      <tr>
       <td><code>vp09</code></td>
       <td>VP9</td>
      </tr>
      <tr>
       <td><code>vp10</code></td>
       <td>VP10</td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
  <tr>
   <td><code>PP</code></td>
   <td>
    <p>2자리 숫자 프로파일 코드. 필요하다면 두자리를 맞추기 위해 앞에 0을 추가합니다.</p>

    <table class="standard-table">
     <caption>WebM 프로파일 숫자</caption>
     <thead>
      <tr>
       <th scope="col">프로파일</th>
       <th scope="col">설명</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td><code>00</code></td>
       <td>크로마 서브샘플링 4:2:0(수직/수평 서브샘플링)만 허용. 색상 컴포넌트 당 8비트만 허용.</td>
      </tr>
      <tr>
       <td><code>01</code></td>
       <td>크로마 서브샘플링 전체 허용. 색상 컴포넌트 당 8비트만 허용.</td>
      </tr>
      <tr>
       <td><code>02</code></td>
       <td>크로마 서브샘플링 4:2:0만 허용. 색상 컴포넌트 당 8, 10, 12비트 허용.</td>
      </tr>
      <tr>
       <td><code>03</code></td>
       <td>크로마 서브샘플링 전체 허용. 색상 컴포넌트 당 8, 10, 12비트 허용</td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
  <tr>
   <td><code>LL</code></td>
   <td>두 자리 숫자 레벨 코드. 레벨 넘버는 고정 소수점 표기로 첫번째 숫자가 1의 자리, 두번째 숫자가 소수점 미만 첫번째 자리를 의미합니다. 예를 들어 레벨 3은 <code>30</code> 레벨 6.1은 <code>61</code>.</td>
  </tr>
  <tr>
   <td><code>DD</code></td>
   <td>휘도, 색상 컴포넌트의 비트 심도를 표기합니다. 가능한 값은 8, 10, 12입니다.</td>
  </tr>
  <tr>
   <td><code>CC</code></td>
   <td>
    <p>크로마 서브샘플링 포맷을 2자리 숫자로 표기합니다. 가능한 값은 아래 표에 있습니다; 자세한 내용은 {{SectionOnPage("en-US/docs/Web/Media/Formats/Video_concepts", "Chroma subsampling")}} 를 참조하세요.</p>

    <table class="standard-table">
     <caption>WebM 크로마 서브샘플링 구분자</caption>
     <thead>
      <tr>
       <th scope="col"></th>
       <th scope="col">크로마 서브샘플링 포맷</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td><code>00</code></td>
       <td>4:2:0 with the chroma samples sited interstitially between the pixels</td>
      </tr>
      <tr>
       <td><code>01</code></td>
       <td>4:2:0 chroma subsampling with the samples colocated with luma (0, 0)</td>
      </tr>
      <tr>
       <td><code>02</code></td>
       <td>4:2:2 chroma subsampling (4 out of each 4 horizontal pixels' luminance are used)</td>
      </tr>
      <tr>
       <td><code>03</code></td>
       <td>4:4:4 chroma subsampling (every pixel's luminance and chrominance are both retained)</td>
      </tr>
      <tr>
       <td><code>04</code></td>
       <td><em>Reserved</em></td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
  <tr>
   <td><code>cp</code></td>
   <td>
    <p><a href="https://www.itu.int/rec/T-REC-H.273/en">ISO/IEC 23001-8:2016</a> 표준 Section 8.1에 명시되어있는 색 공간을 두자리 숫자로 표현합니다. 본 요소와 이후 요소는 전부 비필수값입니다.</p>

    <p>Color primaries 요소에 가능한 값은 아래와 같습니다.:</p>

    <table class="standard-table">
     <caption>ISO/IEC Color primary identifiers</caption>
     <thead>
      <tr>
       <th scope="col">Value</th>
       <th scope="col">Details</th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <td><code>00</code></td>
       <td><em>ITU과 ISO/IEC</em>에 의해 예약됨</td>
      </tr>
      <tr>
       <td><code>01</code></td>
       <td>고선명 화질(HD) TV 표준인 BT.709, sRGB, sYCC. BT.709; sRGB는 컴퓨터 모니터에서 쓰이는 가장 일반적인 색 공간입니다. Broadcast BT.709는 8비트 색 심도를 사용하여 16(Black)부터 235(White)까지 리갈 레인지를 표현합니다.</td>
      </tr>
      <tr>
       <td><code>02</code></td>
       <td>알 수 없거나 application에서 활용하기 위해 사용합니다.</td>
      </tr>
      <tr>
       <td><code>03</code></td>
       <td><em>ITU과 ISO/IEC</em>에 의해 예약됨</td>
      </tr>
      <tr>
       <td><code>04</code></td>
       <td>BT.470 System M, NTSC (미국 내 표준 화질 TV 표준)</td>
      </tr>
      <tr>
       <td><code>05</code></td>
       <td>BT.470 System B, G; BT.601; BT.1358 625; BT.1700 625 PAL and 625 SECAM</td>
      </tr>
      <tr>
       <td><code>06</code></td>
       <td>BT.601 525; BT.1358 525 or 625; BT.1700 NTSC; SMPTE 170M. <em><code>7</code>과 동일함.</em></td>
      </tr>
      <tr>
       <td><code>70</code></td>
       <td>{{Glossary("SMPTE")}} 240M (historical). <em>Functionally identical to <code>6</code>과 동일함.</em></td>
      </tr>
      <tr>
       <td><code>08</code></td>
       <td>일반 필름</td>
      </tr>
      <tr>
       <td><code>09</code></td>
       <td>BT.2020; BT.2100. UHD (4K) High Dynamic Range (HDR) 영상에서 사용 매우 넓은 색 표현력과 10비트 12비트 색상 컴포넌트 지원.</td>
      </tr>
      <tr>
       <td><code>10</code></td>
       <td>SMPTE ST 428 (D-Cinema Distribution Master: Image characteristics). DCDM을 위한 비압축 형식.</td>
      </tr>
      <tr>
       <td><code>11</code></td>
       <td>SMPTE RP 431 (D-Cinema Quality: Reference projector and environment). 필름 표현의 지속적 경험을 위한 레퍼런스 프로젝터와 환경 조건에 대해 기술.</td>
      </tr>
      <tr>
       <td><code>12</code></td>
       <td>SMPTE EG 432 (Digital Source Processing: Color Processing for D-Cinema). 디지털 영화를 위한 색신호 디코딩의 기술적 가이드라인.</td>
      </tr>
      <tr>
       <td><code>13</code> – <code>21</code></td>
       <td><em>ITU과 ISO/IEC</em>에 의해 예약됨</td>
      </tr>
      <tr>
       <td><code>22</code></td>
       <td>EBU Tech 3213-E</td>
      </tr>
      <tr>
       <td><code>23</code> – <code>255</code></td>
       <td><em>ITU과 ISO/IEC</em>에 의해 예약됨</td>
      </tr>
     </tbody>
    </table>
   </td>
  </tr>
  <tr>
   <td><code>tc</code></td>
   <td>비디오의 <code>transferCharacteristics</code> 값을 2자리 숫자로 표현. This value is from Section 8.2 of <a href="https://www.itu.int/rec/T-REC-H.273/en">ISO/IEC 23001-8:2016</a> Section 8.2에 기술되어 있으며 디코딩된 색상을 렌더링 타겟에 맞출 때 transfer characteristics 을 정의합니다.</td>
  </tr>
  <tr>
   <td><code>mc</code></td>
   <td><code>matrixCoefficients</code> 속성 값을 2자리 숫자로 표현 <a href="https://www.itu.int/rec/T-REC-H.273/en">ISO/IEC 23001-8:2016</a> 스펙 Section 8.3 표에서 기술. 이 값은 native red, blue, green 색상을 휘도, 색차 신호에 매핑하는데 사용합니다. 이 계수들이 방정식에서 어떻게 사용되는지 같은 섹션에서 확인할 수 있습니다.</td>
  </tr>
  <tr>
   <td><code>FF</code></td>
   <td>색상 컴포넌트의 검정 수준과 색상 범위를 리갈 레인지로 제한할지 여부를 표시합니다. 예를들어 8비트 색상의 경우 리갈 레인지는 16~235입니다. 값이 <code>00</code> 인 경우 강제로 제한하며,  <code>01</code> 인 경우 결과물의 색상이 컬러 시스템의 범위를 벗어나더라도 각 컴포넌트 별로 가능한 풀 레인지 값을 허용합니다.</td>
  </tr>
 </tbody>
</table>

<h4 id="WebM_media_type_예시">WebM media type 예시</h4>

<dl>
 <dt><code>video/webm;codecs="vp08.00.41.08,vorbis"</code></dt>
 <dd>VP8 비디오, 프로파일 0 레벨 4.1, 8-bit YUV 4:2:0 크로마 서브샘플링, BT.709 색 공간, 변환 함수, 행렬 계수, 휘도 색차 값은 ("studio") 리갈 레인지로 인코딩 됨. 오디오는 Vorbis.</dd>
 <dt><code>video/webm;codecs="vp09.02.10.10.01.09.16.09.01,opus"</code></dt>
 <dd>VP9 비디오, 프로파일 2 레벨?1.0, 10-bit YUV 4:2:0 크로마 서브샘플링, BT.2020 색 공간, ST 2084 EOTF (HDR SMPTE), BT.2020 비상수 휘도 색상 행렬, 풀 레인지 휘도 색차 인코딩non-constant luminance color matrix, and full-range chroma and luma encoding. 오디오는 Opus 포맷.</dd>
</dl>

<h2 id="codecs_파라미터_사용하기">codecs 파라미터 사용하기</h2>

<p><code>codecs</code> 파라미터를 여러 상황에서 사용할 수 있습니다. 먼저 {{HTMLElement("audio")}}{{HTMLElement("video")}} 엘레먼트 생성 시 {{HTMLElement("source")}} 엘레먼트에 사용하여 브라우저로 하여금 사용할 미디어 포맷에 대한 옵션을 제공하는거죠..</p>

<p>{{domxref("MediaSource.isTypeSupported()")}} 메소드에 MIME 타입을 명시적으로 전달하는데 사용할 수도 있습니다.; 이 메소드는 현재 장치에서 주어진 미디어 포맷을 재생할 수 있는지 여부를 불리언 값으로 반환합니다.</p>

<h2 id="더_보기">더 보기</h2>

<ul>
 <li><a href="/en-US/docs/Web/Media">Web media technologies</a></li>
 <li><a href="/en-US/docs/Web/Media/Formats">Guide to media types and formats on the web</a></li>
 <li><a href="/en-US/docs/Web/Media/Formats/Audio_codecs">Guide to audio codecs used on the web</a></li>
 <li><a href="/en-US/docs/Web/Media/Formats/Video_codecs">Guide to video codecs used on the web</a></li>
 <li><a href="/en-US/docs/Web/Media/Formats/WebRTC_codecs">Codecs used by WebRTC</a></li>
</ul>