对于FFmpeg相信做视频或图像处理这一块的都不会陌生,在网上也能找到很多相关的代码,但由于版本不同等原因,往往找到的代码都是需要自行修改才可以用,为此本人希望能尽绵薄之力,将开发包和自行编写的代码都放出来,如果初学者想要可以直接运行的代码做参考的话,可以下载我放出的FFmpeg开发包进行配置(配置的教程地址如下:点击打开链接),然后参考我写的编解码代码来进行程序的开发。
下面贴出的是我自己封装的FFmpeg视频压缩代码,如有更好的建议请告诉我,转载请注明出处。
首先我们设计一个视频压缩相关的类,定义如下
class Ffmpeg_Encoder
{
public:
AVFrame *m_pYUVFrame; //帧对象
AVCodec *pCodecH264; //编码器
AVCodecContext *c; //编码器数据结构对象
uint8_t *yuv_buff; //yuv图像数据区
uint8_t *rgb_buff;