FFmpeg初级开发(二)文件的删除和重命名

为了加深大家的印象,每篇FFmpeg初级开发的文章开头会出现FFmpeg的代码结构和初级开发我们的学习大纲,
FFmpeg的代码结构:

libavcodec: 编码器的实现
libavformat: 流协议,容器格式及基本IO访问的实现
libavfilter:音视频过滤器
libavutil:hash器,解码器和各种工具函数
libavdevice:访问捕获设备和回访设备的借口
libswresample:实现混音和重采样
libswscale:实现色彩转换和缩放功能

FFmpeg初级开发包括:
1. FFmpeg日志Log;
2. FFmpeg文件操作;
3. FFmpeg目录操作;
4. FFmpeg Meta信息;
5. FFmpeg抽取音频数据;
6. FFmpeg抽取视频H264数据;
7. FFmpeg格式转换;
8. FFmpeg音视频裁剪。

上一篇我们介绍了FFmpeg的日志log如何打印出来和日志的级别,那么这篇我们来介绍一下FFmpeg的文件删除和重命名。
其实也很简单,主要用到了libavformat中的两个函数:

avpriv_io_delete(url)       // url:要删除的文件目录+文件名 如: ./test.c
avpriv_io_move(src, dst)    // src:要重命名的文件名(需要完整目录) dst:重命名的名字(完整目录)

举个例子,我们当前目录下有3个文件:

test_del.txt, test_rename.txt, file_del_rename.c

file_del_renmae.c代码如下:

#include
#include
int main(int argc, char* argv[]){
    int renameResult;
    renameResult = avpriv_io_move("test_rename.txt", "test.txt");   //将test_rename.txt文件名重命名为test.txt
    if(renameResult < 0)        // 如果renameResult >= 0表示重命名成功,renameResult < 0表示重命名失败 
    {
        av_log(NULL, AV_LOG_ERROR, "Fail to rename!");      
        return -1;
    }
    av_log(NULL, AV_LOG_INFO, "Rename successfully!");

    int delResult;
    delRsult = avpriv_io_delete("./test_del.txt");
    if(delResult < 0)           // 如果delResult >= 0表示删除成功,delResult < 0表示删除失败 
    {
        av_log(NULL, AV_LOG_ERROR, "Fail to delete!");
        return -1;
    }
    av_log(NULL, AV_LOG_INFO, "Delete successfully");
    return 0;
}

通过上面的代码就可以将test_rename.txt重命名为test.txt,并且将当前目录下的test_del.txt文件删除。

你可能感兴趣的:(FFmpeg初级开发(二)文件的删除和重命名)