harmony 鸿蒙AVCodec支持的格式

  • 2025-06-12
  • 浏览 (3)

AVCodec支持的格式

媒体编解码

视频解码

当前支持的解码能力如下:

视频硬解类型 视频软解类型
AVC(H.264)、HEVC(H.265) MPEG2、MPEG4、H.263、AVC(H.264)

视频解码软/硬件解码存在差异,基于MimeType创建解码器时,软解当前仅支持 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),如果硬件平台支持,则可以使用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格式 | 必须|

具体开发指导请参考媒体数据封装

你可能感兴趣的鸿蒙文章

harmony 鸿蒙AVCodec Kit(音视频编解码服务)

harmony 鸿蒙音频解码

harmony 鸿蒙音频编码

harmony 鸿蒙媒体数据解析

harmony 鸿蒙媒体数据封装

harmony 鸿蒙AVCodec Kit简介

harmony 鸿蒙获取支持的编解码能力

harmony 鸿蒙创建视频解码器和NativeWindow初始化并行

harmony 鸿蒙视频解码

harmony 鸿蒙ROI视频编码

0  赞