说说项目中遇到的两点失误: 1. AVFrame结构,av_frame_alloc申请内存,av_frame_free释放内存。容易混淆的是av_frame_unref,它的作用是释放音视频数据资源,而av_frame_free是释放所有资源,包括音视频数据资源和结构体本身的内存。可以从源码中看到, ...
分类:
其他好文 时间:
2018-06-17 21:24:33
阅读次数:
745
结构体 初始化 销毁 AVFormatContext avformat_alloc_context() avformat_free_context() AVIOContext avio_alloc_context() AVStream avformat_new_stream() AVCodecCon ...
分类:
其他好文 时间:
2018-06-17 20:17:01
阅读次数:
321
FFmpeg中AVFrame到OpenCV中Mat的两种转换方法 方法一: 子函数YUV2RGB( )实现yuv420p到RGB的转换 方法二、上面方法过于繁琐,较为麻烦,推荐使用下面的方法: 子函数Yuv420p2Rgb32( )函数实现yuv420p到RGB32的转换 ...
分类:
其他好文 时间:
2017-10-23 22:14:21
阅读次数:
503
1:ffmpeg解码流程 拆包,构建队列,解码,同步,显示 //计算视频Frame的显示时间//获取ptspts = 0;//decodec video frameavcodec_decode_video2(AVFormatContxt*,AVFrame,int*,AVPacket);if( (pt ...
分类:
其他好文 时间:
2017-06-17 00:13:47
阅读次数:
272
位于libavutil下frame.h文件中
这个结构体用来描述解码出音视频数据。
AVFrame必须使用av_frame_alloc分配()。
AVFrame必须与av_frame_free释放()...
分类:
其他好文 时间:
2017-04-01 18:33:15
阅读次数:
1232
一、AVPacket [cpp]view plain copy /** * AVPacket 作为解码器的输入 或 编码器的输出。 * 当作为解码器的输入时,它由demuxer生成,然后传递给解码器 * 当作为编码器的输出时,由编码器生成,然后传递给muxer * 在视频中,AVPacket 只能包 ...
分类:
其他好文 时间:
2016-07-29 15:32:13
阅读次数:
724
编码可以简单理解为将连续的图片帧转变成视频流的过程。以H264为例给出编码的代码: 稍微解释下:AV_CODEC_ID_H264是264 codec ID,如果是其他的编码器替换相应的ID. avcodec_open2返回0表示打开编码器成功,打开失败返回负值。encode输入是一个AVFrame。 ...
分类:
其他好文 时间:
2016-06-16 18:01:05
阅读次数:
255
大多数厂家摄像机输出的音频流格式都是PCM,有一些场合(比如讲音视频流保存成Ts流)需要将PCM格式转成AAC格式。基本的思路是先解码得到音频帧,再将音频帧编码成AAC格式。编码和解码之间需要添加一个filter。filter起到适配的作用。 首先解码: decode 得到AVFrame 也即音频帧 ...
分类:
其他好文 时间:
2016-06-16 01:26:24
阅读次数:
361
// FFMPEG关键结构体:// 转载 http://blog.csdn.net/leixiaohua1020/article/details/14214577// 2016.2.26 AVFrame(位于avcodec.h)结构体一般用于存储原始数据。======================
分类:
其他好文 时间:
2016-02-28 21:36:20
阅读次数:
566
来源:http://blog.csdn.net/chance_yin/article/details/16817957一、AVPacket[cpp] view plaincopy/***AVPacket作为解码器的输入或编码器的输出。*当作为解码器的输入时,它由demuxer生成,然后传递给解码器*...
分类:
其他好文 时间:
2015-11-19 00:36:02
阅读次数:
3230