当前位置:网站首页>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
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 .
边栏推荐
- Hardware and interface learning summary
- MySQL global lock and table lock
- 【luogu P3295】萌萌哒(并查集)(倍增)
- C # input how many cards are there in each of the four colors.
- 上门预约服务类的App功能详解
- [gym 102832h] [template] combination lock (bipartite game)
- MySql——CRUD
- openssl-1.0.2k版本升级openssl-1.1.1p
- Bao Yan notes II software engineering and calculation volume II (Chapter 13-16)
- USB Interface USB protocol
猜你喜欢
时区的区别及go语言的time库
XML配置文件(DTD详细讲解)
How to get all the values stored in localstorage
Problems encountered in the database
关于结构体所占内存大小知识
用列表初始化你的vector&&initializer_list简介
Hardware and interface learning summary
Senparc.Weixin.Sample.MP源码剖析
18.(arcgis api for js篇)arcgis api for js点采集(SketchViewModel)
What are the functions of Yunna fixed assets management system?
随机推荐
After summarizing more than 800 kubectl aliases, I'm no longer afraid that I can't remember commands!
第16章 OAuth2AuthorizationRequestRedirectWebFilter源码解析
Problems encountered in the database
2022.7.5-----leetcode.729
[noi simulation] Anaid's tree (Mobius inversion, exponential generating function, Ehrlich sieve, virtual tree)
openssl-1.0.2k版本升级openssl-1.1.1p
What are the functions of Yunna fixed assets management system?
[gym 102832h] [template] combination lock (bipartite game)
Senparc.Weixin.Sample.MP源码剖析
Cloudcompare & PCL point cloud randomly adds noise
Chapter 16 oauth2authorizationrequestredirectwebfilter source code analysis
How to rotate the synchronized / refreshed icon (EL icon refresh)
shardingsphere源码解析
Teach you to run uni app with simulator on hbuilderx, conscience teaching!!!
GD32F4xx uIP协议栈移植记录
XML configuration file (DTD detailed explanation)
[QT] QT uses qjson to generate JSON files and save them
Problem solving win10 quickly open ipynb file
教你在HbuilderX上使用模拟器运行uni-app,良心教学!!!
wx. Getlocation (object object) application method, latest version