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

相关推荐
Gary Studio2 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice2 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
lingggggaaaa2 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
PP东2 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
学电子她就能回来吗2 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
AI视觉网奇4 小时前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
wdfk_prog6 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
ZH15455891317 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
编程小白20268 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要8 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师