<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # log ~~~ include <libavutil/log.h> # 設置日志的級別 av_log_set_level(AV_LOG_DEBUG) # 打印日志 av_log(NULL, AV_LOG_INFO, "...%s\n", op) ~~~ 常用日志級別 * `AV_LOG_ERROR` * `AV_LOG_WARNING` * `AV_LOG_INFO` ~~~ #include <stdio.h> #include <libavutil/log.h> int main(int argc, char const *argv[]) { //設置log級別 av_log_set_level(AV_LOG_DEBUG); //打印日志,打印的級別 av_log(NULL, AV_LOG_INFO, "hello world\n"); return 0; } ~~~ 指定ffmpeg的庫 ~~~ clang -g -o main main.c -lavutil ~~~ # 文件重命名和刪除 * `avpriv_io_delete()` * `avpriv_io_move()` ## 刪除 ~~~ #include <stdio.h> #include <libavformat/avformat.h> int main(int argc, char const *argv[]) { int ret; //符合url的字符串都可以 ret = avpriv_io_delete("./1.txt"); if (ret < 0) { av_log(NULL, AV_LOG_ERROR, "failed to delete 1.txt \n"); return -1; } return 0; } ~~~ 指定庫編譯 ~~~ clang -g -o main main.c `pkg-config --libs libavformat` ~~~ ## 重命名 ~~~ #include <stdio.h> #include <libavformat/avformat.h> int main(int argc, char const *argv[]) { int ret; //符合url的字符串都可以 ret = avpriv_io_move("./1.txt", "2.txt"); if (ret < 0) { av_log(NULL, AV_LOG_ERROR, "failed \n"); return -1; } return 0; } ~~~ # 目錄操作 * `avio_open_dir()` * `avio_read_dir()` * `avio_close_dir()` **重要的結構體** * AVIODirContext 操作目錄的上下文 * AVIODirEntry 目錄項.用于存放文件名,文件大小等信息 ~~~ #include <stdio.h> #include <libavformat/avformat.h> int main(int argc, char const *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, "failed \n"); return -1; } while (1) { //讀取目錄 ret = avio_read_dir(ctx, &entry); if (ret < 0) { av_log(NULL, AV_LOG_ERROR, "cant read \n"); //跳到標簽那去,因為打開了,就算失敗了也要關閉 goto _fail; } //如果是null表述文件的最末尾 if (!entry) { break; } //打印 av_log(NULL, AV_LOG_INFO, "%12"PRId64 "%s \n", entry->size, entry->name); //釋放空間,不然每次這個entry都不釋放會內存泄露 avio_free_directory_entry(&entry); } //關閉 _fail: avio_close_dir(&ctx); return 0; } ~~~ 編譯 ~~~ clang -g -o main main.c `pkg-config --libs libavformat libavutil` ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看