当前位置: 首页 > news >正文

ffmpeg源码分析:avformat_open_input()打开媒体流

avformatopeninput() 函数是用于打开媒体文件并获取媒体文件信息的函数,该函数定义在libavformat/avformat.h中。
函数声明:

int avformat_open_input(AVFormatContext **ps, const char *url,const AVInputFormat *fmt, AVDictionary **options);

该函数的参数含义如下:
ps:AVFormatContext结构体的指针。该参数用于存储打开的媒体文件的信息。当该函数成功返回时,AVFormatContext结构体中将存储媒体文件的相关信息。
url:要打开的媒体文件的URL。可以是本地文件路径,也可以是HTTP URL或其他协议的URL。
fmt:AVInputFormat结构体的指针,用于指定媒体文件的格式。如果该参数为NULL,则根据文件扩展名自动选择输入格式。
options:AVDictionary结构体的指针,用于传递打开媒体文件时的选项。
具体函数如下:

Init_input探测数据类型
流程如下:

flowchart TDA["init_input开始"] --> B{"s->pb 是否已存在?<br>(已传入自定义IO上下文)"}B -- 是 --> C["设置 AVFMT_FLAG_CUSTOM_IO 标志"]C --> D{"s->iformat 是否已指定?"}D -- 否 --> E["调用 av_probe_input_buffer2<br>从数据流中探测格式"]D -- 是 --> F{"格式是否有 AVFMT_NOFILE 标志?"}F -- 是 --> G["记录警告日志"]G --> H["返回 0"]F -- 否 --> HB -- 否 --> I{"是否无需打开文件即可探测格式?<br>(格式已知或基于文件名/扩展名)"}I -- 是 --> J["返回探测分数 (score)"]I -- 否 --> K["调用 s->io_open 打开文件<br>建立 AVIOContext (s->pb)"]K --> L{"s->iformat 是否已指定?"}L -- 是 --> M["返回 0"]L -- 否 --> N["调用 av_probe_input_buffer2<br>从新打开的数据流中探测格式"]E --> HN --> O["返回探测结果"]

函数如下:

http://www.zskr.cn/news/20119.html

相关文章:

  • #pragma 和某些编译器指令
  • 基于MATLAB的电力系统潮流计算程序设计与实现
  • springboot图片上传,且同时压缩图片
  • 【题解】QOJ 8351 [IOI 2022 中国国家队集训@南京 Day 2] Ruin the legend
  • 2025年10月抖音推广服务商最新权威推荐榜:专业运营与创意内容助力品牌高效增长!
  • 2025年10月网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/推广代运营最新权威推荐榜单
  • 2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅公司推荐
  • 深入解析:扩散模型-图像编辑【An Edit Friendly DDPM Noise Space: Inversion and Manipulations】
  • Docker Desktop 挂载目录实际位置
  • 2025年10月掘进机厂家最新权威推荐榜单:高效施工与卓越性能的首选品牌!
  • 2025年10月南通婚纱照最新权威推荐榜:创意摄影与贴心服务完美结合!
  • 2025 年吸塑纸卡厂家推荐榜:吸塑热压/牙刷/电池/玩具/牙刷烫银纸卡厂家,聚焦环保与品质,帮企业精准选对合作伙伴
  • 2025年10月风机盘管定制厂家最新推荐排行榜:专业定制与优质服务口碑之选
  • 2025年10月液压阀块厂家最新推荐排行榜,专业生产与品质保障的首选!
  • 2025年10月七水硫酸锌厂家最新推荐排行榜:专业生产与优质服务的行业佼佼者!
  • 2025年10月TAB拉链厂家最新权威推荐榜:品质与创新并重的行业佼佼者!
  • 2025年10月PP鱼池厂家最新推荐排行榜,环保耐用,养鱼爱好者的首选!
  • 2025年10月石头纸设备定做厂家最新推荐榜单,专业定制与高效生产口碑之选
  • 2025 年减压阀厂商推荐榜:气体/实验室/调压/膜片/不锈钢/可调式/气路/气体管路/蒸汽减压阀厂家,聚焦安全与专业,助力企业精准选品
  • 完整教程:【FPGA 开发分享】如何在 Vivado 中使用 PLL IP 核生成多路时钟
  • 2025 年潜水泵厂家推荐榜,轴流/混流/全贯流/浮筒轴流/立式轴流/大流量轴流潜水泵厂家怎么选?3 个核心参数帮你挑对款!
  • 2025年10月方钢厂家最新推荐排行榜,热轧方钢,冷拉方钢,高强度方钢,优质钢材公司推荐!
  • 基于MATLAB的POD-DMD联合分析实现方案
  • Grafana 专题【左扬精讲】—— 提升 Grafana 安全性:LDAP 升级 LDAPS 的核心步骤与常见问题解决
  • 2025年10月确有专长培训机构最新推荐榜单:专业师资与高通过率口碑之选!
  • LockSupport是什么
  • 护花使者
  • 实用指南:Kafka 合格候选主副本(ELR)在严格 min ISR 约束下提升选主韧性
  • 2025年10月石头纸设备定做厂家最新推荐榜单:诚信专业,品质卓越之选!
  • H5移动端图片查看器