当前位置: 首页 > >

利用FFmpge进行视频压缩(从图像到H264视频流)

发布时间:

? ? 对于FFmpeg相信做视频或图像处理这一块的都不会陌生,在网上也能找到很多相关的代码,但由于版本不同等原因,往往找到的代码都是需要自行修改才可以用,为此本人希望能尽绵薄之力,将开发包和自行编写的代码都放出来,如果初学者想要可以直接运行的代码做参考的话,可以下载我放出的FFmpeg开发包进行配置(配置的教程地址如下:点击打开链接),然后参考我写的编解码代码来进行程序的开发。


? ? 下面贴出的是我自己封装的FFmpeg视频压缩代码,如有更好的建议请告诉我,转载请注明出处。


? ? 首先我们设计一个视频压缩相关的类,定义如下


?


class Ffmpeg_Encoder
{
public:
AVFrame *m_pYUVFrame; //帧对象
AVCodec *pCodecH264; //编码器
AVCodecContext *c; //编码器数据结构对象
uint8_t *yuv_buff; //yuv图像数据区
uint8_t *rgb_buff; //rgb图像数据区
SwsContext *scxt; //图像格式转换对象
uint8_t *outbuf; //编码出来视频数据缓存
int outbuf_size; //编码输出数据去大小
int nDataLen; //rgb图像数据区长度
int width; //输出视频宽度
int height; //输出视频高度
AVPacket



友情链接: hackchn文档网 营销文档网 爱linux网 爱行业网 时尚网