AVCodec支持的格式
媒体编解码
视频解码
当前支持的解码能力如下:
| 视频硬解类型 | 视频软解类型 |
|---|---|
| AVC(H.264)、HEVC(H.265) | MPEG2、MPEG4、AVC(H.264) |
视频解码软/硬件解码存在差异,基于MimeType创建解码器时,软解当前仅支持 MPEG2(OH_AVCODEC_MIMETYPE_VIDEO_MPEG2)、MPEG4(OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2)、 H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC),如果硬件平台支持,则可以使用H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC)、H.265(OH_AVCODEC_MIMETYPE_VIDEO_HEVC)硬件解码能力。
每一种解码的能力范围,可以通过获取支持的编解码能力获取。
具体开发指导请参考视频解码。
视频编码
当前支持的编码能力如下:
| 视频编码类型 |
|---|
| HEVC(H.265)、 AVC(H.264) |
目前仅支持硬件编码,基于MimeType创建编码器时,支持配置为H.264(OH_AVCODEC_MIMETYPE_VIDEO_AVC)和H.265(OH_AVCODEC_MIMETYPE_VIDEO_HEVC)。
每一种编码的能力范围,可以通过获取支持的编解码能力获取。
具体开发指导请参考视频编码。
音频解码
当前支持的解码能力:
AAC、MPEG(MP3)、Flac、Vorbis、AMR(amrnb、amrwb)、G711mu、APE。
具体开发指导请参考音频解码。
音频编码
当前支持的编码能力:
AAC、Flac、MP3、G711mu。
具体开发指导请参考音频编码。
媒体数据封装与解析
媒体数据解析
支持的解封装格式如下:
| 媒体格式 | 封装格式 | 码流格式 |
|---|---|---|
| 音视频 | mp4 | 视频码流:AVC(H.264)、MPEG4,音频码流:AAC、MPEG(MP3),字幕流:WEBVTT |
| 音视频 | fmp4 | 视频码流:AVC(H.264),音频码流:AAC、MPEG(MP3) |
| 音视频 | mkv | 视频码流:AVC(H.264),音频码流:AAC、MPEG(MP3)、OPUS |
| 音视频 | mpeg-ts | 视频码流:AVC(H.264)、MPEG2、MPEG4,音频码流:AAC、MPEG(MP3) |
| 音视频 | flv | 视频码流:AVC(H.264),音频码流:AAC |
| 音视频 | mpeg-ps | 视频码流:AVC(H.264)、MPEG2,音频码流:MPEG(MP2、MP3) |
| 音视频 | avi | 视频码流:H.263、AVC(H.264)、MPEG2、MPEG4,音频码流:AAC、MPEG(MP2、MP3)、PCM |
| 音频 | m4a | 音频码流:AAC |
| 音频 | aac | 音频码流:AAC |
| 音频 | mp3 | 音频码流:MPEG(MP3) |
| 音频 | ogg | 音频码流:Vorbis |
| 音频 | flac | 音频码流:Flac |
| 音频 | wav | 音频码流:PCM、G711mu |
| 音频 | amr | 音频码流:AMR(amrnb、amrwb) |
| 音频 | ape | 音频码流:APE |
| 外挂字幕 | srt | 字幕流:SRT |
| 外挂字幕 | webvtt | 字幕流:WEBVTT |
DRM解密能力支持的解封装格式:mp4(H.264,AAC)、mpeg-ts(H.264,AAC)。
具体开发指导请参考媒体数据解析。
媒体数据封装
当前支持的封装能力如下:
| 封装格式 | 视频编解码类型 | 音频编解码类型 | 封面类型 |
|---|---|---|---|
| mp4 | AVC(H.264) | AAC、MPEG(MP3) | jpeg、png、bmp |
| m4a | - | AAC | jpeg、png、bmp |
| mp3 | - | MPEG(MP3) | - |
| amr | - | AMR(amrnb、amrwb) | - |
| wav | - | G711mu(pcm-mulaw) | - |
| aac | - | AAC | - |
说明:
- 封装格式为mp4,音频编解码类型为MPEG(MP3)时采样率需大于等于16000Hz。
- 封装格式为mp4/m4a,音频编解码类型为AAC时声道数范围为1~7。
配置选项key值说明:
mp4封装格式:
| key | 描述 | aac | mp3 | H.264 | H.265 | jpg | png | bmp |
|---|---|---|---|---|---|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 | 必须 | - | - | - | - | - |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 | 必须 | - | - | - | - | - |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 | 可选 | - | - | - | - | - |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 | 可选 | - | - | - | - | - |
| OH_MD_KEY_PROFILE | 编码档次 | 可选 | - | - | - | - | - | - |
| OH_MD_KEY_BITRATE | 码率 | 可选 | 可选 | 可选 | 可选 | - | - | - |
| OH_MD_KEY_CODEC_CONFIG | 编解码器特定数据 | 可选 | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_WIDTH | 宽度 | - | - | 必须 | 必须 | 必须 | 必须 | 必须 |
| OH_MD_KEY_HEIGHT | 高度 | - | - | 必须 | 必须 | 必须 | 必须 | 必须 |
| OH_MD_KEY_FRAME_RATE | 视频流帧率 | - | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_COLOR_PRIMARIES | 视频色域 | - | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_TRANSFER_CHARACTERISTICS | 视频传递函数 | - | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_MATRIX_COEFFICIENTS | 视频矩阵系数 | - | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_RANGE_FLAG | 值域标志 | - | - | 可选 | 可选 | - | - | - |
| OH_MD_KEY_VIDEO_IS_HDR_VIVID | 视频轨是否为HDR VIVID | - | - | - | 可选 | - | - | - |
m4a封装格式:
| key | 描述 | aac | jpg | png | bmp |
|---|---|---|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 | - | - | - |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 | - | - | - |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 | - | - | - |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 | - | - | - |
| OH_MD_KEY_PROFILE | 编码档次 | 可选 | - | - | - |
| OH_MD_KEY_BITRATE | 码率 | 可选 | - | - | - |
| OH_MD_KEY_CODEC_CONFIG | 编解码器特定数据 | 可选 | - | - | - |
| OH_MD_KEY_WIDTH | 宽度 | - | 必须 | 必须 | 必须 |
| OH_MD_KEY_HEIGHT | 高度 | - | 必须 | 必须 | 必须 |
amr封装格式:
| key | 描述 | amr_nb | amr_wb |
|---|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 | 必须 |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 | 必须 |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 | 可选 |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 | 可选 |
| OH_MD_KEY_BITRATE | 码率 | 可选 | 可选 |
mp3封装格式:
| key | 描述 | mp3 | jpg |
|---|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 | - |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 | - |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 | - |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 | - |
| OH_MD_KEY_BITRATE | 码率 | 可选 | - |
| OH_MD_KEY_WIDTH | 宽度 | - | 必须 |
| OH_MD_KEY_HEIGHT | 高度 | - | 必须 |
wav封装格式:
| key | 描述 | g711mu |
|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 |
| OH_MD_KEY_BITRATE | 码率 | 必须 |
aac封装格式:
| key | 描述 | aac |
|---|---|---|
| OH_MD_KEY_AUD_SAMPLE_RATE | 采样率 | 必须 |
| OH_MD_KEY_AUD_CHANNEL_COUNT | 声道数 | 必须 |
| OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 输出音频流格式 | 可选 |
| OH_MD_KEY_CHANNEL_LAYOUT | 通道布局 | 可选 |
| OH_MD_KEY_BITRATE | 码率 | 可选 |
| OH_MD_KEY_PROFILE | 编码档次 | 必须 |
| OH_MD_KEY_AAC_IS_ADTS | 是否为ADTS格式 | 必须 |
具体开发指导请参考媒体数据封装。