当前位置:网站首页>Key structure of ffmpeg - avformatcontext

Key structure of ffmpeg - avformatcontext

2022-07-06 00:01:00 Chen Xiaoshuai HH

One 、AVFormatContext Structure

AVFormatContext It is a structure that stores the information contained in the audio and video packaging format , It's also FFmpeg The structure that dominates the overall situation , Encapsulation of documents 、 The coding operation starts from here .

The definition of a structure lies in libavformat Medium avformat.h
 Insert picture description here

Two 、 Common variables

struct AVInputFormat *iformat;// Encapsulation format of input data . Only for unpacking , from avformat_open_input() Set up .

struct AVOutputFormat *oformat;// Encapsulation format of output data . For packaging only , The caller is avformat_write_header() Set before .

AVIOContext *pb;// I/O Context .
 decapsulation : By user on avformat_open_input() Set before ( Then the user must turn it off manually ) Or through avformat_open_input() Set up .
 encapsulation : By user on avformat_write_header() Set before .  The caller must pay attention to closing / Release IO Context .

unsigned int nb_streams;//AVFormatContext.streams The number of elements in .

AVStream **streams;// List of all streams in the file .

char filename[1024];// Input / output file name .

int64_t start_time;// The position of the first frame .

int64_t duration;// Duration of flow 

int64_t bit_rate;// Total stream bit rate (bit / s), If not available 0. 

int64_t probesize;
// The maximum size of the data read from the input to determine the format of the input container .
 For packaging only , By the caller at avformat_open_input() Set before .

AVDictionary *metadata;// Metadata 

AVCodec *video_codec;// Video codec 

AVCodec *audio_codec;// Audio codec 

AVCodec *subtitle_codec;// Letter codec 

AVCodec *data_codec;// Data codec 

int (*io_open)(struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **options);
// open IO stream Callback function for .
void (*io_close)(struct AVFormatContext *s, AVIOContext *pb);
// Turn off use AVFormatContext.io_open() Callback function of the open stream .
原网站

版权声明
本文为[Chen Xiaoshuai HH]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207052356176374.html