当前位置:网站首页>FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
2022-08-09 12:44:00 【一叶知秋@qqy】
操作目录重要函数
- avio_open_dir() 打开目录
- avio_read_dir() 读取目录中每一项文件的信息,包括文件的大小等
- avio_close_dir() 关闭目录,释放资源
操作目录重要结构体
- AVIODirContext 操作目录的上下文
- AVIODirEntry 目录项,用于存放文件名,文件大小等信息
实战 简单的ls命令
在linux、mac等系统下,终端输入ls就可以看见当前目录下有哪些文件,他们的属性是什么
使用ls -alt,可以查看更详细的信息
#include <libavutil/log.h>
#include <libavformat/avformat.h>
int main(int argc, char *argv[])
{
int ret;
AVIODirContext *ctx = NULL;
AVIODirEntry *entry = NULL;
av_log_set_level(AV_LOG_INFO);
ret = avio_open_dir(&ctx, "./", NULL); //打开目录
if(ret < 0){
av_log(NULL, AV_LOG_ERROR, "Cant open dir:%s\n", av_err2str(ret));
return -1;
}
while(1){
avio_read_dir(ctx, &entry); //读取目录
if(ret < 0){
av_log(NULL, AV_LOG_ERR, "Cant rad dir:%s\n", av_err2str(ret));
goto __fail;
}
if(!entry){
break; //如果读到了末尾,打破循环退出
}
av_log(NULL, AV_LOG_INFO, "%12"PRId64" %s \n", entry->size, entry->name);
avio_free_directory_entry(&entry);
}
__fail:
avio_close_dir(&ctx);
return 0;
}
边栏推荐
- JVM常用监控工具解释以及使用
- R语言kaggle 游戏数据探索与可视化
- Rust from entry to proficient 04 - data types
- 用场景定义硬件,英码科技破解“边缘计算”密码
- telnet+ftp 对设备进行 操控 和 升级
- 【HCIP持续更新】IS-IS协议原理与配置
- WebView injects Js code to realize large image adaptive screen click image preview details
- [HCIP Continuous Update] Principle and Configuration of IS-IS Protocol
- 单面线路板与精密多层PCB线路板区别有哪些?
- 二维数组&指针
猜你喜欢

Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇

Go Affair, How to Become a Gopher and Find a Go Job in 7 Days, Part 1

Flutter Getting Started and Advanced Tour (8) Button Widget

Customize VIEW to realize in-app message reminder to rotate up and down

在“Extend the Omniverse”比赛中构建用于 3D 世界的工具

安踏携手华为运动健康共同验证冠军跑鞋 创新引领中国体育

新起之秀 DPU,正在掀起数据中心变革!

Clock frequency and baud rate count for serial communication in FPGA

造自己的芯,让谷歌买单!谷歌再度开源 180nm 工艺的芯片

注释、关键字、标识符的区别你知道吗?
随机推荐
LnReader编译
Extract EventBus encapsulation to base class using annotations
保存Simulink仿真模型为图片或者PDF的方法
ViewPager fragments of nested data blank page abnormal problem analysis
中断系统结构及中断控制详解
Jenkins API groovy调用实践: Jenkins Core Api & Job DSL创建项目
Redis源码剖析之字典(dict)
ARM board adds routing function
技术分享 | 接口自动化测试如何处理 Header cookie
联通网管协议框图
乐东消防救援大队应邀为干部开展消防安全培训
Flutter入门进阶之旅(一)-初识Flutter
CPU-MIPS32指令架构(无内锁流水线微处理器)
R 语言 2010.1至2021.12艾滋病每月发病人数 时间序列分析
使用RecyclerView实现三级折叠列表
陈强教授《机器学习及R应用》课程 第十三章作业
Dry+Bean+Dataset R语言数据分析,报告英文
史上最猛“员工”,疯狂吐槽亿万富翁老板小扎:那么有钱,还总穿着同样的衣服!...
Flutter Getting Started and Advanced Tour (4) Text Input Widget TextField
在已打开图片上加水印(文字)