Clion 使用ffmpeg 学习1 开发环境配置

Clion 使用ffmpeg 学习1 开发环境配置

  • 一、准备工作
    • [1. 准备环境](#1. 准备环境)
    • [2. 下载FFmpeg](#2. 下载FFmpeg)
  • 二、操作步骤
    • [1. Clion 新建一个C项目](#1. Clion 新建一个C项目)
    • [2. 修改 CMakeLists.txt](#2. 修改 CMakeLists.txt)
    • [3. 修改配置](#3. 修改配置)
    • [4. 运行测试](#4. 运行测试)
    • [5. 打印rtsp 流信息的 demo](#5. 打印rtsp 流信息的 demo)

一、准备工作

在视频处理和多媒体应用程序开发中,FFmpeg 是一个强大的开源工具,它提供了处理音频和视频的丰富功能。CLion 是一款受欢迎的跨平台集成开发环境(IDE),它提供了强大的代码编辑和调试工具。

本文章介绍在CLion下配置FFmpeg开发环境的方法。

1. 准备环境

  • windows10
  • 已安装Clion

2. 下载FFmpeg

官网入口

找 Windows builds by BtbN,跳转到:

https://github.com/BtbN/FFmpeg-Builds/releases

选择合适的版本下载 。 我这里下载的是 ffmpeg-n4.4.4-6-gd5fa6e3a91-win64-gpl-shared-4.4 。

二、操作步骤

1. Clion 新建一个C项目

2. 修改 CMakeLists.txt

c 复制代码
cmake_minimum_required(VERSION 3.24)
project(ffmpeg_learn1 C)

set(CMAKE_C_STANDARD 11)

include_directories(E:/Downloads/ffmpeg-master-latest-win64-gpl-shared/include)
link_directories(E:/Downloads/ffmpeg-master-latest-win64-gpl-shared/lib)

add_executable(ffmpeg_learn1 main.c)

target_link_libraries(
        ffmpeg_learn1
        avcodec
        avdevice
        avfilter
        avformat
        avutil
        postproc
        swresample
        swscale
)

3. 修改配置

点击 Edit Configurations:

设置环境变量:

bash 复制代码
path=E:/Downloads/ffmpeg-master-latest-win64-gpl-shared/bin

4. 运行测试

main.c输入内容 :

c 复制代码
#include "libavformat/avformat.h"

int main() {
    av_log_set_level(AV_LOG_INFO);
    av_log(NULL, AV_LOG_INFO, "avformat_configurations: \n %s", avformat_configuration());
    return 0;
}

点击运行:

5. 打印rtsp 流信息的 demo

c 复制代码
#include <stdio.h>
#include <libavformat/avformat.h>

int main(int argc, char *argv[]) {
    // 初始化 FFmpeg
    av_register_all();

    // 打开 RTSP 流
    AVFormatContext *formatContext = NULL;
    if (avformat_open_input(&formatContext, "rtsp://地址信息", NULL, NULL) != 0) {
        fprintf(stderr, "无法打开 RTSP 流\n");
        return 1;
    }

    // 获取流信息
    if (avformat_find_stream_info(formatContext, NULL) < 0) {
        fprintf(stderr, "无法获取流信息\n");
        return 1;
    }

    // 打印流信息
    av_dump_format(formatContext, 0, "rtsp://地址信息", 0);

    // 关闭 RTSP 流
    avformat_close_input(&formatContext);

    return 0;
}

通过官方文档 : https://www.ffmpeg.org/documentation.html 可以查看更多FFmpeg的操作方法。

相关推荐
山山而川粤35 分钟前
废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
TensorFlowGAN1 小时前
华三预赛从零开始学习笔记(每日编辑,复习完为止)
笔记·学习·华三
黑客KKKing1 小时前
网络安全-企业环境渗透2-wordpress任意文件读&&FFmpeg任意文件读
安全·web安全·ffmpeg
Mephisto.java1 小时前
【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)
大数据·学习·spark
oushaojun21 小时前
win10中使用ffmpeg和MediaMTX 推流rtsp视频
ffmpeg·rtsp·mediamtx
zmd-zk1 小时前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)
java·大数据·开发语言·学习·flink·tensorflow
垂杨有暮鸦⊙_⊙2 小时前
阅读《先进引信技术的发展与展望》识别和控制部分_笔记
笔记·学习
埋头编程~3 小时前
【C++】踏上C++学习之旅(十):深入“类和对象“世界,掌握编程黄金法则(五)(最终篇,内含初始化列表、静态成员、友元以及内部类等等)
java·c++·学习
世伟爱吗喽4 小时前
NUXT3学习日记四(路由中间件、导航守卫)
学习
飞凌嵌入式5 小时前
飞凌嵌入式旗下教育品牌ElfBoard与西安科技大学共建「科教融合基地」
嵌入式硬件·学习·嵌入式·飞凌嵌入式