FFmpegFrameRecorder

构造函数

public FFmpegFrameRecorder(String filename, int imageWidth, int imageHeight, int audioChannels)

指定文件名、分辨率、音频通道数;初始化格式、编码器、比特率、采样率;分配AVPacket空间。

公共方法

public void start()

创建并设置编码器、打开编码器、申请必要的编码缓存区。

public void record(Frame frame, int pixelFormat)

转码视频并写入文件/推流。

public boolean recordSamples(int sampleRate, int audioChannels, Buffer ... samples)

转码音频并写入文件/推流,如果不指定sampleRate、audioChannels将由音频编码器决定。

public void stop()

flush所有buffer。finally会执行release()。

public void release()

释放所有资源,当GC时会自动执行。

属性:

private String filename;// 输出文件名
private AVFrame picture, tmp_picture;// 存放编码后的一帧图片的byte[]及相关信息
private BytePointer picture_buf;// 一帧图片的存储区域
private AVFrame frame;// 存放编码后的一帧音频的byte[]及相关信息
private BytePointer video_outbuf;// 输出视频的存储区域
private int video_outbuf_size;// 输出视频的存储区域的大小
private BytePointer audio_outbuf;// 输出音频的存储区域
private int audio_outbuf_size;// 输出音频的存储区域的大小

private Pointer[] samples_in;
private BytePointer[] samples_out;
private PointerPointer samples_in_ptr;
private PointerPointer samples_out_ptr;

private int audio_input_frame_size;// 输入音频一帧的大小

private AVOutputFormat oformat;// 输出视频格式
private AVFormatContext oc;
private AVCodec video_codec, audio_codec;// 编码器
private AVCodecContext video_c, audio_c;
private AVStream video_st, audio_st;// 流
private SwsContext img_convert_ctx;
private SwrContext samples_convert_ctx;
private int samples_channels, samples_format, samples_rate;
private AVPacket video_pkt, audio_pkt;
private int[] got_video_packet, got_audio_packet;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,792评论 0 3
  • 这是一个跨平台的播放器ijkplayer,iOS上集成看【如何快速的开发一个完整的iOS直播app】(原理篇)。 ...
    FindCrt阅读 7,150评论 2 46
  • 提及名模,我们都会想到的是林志玲、熊黛林等等女模,而今天我们就要讲的就是熊黛林,熊黛林是中国的女模特,出生在江苏南...
    传媒观阅读 440评论 0 0
  • 今天不怎么舒服,也没管儿子,回来后看到儿子在那捣鼓豆子,满桌子都是,把我的纸兜都翻出来了,用小剪子剪了满地的纸,自...
    满一飞阅读 268评论 0 0
  • 异地恋的无奈就在于 “眼看着你很忙却给不了任何陪伴” “想安安静静呆在你身边却无能为力” “听着电话两端的叹息什么...
    云霞shinging阅读 163评论 0 0