harmony 鸿蒙AVMuxer

2023-10-30 浏览 (622)

AVMuxer

Overview

The AVMuxer module provides functions for audio and video encapsulation.

@syscap SystemCapability.Multimedia.Media.Muxer

Since

10

Summary

Files

NameDescription
native_avmuxer.hDeclares native APIs used for audio and video encapsulation.
File to include: <multimedia/player_framework/native_avmuxer.h>
Library: libnative_media_avmuxer.so

Functions

NameDescription
*OH_AVMuxer_Create (int32_t fd, OH_AVOutputFormat format)Creates an OH_AVMuxer instance by using the file descriptor and encapsulation format.
OH_AVMuxer_SetRotation (OH_AVMuxer *muxer, int32_t rotation)Sets the rotation angle (clockwise) of an output video.
OH_AVMuxer_AddTrack (OH_AVMuxer *muxer, int32_t *trackIndex, OH_AVFormat *trackFormat)Adds a media track to the muxer.
OH_AVMuxer_Start (OH_AVMuxer *muxer)Starts encapsulation.
OH_AVMuxer_WriteSample (OH_AVMuxer *muxer, uint32_t trackIndex, OH_AVMemory *sample, OH_AVCodecBufferAttr info)Writes data to the muxer.
OH_AVMuxer_Stop (OH_AVMuxer *muxer)Stops encapsulation.
OH_AVMuxer_Destroy (OH_AVMuxer *muxer)Clears internal resources and destroys an OH_AVMuxer instance.

Function Description

OH_AVMuxer_AddTrack()

OH_AVErrCode OH_AVMuxer_AddTrack (OH_AVMuxer *muxer, int32_t *trackIndex, OH_AVFormat *trackFormat)

Description

Adds a media track to the muxer.

This function must be called before OH_AVMuxer_Start.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.
trackIndexPointer to the index of the media track. The index will be used in the OH_AVMuxer_WriteSample function. If the media track is added, the index value is greater than or equal to 0; otherwise, the value is less than 0.
trackFormatPointer to an OH_AVFormat instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

Since

10

OH_AVMuxer_Create()

OH_AVMuxer* OH_AVMuxer_Create (int32_t fd, OH_AVOutputFormat format)

Description

Creates an OH_AVMuxer instance by using the file descriptor and encapsulation format.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
fdFile descriptor (FD). You must open the file in read/write mode (O_RDWR) and close the file after using it.
formatFormat of the encapsulated output file. For details, see OH_AVOutputFormat.

Returns

Returns the pointer to the OH_AVMuxer instance created. You must call OH_AVMuxer_Destroy to destroy the instance when it is no longer needed.

Since

10

OH_AVMuxer_Destroy()

OH_AVErrCode OH_AVMuxer_Destroy (OH_AVMuxer *muxer)

Description

Clears internal resources and destroys an OH_AVMuxer instance.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise. You must set the muxer to null.

Since

10

OH_AVMuxer_SetRotation()

OH_AVErrCode OH_AVMuxer_SetRotation (OH_AVMuxer *muxer, int32_t rotation)

Description

Sets the rotation angle (clockwise) of an output video.

This function must be called before OH_AVMuxer_Start.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.
rotationAngle to set. The value must be 0, 90, 180, or 270.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

Since

10

OH_AVMuxer_Start()

OH_AVErrCode OH_AVMuxer_Start (OH_AVMuxer *muxer)

Description

Starts encapsulation.

This function must be called after OH_AVMuxer_AddTrack and before OH_AVMuxer_WriteSample.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

Since

10

OH_AVMuxer_Stop()

OH_AVErrCode OH_AVMuxer_Stop (OH_AVMuxer *muxer)

Description

Stops encapsulation.

Once encapsulation is stopped, it cannot be restarted.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

Since

10

OH_AVMuxer_WriteSample()

OH_AVErrCode OH_AVMuxer_WriteSample (OH_AVMuxer *muxer, uint32_t trackIndex, OH_AVMemory *sample, OH_AVCodecBufferAttr info)

Description

Writes data to the muxer.

This function must be called after OH_AVMuxer_Start and before OH_AVMuxer_Stop. You must ensure that the data is written to the correct media track in ascending order by time.

@syscap SystemCapability.Multimedia.Media.Muxer

Parameters

NameDescription
muxerPointer to an OH_AVMuxer instance.
trackIndexIndex of the media track corresponding to the data.
samplePointer to the buffer that stores the data written (data obtained after encoding or decapsulation).
infoInformation about the data written. For details, see OH_AVCodecBufferAttr.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

Since

10

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Native APIs

harmony 鸿蒙AVCapability

harmony 鸿蒙AVDemuxer

harmony 鸿蒙AVScreenCapture

harmony 鸿蒙AVSource

harmony 鸿蒙AudioDecoder

harmony 鸿蒙AudioEncoder

harmony 鸿蒙CodecBase

harmony 鸿蒙Core

harmony 鸿蒙Drawing

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/8d268bb13cb74bf8b1eb99a17e84c089