音视频系列二:Visual Studio2019集成ffmpeg之hello world

简介: 音视频系列二:Visual Studio2019集成ffmpeg之hello world

一、下载安装Visual Studio


下载地址为:https://visualstudio.microsof...


1.png


然后进行安装,安装时选择C/C++开发的选项进行安装,安装时选择如下:


2.png


3.png


选好就,点击下一步,等待安装就OK了。


二、下载ffmpeg开发包


GitHub下载地址:https://github.com/BtbN/FFmpe...


下载最新的带share版本的,就是已经编译好了的,不用自己再编译 ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-shared-4.4.zip


├─bin #可执行程序
├─doc #参考文档
├─include #头文件目录
│  ├─libavcodec
│  ├─libavdevice
│  ├─libavfilter
│  ├─libavformat
│  ├─libavutil
│  ├─libpostproc
│  ├─libswresample
│  └─libswscale
├─lib #链接库文件
└─presets


三、创建项目目录


├─bin     #程序执行和调试目录
├─include #头文件目录
├─lib     #动态链接库目录
└─src     #源码目录


四、打开Visual Studio 2019创建项目


将项目创建到src目录下面


文件->新建->项目 选择C++空项目


4.png


项目位置选择到src,然后创建项目。注意:将项目解决方案和项目放在同一目录中前面的勾要选上,不然默认会多创建一层目录


5.png


五、开发环境配置


选中项目右键选择属性:


  1. C/C++->常规->附件包含目录 【$(ProjectDir)..\..\include
  2. 链接器->常规->附加库目录 【$(ProjectDir)..\..\lib
  3. 链接器->输入->附加依赖项


avcodec.lib
avformat.lib
avutil.lib
avdevice.lib
avfilter.lib
postproc.lib
swresample.lib
swscale.lib


  1. 项目->配置管理器选择x64


6.png


7.png


8.png


9.png


六、创建hello world程序


#include<iostream>
using namespace std;
extern "C" {//包含C头文件
#include "libavutil/log.h" 
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h" 
#include "libavutil/avutil.h"
#include "libavutil/ffversion.h"
#include "libswresample/swresample.h"
#include "libswscale/swscale.h"
#include "libpostproc/postprocess.h"
};
int main(int argc, char* argv[]) {
    av_log_set_level(AV_LOG_DEBUG); //设置日志级别
    av_log(NULL, AV_LOG_DEBUG, "hello world log\n"); //打印日志
    unsigned int codecVer = avcodec_version();
    int ver_major, ver_minor, ver_micro;
    ver_major = (codecVer >> 16) & 0xff;
    ver_minor = (codecVer >> 8) & 0xff;
    ver_micro = (codecVer) & 0xff;
    printf("Current ffmpeg version is: %s ,avcodec version is: %d=%d.%d.%d\n", FFMPEG_VERSION, codecVer, ver_major, ver_minor, ver_micro);
    system("pause"); //窗口等待
    return 0;
}


运行结果:


10.png


补充:


如果在运行代码的时候,IDE提示,*声明已被否决,这时可以通过修改项目的配置方式来解决:


  1. C/C++ ->常规-> SDL检查关掉
  2. C/C++ ->代码生成-> 多线程调试(/MTD)


11.png


12.png


如果你觉得文章还不错,可以给个"三连"


我是加班猿,我们下期见

目录
相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
257 1
|
25天前
|
API 开发者 容器
DevEco Studio:熟练使用华为提供的集成开发环境DevEco Studio
【10月更文挑战第22天】随着HarmonyOS的普及,华为推出了官方集成开发环境DevEco Studio,以提高开发效率。本文通过开发一款天气应用的案例,详细介绍了如何使用DevEco Studio进行环境搭建、界面设计、数据绑定与交互、调试与运行等步骤,帮助开发者高效完成HarmonyOS应用开发。
130 6
|
1月前
|
SQL 数据库连接 数据库
管理系统中的Visual Studio与SQL集成技巧与方法
在现代软件开发和管理系统中,Visual Studio(VS)作为强大的集成开发环境(IDE),与SQL数据库的紧密集成是构建高效、可靠应用程序的关键
|
3月前
|
Web App开发 5G Linux
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
一年一度的毕业季来临,计算机专业的毕业设计尤为重要,不仅关乎学业评价还积累实战经验。选择紧跟5G技术趋势的音视频APP作为课题极具吸引力。这里推荐三类应用:一是融合WebRTC技术实现视频通话的即时通信APP;二是具备在线直播功能的短视频分享平台,涉及RTMP/SRT等直播技术;三是具有自定义动画特效及卡拉OK歌词字幕功能的视频剪辑工具。这些项目不仅技术含量高,也符合市场需求,是毕业设计的理想选择。
81 6
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
|
2月前
|
Android开发 计算机视觉 C++
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
音视频编程对许多程序员来说是一片充满挑战的领域,但借助如OpenCV、LearnOpenGL、FFmpeg、OBS Studio及VLC media player等强大的开源工具,可以降低入门门槛。这些框架不仅覆盖了计算机视觉、图形渲染,还包括多媒体处理与直播技术,通过多种编程语言如Python、C++的应用,使得音视频开发更为便捷。例如,OpenCV支持跨平台的视觉应用开发,FFmpeg则擅长多媒体文件的处理与转换,而VLC media player则是验证音视频文件质量的有效工具。
95 0
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
|
2月前
用ffmpeg提取合并音视频
用ffmpeg提取合并音视频
|
4月前
|
Linux Apache C++
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
该文介绍了如何在Windows环境下为FFmpeg集成SRT协议支持库libsrt。首先,需要安装Perl和Nasm,然后编译OpenSSL。接着,下载libsrt源码并使用CMake配置,生成VS工程并编译生成srt.dll和srt.lib。最后,将编译出的库文件和头文件按照特定目录结构放置,并更新环境变量,重新配置启用libsrt的FFmpeg并进行编译安装。该过程有助于优化直播推流的性能,减少卡顿问题。
124 2
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
|
4月前
|
Linux
FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist
《FFmpeg开发实战》书中介绍了直播的RTSP和RTMP协议,以及新协议SRT和RIST。SRT是安全可靠传输协议,RIST是可靠的互联网流传输协议,两者于2017年发布。腾讯视频云采用SRT改善推流卡顿。以下是Linux环境下为FFmpeg集成libsrt和librist的步骤:下载安装源码,配置、编译和安装。要启用这些库,需重新配置FFmpeg,添加相关选项,然后编译和安装。成功后,通过`ffmpeg -version`检查版本信息以确认启用SRT和RIST支持。详细过程可参考书中相应章节。
97 1
FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist
|
4月前
|
应用服务中间件 Linux nginx
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
《FFmpeg开发实战》书中介绍了如何使用FFmpeg向网络推流,简单流媒体服务器MediaMTX不适用于复杂业务。nginx-rtmp是Nginx的RTMP模块,提供基本流媒体服务。要在Linux上集成rtmp,需从官方下载nginx和nginx-rtmp-module源码,解压后在nginx目录配置并添加rtmp模块,编译安装。配置nginx.conf启用RTMP服务,监听1935端口。使用ffmpeg推流测试,如能通过VLC播放,表明nginx-rtmp运行正常。更多详情见书本。
118 0
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
|
4月前
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
168 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg

热门文章

最新文章

下一篇
无影云桌面