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