美文网首页
FFmpeg文件操作

FFmpeg文件操作

作者: 子鱼_谋 | 来源:发表于2019-10-17 10:39 被阅读0次
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);

相关文章

网友评论

      本文标题:FFmpeg文件操作

      本文链接:https://www.haomeiwen.com/subject/ukygrctx.html