- 博客(16)
- 资源 (20)
- 收藏
- 关注
原创 avcodec_decode_video2()
ffmpeg中的avcodec_decode_video2()的作用是解码一帧视频数据。输入一个压缩编码的结构体AVPacket,输出一个解码后的结构体AVFrame。
2016-06-23 17:45:08
748
原创 av_read_frame()
ffmpeg中的av_read_frame()的作用是读取码流中的音频若干帧或者视频一帧。例如,解码视频的时候,每解码一个视频帧,需要先调用av_read_frame()获得一帧视频的压缩数据,然后才能对该数据进行解码(例如H.264中一帧压缩数据通常对应一个NAL)。通过av_read_packet(***),读取一个包,需要说明的是此函数必须是包含整数帧的,不存在半帧的情况,以ts流为
2016-06-23 17:43:49
1454
原创 avcodec_register_all()
ffmpeg注册复用器,编码器等的函数av_register_all()。该函数在所有基于ffmpeg的应用程序中几乎都是第一个被调用的。只有调用了该函数,才能使用复用器,编码器等。 可见解复用器注册都是用REGISTER_DEMUXER (X,x)例如:REGISTER_DEMUXER (AAC, aac) 可见复用器注册都是用REGISTER_MUXER
2016-06-23 17:41:41
1053
原创 avformat_open_input
FFMPEG打开媒体的的过程开始于avformat_open_input,因此该函数的重要性不可忽视。在该函数中,FFMPEG完成了:输入输出结构体AVIOContext的初始化;输入数据的协议(例如RTMP,或者file)的识别(通过一套评分机制):1判断文件名的后缀2读取文件头的数据进行比对;使用获得最高分的文件协议对应的URLProtocol,通过函数指针的方式,与FFM
2016-06-23 17:32:47
643
原创 AVFrame结构体
typedef struct AVFrame {#define AV_NUM_DATA_POINTERS 8 uint8_t *data[AV_NUM_DATA_POINTERS]; int linesize[AV_NUM_DATA_POINTERS];uint8_t **extended_data; /**宽高 */ int width, heig
2016-06-23 14:39:11
653
原创 AVPacket 结构体
typedef struct AVPacket{//显示时间戳int64_t pts; //解码时间戳int64_t dts; //记录在文件或网络中的流中的字节的位置int64_t pos; //实际数据指针uint8_t *data;//实际的数据的大小int size;//该packet所属的流的索引,一般为0或者1int stream_i
2016-06-23 14:35:54
715
原创 MOVStreamContext 结构体
typedef struct MOVStreamContext { //流的索引,0或者1int ffindex; //临时变量,保存下一个chunk块的编号 int next_chunk;//chunk的个数(在mp4的文件格式中,从stco中取值肯定为chunk的总数)unsigned int chunk_count; //chunk在文
2016-06-23 14:33:20
734
原创 AVStream结构体
typedef struct AVStream {//指向解码器context,用于关联解码器AVCodecContext *actx; //codec解析器,每一种编码器在进行压缩时都会对实际负载数据进行封装,加//入头信息,如h264,需要解析nal单元,关联通过avav_find_stream_info() struct AVCodecParserContext *par
2016-06-23 14:08:56
883
原创 AVIOContext结构体
typedef struct ByteIOContext{//数据缓冲区unsigned char *buffer; //数据缓冲sizeint buffer_size;//数据读取标记指针unsigned char *buf_ptr, *buf_end;//该指针指向相应的URLContext,关联URLContextvoid *opaque;
2016-06-23 13:36:08
335
原创 URLContext结构体
typedef struct URLContext{ //指向相应的协议(协议为从初始化链表中注册的),如ff_file_protocolstruct URLProtocol *prot;int flags;int max_packet_size; //相应通信方式的句柄,对于文件为fd句柄,对于网络为socket句柄等void *priv_data; //文件
2016-06-23 13:34:58
1355
原创 URLProtocol结构体
typedef struct URLProtocol{const char *name; //用的统一的模板函数int(*url_open)(URLContext *h, const char *filename, int flags);int(*url_read)(URLContext *h, unsigned char *buf, int size);int(*url_
2016-06-23 13:27:21
851
原创 MovContext结构体
typedef struct MovContext{ //临时持有AVFormatContext的指针 AVFormatContext *fc; //时间缩放因子int time_scale;//视频的时长int64_t duration; //拆包时是否发现”moov“头int found_moov; //
2016-06-23 11:53:43
449
原创 AVFormatContext结构体
typedef struct AVFormatContext {//指向AVInputFormat,如对于mp4或mov为ff_mov_demuxerstruct AVInputFormat *iformat;// 指向具体的格式对应的Context,如:MovContext。void *priv_data; //指向数据读取统一接口contextByteIOConte
2016-06-23 11:49:21
561
原创 AVInputFormat结构体
typedef struct AVInputFormat{// 标示format的名字,比如,“mov” “mp4” 等。const char *name;// 标示具体的format对应的Context的size,如:MovContext。int priv_data_size; //具体的操作函数int(*read_probe)(AVProbeData*);
2016-06-23 11:46:53
963
原创 AVCodecContext结构体
typedef struct AVCodecContext{int bit_rate;int frame_number;//扩展数据,如mov格式中audio trak中aac格式中esds的附加解码信息。unsigned char *extradata; //扩展数据的sizeint extradata_size; //视频的原始的宽度与高度int width
2016-06-23 11:39:53
1692
原创 AVCodec结构体
typedef struct AVCodec{// 标示Codec的名字,比如,"h264" "h263"等。const char *name; // 标示Codec的类型,有video,audio等类型。enum CodecType type;// 标示Codec的ID,有CODEC_ID_H264等。enum CodecID id; //
2016-06-23 11:37:03
546
jquery.validate 版本大全
2022-03-04
NODE.JS最新版本下载
2020-12-03
ffmpeg-lib-dll 64位
2016-05-31
SunshineCRM空间虚拟主机版
2015-02-07
单点客户资源管理系统SunshineCRM安装包
2015-02-07
CompiereERP&CRM3.3.0版本
2015-01-09
SugarCRM-SugarCE-6.5.10
2015-01-09
log4j源码实例及jar 包下载
2011-02-17
hibernate连接池配置及SQLJDBC.jar JNDA.JAR
2009-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人