• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AVCodec支持的格式
2
3## 媒体编解码
4
5### 视频解码
6
7当前支持的解码能力如下:
8
9| 视频硬解类型       | 视频软解类型   |
10| --------------------- | ---------------- |
11| AVC(H.264)、HEVC(H.265)<!--RP14--><!--RP14End--> | MPEG2、MPEG4、H.263、AVC(H.264)<!--RP12--><!--RP12End--> |
12
13视频解码软/硬件解码存在差异,基于MimeType创建解码器时,<!--RP13-->软解当前仅支持 MPEG2(OH_AVCODEC_MIMETYPE_VIDEO_MPEG2)、MPEG4(OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2)、H.263(OH_AVCODEC_MIMETYPE_VIDEO_H263)、H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC),<!--RP13End-->如果硬件平台支持,<!--RP15-->则可以使用H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC)、H.265(OH_AVCODEC_MIMETYPE_VIDEO_HEVC)<!--RP15End-->硬件解码能力。
14
15每一种解码的能力范围,可以通过[获取支持的编解码能力](obtain-supported-codecs.md)获取。
16
17具体开发指导请参考[视频解码](video-decoding.md)。
18
19### 视频编码
20
21当前支持的编码能力如下:
22
23| 视频编码类型                 |
24| ---------------------------- |
25| HEVC(H.265)、 AVC(H.264) |
26
27目前仅支持硬件编码,基于MimeType创建编码器时,支持配置为H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC)和H.265(OH_AVCODEC_MIMETYPE_VIDEO_HEVC)。
28
29每一种编码的能力范围,可以通过[获取支持的编解码能力](obtain-supported-codecs.md)获取。
30
31具体开发指导请参考[视频编码](video-encoding.md)。
32
33
34### 音频解码
35
36当前支持的解码能力如下:
37
38AAC、MPEG(MP3)、Flac、Vorbis、AMR(amrnb、amrwb)、G711mu、APE<!--RP1--><!--RP1End-->。
39
40具体开发指导请参考[音频解码](audio-decoding.md)。
41
42
43### 音频编码
44
45当前支持的编码能力:
46
47AAC、Flac、MP3、G711mu<!--RP3--><!--RP3End-->。
48
49具体开发指导请参考[音频编码](audio-encoding.md)。
50
51
52## 媒体数据封装与解析
53
54### 媒体数据解析
55
56支持的解封装格式如下:
57
58| 媒体格式  | 封装格式                      | 码流格式                      |
59| -------- | :----------------------------| :----------------------------|
60| 音视频     | mp4                        |<!--RP4-->视频码流:AVC(H.264)、MPEG4,音频码流:AAC、MPEG(MP3),字幕流:WEBVTT<!--RP4End-->|
61| 音视频     | fmp4                       |<!--RP5-->视频码流:AVC(H.264),音频码流:AAC、MPEG(MP3)<!--RP5End-->|
62| 音视频     | mkv                        |<!--RP6-->视频码流:AVC(H.264),音频码流:AAC、MPEG(MP3)、OPUS<!--RP6End-->|
63| 音视频     | mpeg-ts                    |<!--RP7-->视频码流:AVC(H.264)、MPEG2、MPEG4,音频码流:AAC、MPEG(MP3)<!--RP7End-->|
64| 音视频     | flv                        |<!--RP8-->视频码流:AVC(H.264),音频码流:AAC<!--RP8End-->|
65| 音视频     | mpeg-ps                    |视频码流:AVC(H.264)、MPEG2,音频码流:MPEG(MP2、MP3)|
66| 音视频     | avi                        |视频码流:H.263、AVC(H.264)、MPEG2、MPEG4,音频码流:AAC、MPEG(MP2、MP3)、PCM|
67| 音频       | m4a                        |<!--RP9-->音频码流:AAC<!--RP9End-->|
68| 音频       | aac                        |音频码流:AAC|
69| 音频       | mp3                        |音频码流:MPEG(MP3)|
70| 音频       | ogg                        |音频码流:Vorbis|
71| 音频       | flac                       |音频码流:Flac|
72| 音频       | wav                        |音频码流:PCM、G711mu|
73| 音频       | amr                        |音频码流:AMR(amrnb、amrwb)|
74| 音频       | ape                        |音频码流:APE|
75| 外挂字幕   | srt                        |字幕流:SRT|
76| 外挂字幕   | webvtt                     |字幕流:WEBVTT|
77
78DRM解密能力支持的解封装格式:<!--RP10-->mp4(H.264,AAC)、mpeg-ts(H.264,AAC)<!--RP10End-->。
79
80具体开发指导请参考[媒体数据解析](audio-video-demuxer.md)。
81
82
83### 媒体数据封装
84
85当前支持的封装能力如下:
86
87| 封装格式 | 视频编解码类型        | 音频编解码类型   | 封面类型       |
88| -------- | --------------------- | ---------------- | -------------- |
89| mp4      | AVC(H.264)<!--RP11--><!--RP11End-->    | AAC、MPEG(MP3) | jpeg、png、bmp |
90| m4a      | -                     | AAC              | jpeg、png、bmp |
91| mp3      | -                     | MPEG(MP3)      | -              |
92| amr      | -                     | AMR(amrnb、amrwb) | -             |
93| wav      | -                     | G711mu(pcm-mulaw) | -             |
94| aac      | -                     | AAC               | -             |
95
96> **说明:**
97>
98> - 封装格式为mp4,音频编解码类型为MPEG(MP3)时采样率需大于等于16000Hz。
99> - 封装格式为mp4/m4a,音频编解码类型为AAC时声道数范围为1~7。
100
101配置选项key值说明:
102
103mp4封装格式:
104   |                key                 |         描述         |   aac  |   mp3  |  H.264  |  H.265  |  jpg   |  png   |  bmp   |
105   | ---------------------------------- | :------------------: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
106   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须  |  必须  |   -    |   -    |   -   |   -   |   -   |
107   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须  |  必须  |   -    |   -    |   -   |   -   |   -   |
108   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选  |  可选  |   -    |   -    |   -   |   -   |   -   |
109   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选  |  可选  |   -    |   -    |   -   |   -   |   -   |
110   | OH_MD_KEY_PROFILE                  | 编码档次              |  可选  |   -   |   -    |   -    |   -   |   -   |   -   |
111   | OH_MD_KEY_BITRATE                  | 码率                  |  可选  |  可选  |  可选  |  可选  |   -   |   -   |   -   |
112   | OH_MD_KEY_CODEC_CONFIG             | 编解码器特定数据       |  可选  |   -   |  可选  |  可选  |   -   |   -   |   -   |
113   | OH_MD_KEY_WIDTH                    | 宽度                  |   -   |   -   |  必须  |  必须  |  必须  |  必须  |  必须  |
114   | OH_MD_KEY_HEIGHT                   | 高度                  |   -   |   -   |  必须  |  必须  |  必须  |  必须  |  必须  |
115   | OH_MD_KEY_FRAME_RATE               | 视频流帧率            |   -   |   -   |  可选  |  可选  |   -   |   -   |   -   |
116   | OH_MD_KEY_COLOR_PRIMARIES          | 视频色域              |   -   |   -   |  可选  |  可选  |   -   |   -   |   -   |
117   | OH_MD_KEY_TRANSFER_CHARACTERISTICS | 视频传递函数          |   -   |   -   |  可选  |  可选  |   -   |   -   |   -   |
118   | OH_MD_KEY_MATRIX_COEFFICIENTS      | 视频矩阵系数          |   -   |   -   |  可选  |  可选  |   -   |   -   |   -   |
119   | OH_MD_KEY_RANGE_FLAG               | 值域标志              |   -   |   -   |  可选  |  可选  |   -   |   -   |   -   |
120   | OH_MD_KEY_VIDEO_IS_HDR_VIVID       | 视频轨是否为HDR VIVID |   -   |   -   |   -    |  可选  |   -   |   -   |   -   |
121
122m4a封装格式:
123   |                key                 |         描述         |   aac  |  jpg   |  png   |  bmp   |
124   | ---------------------------------- | :------------------: | :----: | :----: | :----: | :----: |
125   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须   |   -   |   -   |   -   |
126   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须   |   -   |   -   |   -   |
127   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选   |   -   |   -   |   -   |
128   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选   |   -   |   -   |   -   |
129   | OH_MD_KEY_PROFILE                  | 编码档次              |  可选  |   -   |   -   |   -   |
130   | OH_MD_KEY_BITRATE                  | 码率                  |  可选   |   -   |   -   |   -   |
131   | OH_MD_KEY_CODEC_CONFIG             | 编解码器特定数据       |  可选  |   -   |   -   |   -   |
132   | OH_MD_KEY_WIDTH                    | 宽度                  |   -   |  必须  |  必须  |  必须  |
133   | OH_MD_KEY_HEIGHT                   | 高度                  |   -   |  必须  |  必须  |  必须  |
134
135amr封装格式:
136   |                key                 |         描述         | amr_nb | amr_wb |
137   | ---------------------------------- | :------------------: | :----: | :----: |
138   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须  |  必须  |
139   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须  |  必须  |
140   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选  |  可选  |
141   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选  |  可选  |
142   | OH_MD_KEY_BITRATE                  | 码率                  |  可选  |  可选  |
143
144mp3封装格式:
145   |                key                 |         描述         |   mp3  |  jpg   |
146   | ---------------------------------- | :------------------: | :----: | :----: |
147   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须  |   -   |
148   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须  |   -   |
149   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选  |   -   |
150   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选  |   -   |
151   | OH_MD_KEY_BITRATE                  | 码率                  |  可选  |   -   |
152   | OH_MD_KEY_WIDTH                    | 宽度                  |   -   |  必须  |
153   | OH_MD_KEY_HEIGHT                   | 高度                  |   -   |  必须  |
154
155wav封装格式:
156   |                key                 |         描述         | g711mu  |
157   | ---------------------------------- | :------------------: | :----: |
158   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须  |
159   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须  |
160   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选  |
161   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选  |
162   | OH_MD_KEY_BITRATE                  | 码率                  |  必须  |
163
164aac封装格式:
165   |                key                 |         描述         |  aac   |
166   | ---------------------------------- | :------------------: | :----: |
167   | OH_MD_KEY_AUD_SAMPLE_RATE          | 采样率                |  必须  |
168   | OH_MD_KEY_AUD_CHANNEL_COUNT        | 声道数                |  必须  |
169   | OH_MD_KEY_AUDIO_SAMPLE_FORMAT      | 输出音频流格式         |  可选  |
170   | OH_MD_KEY_CHANNEL_LAYOUT           | 通道布局              |  可选  |
171   | OH_MD_KEY_BITRATE                  | 码率                  |  可选  |
172   | OH_MD_KEY_PROFILE                  | 编码档次              |  必须  |
173   | OH_MD_KEY_AAC_IS_ADTS              | 是否为ADTS格式        |  必须  |
174
175具体开发指导请参考[媒体数据封装](audio-video-muxer.md)。
176