-
Notifications
You must be signed in to change notification settings - Fork 6
encoder
buliaoyin edited this page Nov 21, 2017
·
7 revisions
Table of Contents
SDK提供了通用音视频编码器的基类实现(VideoBufEncoderBase, AudioEncoderBase),开发者可以通过扩展这些基类, 实现几个基础接口,即可将自己的编码器接入到SDK中。
具体应用示例可参考 x264encoder 和 fdkaacencoder.
-
开启编码器
视频编码器实现
int doStart(VideoEncodeConfig config)接口, 音频编码器实现int doStart(AudioEncodeConfig config)接口。
在该接口实现中,需要根据输入的config参数来配置并打开编码器。 -
停止编码器
实现
void doStop()接口,关闭编码器。 -
动态码率调整
视频编码器需实现
void doAdjustBitrate(int bitrate)接口, 在编码过程中动态调整视频码率以实现码率自适应的特性。 -
Flush编码器数据
实现
doFlush()接口,清空当前编码器中的残留的已编码数据。 -
送入原始音视频数据
视频编码器实现
int doEncode (ImgBufFrame frame)接口,音频编码器实现int doEncode (AudioBufFrame frame)接口。
在该接口实现中,需要将参数中传递的原始音视频帧数据送给编码器。 -
发送编码后的音视频数据
编码器获取到一帧编码后的数据后,需要调用
sendEncodedPacket(ByteBuffer data, long dts, long pts, int flags)接口来将其发送至下一级模块。