当前位置: 首页 > news >正文

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

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

  • 一、准备工作
    • 1. 准备环境
    • 2. 下载FFmpeg
  • 二、操作步骤
    • 1. Clion 新建一个C项目
    • 2. 修改 CMakeLists.txt
    • 3. 修改配置
    • 4. 运行测试
    • 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

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_learn1avcodecavdeviceavfilteravformatavutilpostprocswresampleswscale
)

3. 修改配置

点击 Edit Configurations:
在这里插入图片描述
设置环境变量:

path=E:/Downloads/ffmpeg-master-latest-win64-gpl-shared/bin

在这里插入图片描述

4. 运行测试

main.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

#include <stdio.h>
#include <libavformat/avformat.h>int main(int argc, char *argv[]) {// 初始化 FFmpegav_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的操作方法。

相关文章:

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

Clion 使用ffmpeg 学习1 开发环境配置 一、准备工作1. 准备环境2. 下载FFmpeg 二、操作步骤1. Clion 新建一个C项目2. 修改 CMakeLists.txt3. 修改配置4. 运行测试5. 打印rtsp 流信息的 demo 一、准备工作 在视频处理和多媒体应用程序开发中&#xff0c;FFmpeg 是一个强大的开…...

浏览器连不上 Flink WebUI 8081 端口

安装 flink-1.17.0 后&#xff0c;start-cluster.sh 启动&#xff0c;发现浏览器连不上 Flink WebUI 的8081端口。 问题排查&#xff1a; command R&#xff0c;输入cmd&#xff0c;检查宿主机能否ping通虚拟机&#xff0c;发现能ping通。 检查是否有flink以外的任务占用8081…...

Doris集群安装部署(1.2.4.1 release)

此文阅读需要有Linux和服务器硬件基础&#xff01;某些内容写的不是特别细&#xff0c;如果常见的linux基础命令tar、uzip、mv、mkdir、系统包的安装等等&#xff0c;以文字带过了&#xff0c;这样可以减少文章篇幅。官方的安装部署方式一定要好好看一下&#xff0c;最好是尝试…...

对HashMap的value做升序、降序

