当前位置:网站首页>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 .
边栏推荐
- Qt 一个简单的word文档编辑器
- wx.getLocation(Object object)申请方法,最新版
- 用列表初始化你的vector&&initializer_list简介
- Huawei equipment configuration ospf-bgp linkage
- Qt QPushButton详解
- What are Yunna's fixed asset management systems?
- Asynchronous task Whenall timeout - Async task WhenAll with timeout
- 【DesignMode】装饰者模式(Decorator pattern)
- 上门预约服务类的App功能详解
- Tools to improve work efficiency: the idea of SQL batch generation tools
猜你喜欢

Transport layer protocol ----- UDP protocol

【DesignMode】装饰者模式(Decorator pattern)

【二叉搜索树】增删改查功能代码实现

Fiddler Everywhere 3.2.1 Crack

18.(arcgis api for js篇)arcgis api for js点采集(SketchViewModel)

FFMPEG关键结构体——AVCodecContext

Problem solving win10 quickly open ipynb file

时区的区别及go语言的time库

亲测可用fiddler手机抓包配置代理后没有网络

Use mapper: --- tkmapper
随机推荐
14 MySQL-视图
JS 这次真的可以禁止常量修改了!
【DesignMode】适配器模式(adapter pattern)
云呐|公司固定资产管理系统有哪些?
Zero rhino technology joined hands with the intelligence Club: the "causal faction" forum was successfully held, and the "causal revolution" brought the next generation of trusted AI
硬件及接口学习总结
[SQL] SQL expansion languages of mainstream databases (T-SQL, pl/sql, pl/pgsql)
同事悄悄告诉我,飞书通知还能这样玩
Transport layer protocol ----- UDP protocol
Chapter 16 oauth2authorizationrequestredirectwebfilter source code analysis
15 MySQL-存储过程与函数
Redis high availability - master-slave replication, sentinel mode, cluster
Laser slam learning record
Use mapper: --- tkmapper
Open source CRM customer relationship system management system source code, free sharing
N1 # if you work on a metauniverse product [metauniverse · interdisciplinary] Season 2 S2
用列錶初始化你的vector&&initializer_list簡介
上门预约服务类的App功能详解
Use CAS instead of synchronized
My colleagues quietly told me that flying Book notification can still play like this