There was an error while loading. Please reload this page.
SDK提供了通用音视频编码器的基类实现(VideoBufEncoderBase, AudioEncoderBase),开发者可以通过扩展这些基类, 实现几个基础接口,即可将自己的编码器接入到SDK中。
具体应用示例可参考 x264encoder 和 fdkaacencoder.
开启编码器
视频编码器实现 int doStart(VideoEncodeConfig config) 接口, 音频编码器实现 int doStart(AudioEncodeConfig config) 接口。 在该接口实现中,需要根据输入的config参数来配置并打开编码器。
int doStart(VideoEncodeConfig config)
int doStart(AudioEncodeConfig config)
停止编码器
实现 void doStop() 接口,关闭编码器。
void doStop()
动态码率调整
视频编码器需实现 void doAdjustBitrate(int bitrate) 接口, 在编码过程中动态调整视频码率以实现码率自适应的特性。
void doAdjustBitrate(int bitrate)
Flush编码器数据
实现 doFlush() 接口,清空当前编码器中的残留的已编码数据。
doFlush()
送入原始音视频数据
视频编码器实现 int doEncode (ImgBufFrame frame) 接口,音频编码器实现 int doEncode (AudioBufFrame frame) 接口。 在该接口实现中,需要将参数中传递的原始音视频帧数据送给编码器。
int doEncode (ImgBufFrame frame)
int doEncode (AudioBufFrame frame)
发送编码后的音视频数据
编码器获取到一帧编码后的数据后,需要调用 sendEncodedPacket(ByteBuffer data, long dts, long pts, int flags) 接口来将其发送至下一级模块。
sendEncodedPacket(ByteBuffer data, long dts, long pts, int flags)