public class MapUtils {// Map的value值降序排序public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) {List<Map.Entry<K, V>> list new ArrayList<>(map.entrySet());list.sort((o1, o2)…...

算法面试-深度学习基础面试题整理-AIGC相关(2023.9.01开始,持续更新...)

1、stable diffusion和GAN哪个好&#xff1f;为什么 &#xff1f; Stable diffusion是一种基于随机微分方程的生成方法&#xff0c;它通过逐步增加噪声来扰动原始图像&#xff0c;直到完全随机化。然后&#xff0c;它通过逐步减少噪声来恢复图像&#xff0c;同时使用一个神经网…...

Python、PHP和Java下的反序列化漏洞复现实例

环境准备 这篇文章旨在用于网络安全学习&#xff0c;请勿进行任何非法行为&#xff0c;否则后果自负。 python反序列化 p83 CTF夺旗 Python考点SST&反序列化&字符串_正经人_____的博客-CSDN博客 php反序列化 p84 CTF夺旗-PHP弱类型&异或取反&序列化&…...

html的使用

一,HBuilder –1,使用 直接解压就可以用, 创建项目: 直接点击 新建项目,输入项目名和选中项目存放位置,创建. 创建资源: 选中项目,右键,新建… 二,HTML –1,概述 是超文本标记语言,专门用来制作网页的. 超文本: 网页中可以包含各种类型的元素.包括: 文字,数字,符号,图片,音频,…...

docker linux(centos 7) 安装

这是个目录 1:安装1:手动安装(适用于centos7)之一2:手动安装(适用于centos7)之二3&#xff1a;一键安装docker4:二进制安装1&#xff1a;下载二进制包2&#xff1a;解压3&#xff1a;移动文件4&#xff1a;后台运行docker5&#xff1a;测试 dicker命令表999&#xff1a;遇到的问…...

C语言sizeof和strlen的区别?

sizeof和strlen有什么区别&#xff1f; sizeof本质是运算符&#xff08;sizoof既是关键字也是运算符&#xff0c;不是函数哈&#xff09;&#xff0c;而strlen就是函数。sizeof后面如果是类型&#xff0c;则必须加括号&#xff0c;如果是变量&#xff0c;可以不加括号。 sizeof…...

小文智能GPT助手介绍

如何使用小文交互的GPT助手&#xff0c;让AI更加智能&#xff0c;适用更多场景&#xff1f; 在小文智能最新推出的4.0版本&#xff0c;有一个新功能&#xff0c;叫做GPT助手。GPT助手&#xff0c;顾名思义&#xff0c;即在小文智能的场景中&#xff0c;接入ChatGPT&#xff0c…...

SpringBoot使用i18n国际化

使用的SpringBoot版本是2.3.5 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version><relativePath/> </parent> 一、简单测试…...

Jmeter的自动化测试实施方案

前言&#xff1a; Jmeter是目前最流行的一种测试工具&#xff0c;基于此工具我们搭建了一整套的自动化方案&#xff0c;包括了脚本添加配置、本地配置和运行、服务器配置等内容&#xff0c;完成了自动化测试闭环&#xff0c;通过这种快捷简便高效的方式&#xff0c;希望可以解…...

nginx优化相关

https://blog.csdn.net/liuxiao723846/article/details/46862381 Nginx反向代理&#xff0c;当后端为Https时的一些细节和原理_nginx反向代理https_赶路人儿的博客-CSDN博客 nginx - 寒星12345678999 - 博客园 (cnblogs.com)...

美客多(mercadolibre)测评下单技术(养号环境搭建详解)

MercadoLibre&#xff08;美客多&#xff09;是拉丁美洲的一个网购平台。该公司为其客户提供电子商务交易的购买&#xff0c;出售&#xff0c;支付和收集机制。目前全球第十大电商市场——巴西是MercadoLibre的主要市场&#xff0c;占据近60%的平台营收&#xff0c;接着是阿根廷…...

UE5- c++ websocket客户端写法

# 实现目标 ue5 c 实现socket客户端&#xff0c;读取服务端数据&#xff0c;并进行解析 #实现步骤 {projectName}.Build.cs里增加 "WebSockets","JsonUtilities", "Json"配置信息&#xff0c;最终输出如下&#xff1a; using UnrealBuildTool;…...

C语言——函数的使用

无参无返回值 语法格式如下&#xff1a; // 函数定义 void 函数名() {函数体 }// 函数调用 函数名();函数名是标识符的一种&#xff0c;需要遵循规则函数只需要定义一次&#xff0c;反复调用只定义函数, 不调用函数, 函数永远不会被执行案例需求&#xff1a; 编写一个函数&am…...

DVWA XSS

反射型 low 查看源代码&#xff0c;没有任何过滤 构造 medium 这里是过滤了 high 这里把双写和大小写和JavaScript都过滤了,用事件来绕过<img src0 οnerrοralert(“xss”)> impossible 这里使用htmlspecialchars进行实体转换并且输出的结果还不能使用事件来…...

石油化工智慧安监方案:TSINGSEE青犀视频AI智能识别安全生产风险预警平台建设

一、行业背景 石油化工生产存储企业属于高温、高压、易燃、易爆、有毒的危险行业&#xff0c;其生产装置大型化、密集化、生产工艺复杂、生产过程紧密耦合。随着互联网技术的发展&#xff0c;运用先进的AI、物联网、大数据、云计算等技术手段不断提高石油化工行业的安全监管水…...

R语言图形绘制

&#xff08;1&#xff09;条形图 > barplot(c(1,2,4,2,6,4,3,5)) > barplot(c(1,2,4,2,6,4,3,5),horiz TRUE) #besideTRUE 表示将多个组别的图形并排显示&#xff0c;使它们在水平方向上对齐 #而当 besideFALSE&#xff08;默认值&#xff09;时&#xff0c;多个组别的…...

2023第七届蓝帽杯 初赛 web LovePHP

LovePHP 直接给了源码。 network查看到&#xff0c;PHP版本是7.4.33 题目要求我们GET一个my_secret.flag参数&#xff0c;根据PHP字符串解析特性&#xff0c;PHP需要将所有参数转换为有效的变量名&#xff0c;因此在解析查询字符串时&#xff0c;它会做两件事&#xff1a; 删…...

大模型MoE架构原理与实战:理解专家路由与负载均衡

1. 这不是“参数越多越强”的简单故事&#xff1a;拆解大模型里那个被悄悄藏起来的“开关”你肯定见过这类标题&#xff1a;“GPT-4参数量突破1.8万亿&#xff01;”、“DeepSeek-R1狂堆6710亿参数&#xff01;”——光看数字&#xff0c;像在比谁家粮仓堆得更高。但真正玩过模…...

相控阵天线设计避坑指南:为什么低副瓣方案里,Chebyshev加权比单纯调相位更靠谱?

相控阵天线设计避坑指南&#xff1a;为什么低副瓣方案里&#xff0c;Chebyshev加权比单纯调相位更靠谱&#xff1f; 在相控阵天线设计中&#xff0c;低副瓣性能往往是工程师们追求的关键指标之一。副瓣过高不仅会浪费辐射能量&#xff0c;还可能造成信号干扰、目标识别困难等一…...

python智能ai技术的智慧城市便民服务管理中心平台_668r7c05

目录同行可拿货,招校园代理 ,本人源头供货商项目背景核心技术功能模块应用场景优势与创新项目技术支持获取博主联系方式 源码获取详细视频演示 &#xff1a;同行可合作点击我获取源码->获取博主联系方式->进我个人主页-->同行可拿货,招校园代理 ,本人源头供货商 项目…...

从日志Bug到状态机设计:我的C++ TinyWebServer调试日记与性能优化思考

从日志Bug到状态机设计&#xff1a;我的C TinyWebServer调试日记与性能优化思考 深夜的显示器前&#xff0c;咖啡杯早已见底。当我第三次在TinyWebServer的日志中看到"用户注册成功"的消息延迟出现在下一个请求时&#xff0c;那种如鲠在喉的感觉让我意识到&#xff1…...

HAMi:面向云原生AI基础设施的异构计算统一管理平台

HAMi&#xff1a;面向云原生AI基础设施的异构计算统一管理平台 【免费下载链接】HAMi Heterogeneous GPU Sharing on Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/ha/HAMi 随着AI工作负载在Kubernetes集群中的大规模部署&#xff0c;异构计算资源管理已成…...

开源项目治理:ECC 社区贡献指南与协作模式

作者注&#xff1a;本文基于 ECC 项目的开源治理实践&#xff0c;帮助中国开发者理解如何参与大型开源项目并建立有效的协作流程。项目开源地址&#xff1a;github.com/affaan-m/ECC摘要 ECC&#xff08;Everything Claude Code&#xff09;是一个拥有 170 贡献者、28K Forks 的…...

Makefile中FORCE伪目标的原理与应用:实现强制构建与版本信息生成

1. 项目概述与FORCE的引入在嵌入式开发&#xff0c;尤其是像RT-Thread这类复杂操作系统的构建过程中&#xff0c;Makefile是绕不开的核心工具。它不仅仅是编译指令的集合&#xff0c;更是整个项目构建逻辑的蓝图。很多工程师&#xff0c;特别是从IDE环境转过来的朋友&#xff0…...

UPS、EPS蓄电池更换周期及更换判定标准详解

在机房后备供电、工业不间断供电、消防应急供电体系中&#xff0c;UPS不间断电源与EPS应急电源的核心储能载体均为蓄电池。蓄电池的健康状态&#xff0c;直接决定整套应急供电系统的可靠性&#xff0c;是电气运维、机房维保、消防设施巡检的重点工作内容。在实际运维工作中&…...

论文写到头秃?书匠策AI这套“毕业论文急救包“我劝你现在就存好!

同学们&#xff0c;我做论文写作科普这么久&#xff0c;后台私信最多的一句话就是&#xff1a;"老师&#xff0c;我论文一个字都没动&#xff0c;还有救吗&#xff1f;" 有。今天就给你们安利一个我最近实测了一圈、觉得确实有点东西的工具——书匠策AI&#xff08;…...

【Game】Powerful——Martial Arts Challenge(6)

文章目录攻略关卡一&#xff08;虎子&#xff09;关卡二关卡三关卡四关卡五关卡六——奇穷妖魔羽灵火地仙人雷攻略 关卡一&#xff08;虎子&#xff09; 参战选手 出手顺序 关卡二 参战选手 出手顺序 关卡三 参战选手 出手顺序 上面是追求极限&#xff0c;但是没有容错率&…...