当前位置:网站首页>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 .
边栏推荐
- USB Interface USB protocol
- MySql——CRUD
- 【DesignMode】组合模式(composite mode)
- MySQL global lock and table lock
- Online yaml to CSV tool
- Asynchronous task Whenall timeout - Async task WhenAll with timeout
- Permission problem: source bash_ profile permission denied
- 如何获取localStorage中存储的所有值
- C# 反射与Type
- 【GYM 102832H】【模板】Combination Lock(二分图博弈)
猜你喜欢
上门预约服务类的App功能详解
Knowledge about the memory size occupied by the structure
Rsync remote synchronization
Teach you to run uni app with simulator on hbuilderx, conscience teaching!!!
Yunna | what are the main operating processes of the fixed assets management system
Miaochai Weekly - 8
用列錶初始化你的vector&&initializer_list簡介
云呐|固定资产管理系统主要操作流程有哪些
用列表初始化你的vector&&initializer_list简介
20220703 week race: number of people who know the secret - dynamic rules (problem solution)
随机推荐
第16章 OAuth2AuthorizationRequestRedirectWebFilter源码解析
多普勒效應(多普勒頻移)
多普勒效应(多普勒频移)
Online yaml to CSV tool
Fiddler Everywhere 3.2.1 Crack
【luogu P3295】萌萌哒(并查集)(倍增)
Biased sample variance, unbiased sample variance
Add noise randomly to open3d point cloud
Configuring OSPF load sharing for Huawei devices
Initialize your vector & initializer with a list_ List introduction
Tools to improve work efficiency: the idea of SQL batch generation tools
wx.getLocation(Object object)申请方法,最新版
QT QPushButton details
QT a simple word document editor
Zhuan: in the future, such an organization can withstand the risks
Problem solving win10 quickly open ipynb file
Which side projects can be achieved? Is it difficult for we media to earn more than 10000 a month?
20220703 week race: number of people who know the secret - dynamic rules (problem solution)
Determinant learning notes (I)
转:未来,这样的组织才能扛住风险