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的操作方法。

相关推荐
差不多的周周7 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
Century_Dragon8 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
知识分享小能手9 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
New农民工9 小时前
倒立摆训练秘籍:理解训练参数
学习
L@ncor10 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程
迪丽热爱10 小时前
多媒体应用20-903(补)
学习
FlightYe11 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
可乐鸡翅yeah_11 小时前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
传奇开心果编程12 小时前
【Flutter入门练中学】第8课:动画与过渡
android·学习·flutter·ui·ios
程序员yu12 小时前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法