科技 > 软件教程 > 媒体工具

FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg

66人参与 2024-08-04 媒体工具

《ffmpeg开发实战:从零基础到短视频上线》一书的“第11章  ffmpeg的桌面开发”介绍了如何在windows环境对qt结合ffmpeg实现桌面程序,那么windows系统通过visual studio开发桌面程序也是很常见的,下面就介绍如何在visual studio的c++工程中集成ffmpeg库和sdl2库。

首先按照《ffmpeg开发实战:从零基础到短视频上线》一书第1章“1.3  windows系统安装ffmpeg”的介绍,把已编译好的ffmpeg库安装到个人电脑的e:\msys64\usr\local\ffmpeg(该安装目录可替换为自己电脑实际的安装路径,注意一旦更换ffmpeg的安装目录,后面所有的ffmpeg安装路径配置也要跟着修改)。
再打开事先安装的visual studio 2022,创建一个基于c++的控制台应用项目。等待visual studio打开新项目,在主界面右侧的解决方案资源管理器窗口中右击项目名称,选择右键菜单底部的属性选项。在弹出的属性页面中,依次选择左侧的列表项:配置属性→vc++目录,并在属性页面右侧的列表项中依次选择:常规→外部包含目录→编辑。在弹出的外部包含目录窗口中添加下列头文件目录(具体路径根据自己电脑上的ffmpeg安装路径调整):

e:\msys64\usr\local\ffmpeg\include
e:\msys64\usr\local\sdl2\include

单击外部包含目录窗口右下角的确定按钮,确认添加上面两个头文件目录。
接着依次选择属性页面左侧的列表项:配置属性→链接器→常规,并在页面右侧的列表项中依次选择:附加库目录→编辑。在弹出的附加库目录窗口中添加下列库文件目录(具体路径根据自己电脑上的sdl2安装路径调整):

e:\msys64\usr\local\ffmpeg\lib
e:\msys64\usr\local\sdl2\lib

单击附加库目录窗口右下角的确定按钮,确认添加上面两个库文件目录。
接着依次选择属性页面左侧的列表项:配置属性→链接器→输入,并在页面右侧的列表项中依次选择:附加依赖项→编辑。在弹出的附加依赖项窗口中添加下列lib文件列表:

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

添加了lib文件配置的附加依赖项窗口如下图所示。单击附加依赖项窗口右下角的确定按钮,确认添加上述的lib文件列表。

然后单击属性页面右下角的确定按钮,完成ffmpeg与sdl2的依赖库导入设置。
回到visual studio 2022的主界面,在左侧的代码编辑窗口中填写下面的ffmpeg测试代码,主要是调用ffmpeg框架的av_log函数来输出“hello world”。

extern "c"
{
#include <libavutil/avutil.h>
}

int main(int argc, char** argv) {
    av_log(null, av_log_info, "hello world\n");
    return 0;
}

保存测试代码后,依次选择顶部菜单:调试→开始执行。visual studio就开始编译测试程序,编译完毕弹出控制台窗口输出了一行日志“hello world”,说明成功在visual studio的c++工程中集成了ffmpeg库。

更多详细的ffmpeg开发知识参见《ffmpeg开发实战:从零基础到短视频上线》。

 

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流

08-04

FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址

08-04

装anaconda默认下载路径在d盘,现在想用ipython的时候用不了了咋办?

08-04

FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作

08-04

FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流

08-04

FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo

08-04

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论