harmony 鸿蒙AVCodec支持的格式
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(音视频编解码服务)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