FFmpeg开发笔记(二)搭建Windows系统的开发环境
(相关资料图)
由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的。不过若有已经编译好的Windows版本FFmpeg开发包,那就免去了繁琐的Windows编译过程,所以直接安装已编译的FFmpeg开发包,还是相对容易的。在Windows系统安装FFmpeg之前,要先安装MSYS2。一、安装MSYS2MSYS2允许在Windows系统模拟Linux环境,它的命令行界面可以很好地仿真Linux终端,所以在Windows系统上编译和执行FFmpeg程序都要通过MSYS2的控制台操作。以下是在Windows系统安装MSYS2的步骤说明。1、到这个网址下载MSYS2的安装包 https://github.com/msys2/msys2-installer/releases/,打开该页面后单击Assets文字以便展开安装包列表,接着单击MSYS2的Windows安装包链接,比如msys2-x86_64-20230318.exe,浏览器就开始下载Windows版本的安装文件。2、双击下载好的msys2-x86_64-20230318.exe,根据安装向导的指引一步一步完成安装Windows版本的MSYS2。3、MSYS2安装完毕,打开安装目录下的msys2_shell.cmd,去掉该文件第17行代码的注释,也就是删除关键字rem,修改之后的代码如下所示:
set MSYS2_PATH_TYPE=inherit
之所以把该行代码去掉注释,是因为要让MSYS2继承Windows系统的Path环境变量,否则后面编译会报错。4、依次选择Windows开始菜单的“Windows系统”——“命令提示符”,打开Windows的命令行界面。接着先进入msys64目录,再打开MSYS2的命令行窗口,也就是依次执行以下命令:
cd E:\msys64msys2_shell.cmd -mingw64
之所以要在msys2_shell.cmd后面添加“ -mingw64”,是为了让MinGW运行于64位模式,而非默认的32位模式。MinGW允许在Windows系统执行Linux的编译命令。如果说MSYS2相当于Windows环境的Linux模拟器,那么MinGW给MSYS2准备了32位和64位两套编译器,而我们的目标是在Windows系统模拟64位的Linux开发环境。5、虽然安装完了MSYS2,可是一开始里面只支持cd和ls等基本命令,竟然连gcc和make这些编译命令都没有,因此要先给它安装常用的编译工具。在MSYS2的命令行输入以下命令安装几个编译工具:
pacman -S gcc make nasm pkg-config diffutils zlib vim
pacman在安装过程中会提示[Y/n]确认是否继续安装,此时输入Y确定安装即可。等待pacman将编译工具安装完毕,会在mingw64\bin下面找到相应的可执行程序了。如果在打开MSYS2窗口时,msys2_shell.cmd命令后面没加“ -mingw64”,那么编译工具会默认装到mingw32\bin目录;只有在msys2_shell.cmd命令后面加上“ -mingw64”,编译工具才会装到mingw64\bin目录。二、安装FFmpeg安装好了MSYS2,再来安装FFmpeg,具体的安装步骤说明如下:1、到这个网址下载Windows环境编译好的FFmpeg安装包https://github.com/BtbN/FFmpeg-Builds/releases,比如ffmpeg-master-latest-win64-gpl-shared.zip。2、把ffmpeg-master-latest-win64-gpl-shared.zip解压到指定目录,并将解压后的目录改名为ffmpeg,比如E:\Program Files\ffmpeg。3、编辑Windows系统变量列表里的Path变量,给它添加两个目录,第一个是FFmpeg的可执行程序及其动态库目录,比如E:\Program Files\ffmpeg\bin;第二个是MSYS2的可执行程序目录,比如E:\msys64\usr\bin。之所以给Path变量添加这两个目录,是为了在命令行输入相关命令时,Windows能够自动找到对应的可执行程序。4、在MSYS2的控制台执行以下命令查看FFmpeg的版本信息:
ffmpeg -version
发现控制台回显如下所示的FFmpeg版本与编译器版本信息,说明FFmpeg程序成功跑起来了。
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developersBuilt with gcc 12.2.0 (Rev4, Built by MSYS2 project)
三、编写测试程序关于C语言的代码验证,可采用上一篇文章介绍的测试代码及其编译命令,这里不再赘述了。
相关阅读
- FFmpeg开发笔记(二)搭建Windows系统的开发环境
- 江苏天目湖(集团):2023年一季报净利润发生亏损
- 全球最新:增资加码 分享中国发展红利
- 斯特林:我没有接近平时的水平 不后悔来到切尔西的决定
- “海上铁军”的一千多个日与夜:风中穿针、海底绣花,托举起“卧海长龙”_环球热推荐
- 柬埔寨瑞尔汇率(柬埔寨瑞尔)_全球热头条
- 感谢居民支持与关心!罗湖超高层项目志愿者服务队进社区送温暖
- 焦点资讯:家居丨科沃斯2022年归母净利润16.98亿元 同比下降15.51%
- 半场-哈纳姆助攻C罗头球闪击破门 利雅得胜利1-0布赖代先锋-速递
- 【Melon】周榜在榜周数排行榜 (更新至23.3.20-26周榜) 世界新视野
精彩推荐
- FFmpeg开发笔记(二)搭建Windows系统的开发环境
- 江苏天目湖(集团):2023年一季报净利润发生亏损
- 全球最新:增资加码 分享中国发展红利
- 斯特林:我没有接近平时的水平 不后悔来到切尔西的决定
- “海上铁军”的一千多个日与夜:风中穿针、海底绣花,托举起“卧海长龙”_环球热推荐
- 柬埔寨瑞尔汇率(柬埔寨瑞尔)_全球热头条
- 感谢居民支持与关心!罗湖超高层项目志愿者服务队进社区送温暖
- 焦点资讯:家居丨科沃斯2022年归母净利润16.98亿元 同比下降15.51%
- 半场-哈纳姆助攻C罗头球闪击破门 利雅得胜利1-0布赖代先锋-速递
- 【Melon】周榜在榜周数排行榜 (更新至23.3.20-26周榜) 世界新视野
- 关注:信维通信(300136)周评:本周跌5.47%,主力资金合计净流出1.79亿元
- 天天即时看!菲船只冲闯仁爱礁海域 外交部回应事件简单介绍
- 全球即时:江苏扬州““五一”假期 古城新景邀您打卡
- 今日看点:00 后低情商辞职报告,虽不讲情面,但看着真解气
- 【独家焦点】湖北兴欣2022年净利3030.7万 同比增加90.87% 聚焦复合管道主业并增加销售规模
- 环球今日报丨富士胶片(中国)共创加速计划项目与深圳天使母基金召开交流会
- 怎么使用打印机来发送传真 打印机如何发传真
- 全球热议:2023山东东营市东营区油城公用事业有限公司招聘第二批递补进入面试资格审查范围人员进行资格审查通知
- 致富采砂场什么时候出 公测上线时间预告
- 热推荐:宋美芬
- 2023山东省博物馆最新展览汇总(时间+地点)
- “赛道级SUV”同门兄弟 新款奇瑞星途追风上市:10.99万起-今日看点
- 实时焦点:快瞳科技:金融业AI智能识别开放平台
- 环球新动态:搜狐汽车全球快讯 | 本田、GS Yuasa斥资超4千亿日元在日建厂 生产开发电池
- 热推荐:京东京造牵手红点设计博物馆·厦门,以原创设计驱动品牌成长
- 【全球独家】2023年五一期间宁波医院门诊时间一览
- 新动态:中国国家公园融媒体展
- 中央网信办开展专项行动优化营商网络环境
- 天天信息:节能铁汉:公司目前正在按照相关程序推进该项目
- 当前播报:数字人民币落地应用遍地开花!发展障碍仍存 如何解决?