FFmpeg文件操作
2020-04-08 本文已影响0人
Recorder_MZou
1. FFmpeg日志系统
// 引入日志头文件
include<libavutil/log.h>
//设置日志级别
av_log_set_level(AV_LOG_DEBUG)
// 输出日志
av_log(NULL, AV_LOG_INFO, "%s", "hello world");
.c 文件编译
clang -g -o ffmpeg_log ffmpeg_log.c -lavutil
编译时报错
ffmpeg_log.c:2:10: fatal error: 'libavutil/log.h' file not found
#include <libavutil/log.h>
^~~~~~~~~~~~~~~~~
1 error generated.
需要设置环境变量
export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig
理论上 pkgconfig 目录下包含libavutil.pc 文件设置了上面环境变量就可以编译成功,但是仍然报错,目前正在查找问题所在?
可以通过以下命令解决
clang -g -o ffmpeg_log ffmpeg_log.c `pkg-config --libs --cflags libavutil`
2. 文件删除与重命名
需引用头文件
#include <libavformat/avformat.h>
文件重命名
// 222.txt 修改成 111.txt
int ret = avpriv_io_move("222.txt", "111.txt");
删除文件
ret = avpriv_io_delete("./mytest.txt");
3. 操作文件目录
文件操作的两个重要的结构体
- AVIODirContext 操作目录的上下文
- AVIODirEntry 目录项。用于存放文件名,文件大小等信息
文件操作相关函数
- avio_open_dir() 打开目录,将目录信息存放在AVIODirContext上下文中
int avio_open_dir(AVIODirContext **s, const char *url, AVDictionary **options);
- avio_read_dir() 读取目录上下文的entey信息
int avio_read_dir(AVIODirContext *s, AVIODirEntry **next);
- avio_close_dir() 关闭目录上下文
int avio_close_dir(AVIODirContext **s);
- avio_free_directory_entry() 释放AVIODirEntry
void avio_free_directory_entry(AVIODirEntry **entry);
大千世界,求同存异;相遇是缘,相识是份,相知便是“猿粪”(缘分)
From MZou