windows下编译ffmpeg4.4版本

最近在做一个利用ffmpeg库播放rtsp流的一个项目,需要自己编译ffmpeg源码;记录一下编译源码的过程,仅供参考;

目标:

开发环境:windows10系统;

ffmpeg:ffmpeg4.4版本,https://download.csdn.net/download/gz9456/90016803

目标:windows环境下,编译ffmpeg源码,生成对应的动态、静态库;

步骤:

1.安装MSYS2环境,并安装编译所需依赖;

2.将ffmpeg源码放到MSYS2能访问到的文件夹下,比如放到MSYS2的安装目录下的home文件夹;安装目录的home路径,对应的就是终端里的cd /home/, 路径最好不要包含中文,防止编码问题;

3.通过MSYS2终端,cd到ffmpeg的文件夹下;然后输入命令

./configure --prefix=../FFmpeg_install --enable-static --enable-shared

说明: --prefix=../FFmpeg_install这个是指定编译库的目标路径;

特别说明: 这句命令执行时间有点长,大概一分钟左右;

4.执行make,输入指令make -j8

5.执行make install,输入指令make install

编译完成;

具体方法:

1.安装MSYS2:

前提条件:1.windows下需要安装MSYS2,并配置MSYS2环境,

2.了解基本的linux系统操作;

MSYS2作用:相当于在windows环境下,提供一个linux系统;并可以打开对应的终端,在这个终端页面,我们可以输入各种linux命令,例如make,ls,cd等;进入MSYS2的安装目录之后,里面的文件结构也类似于linux系统的文件结构;

配置MSYS2环境:

(备注)MSYS2安装之后,需要更新对应的软件包,类似于linux安装gcc或g++一样;

在windows系统下,打开MSYS2终端,需要选择需要的终端,每个终端编译器不一样;根据个人需要,这里选择的是MINGW64的终端;

打开MSYS2终端,输入pacman -Syu 即可以更新软件包;国内网络可能需要更换源,换源方法可以上网找一下;

2.创建ffmpeg编译文件夹

进入MSYS2安装路径下的home文件夹,然后创建一个srccode文件夹,将下载好的ffmpeg源码,拷贝到srccode文件夹下;然后MSYS2终端cd到对应的路径,即cd /home/srccode/ffmpeg-4.4,这个文件夹路径,根据个人配置不同;

3.配置ffmpeg

终端中输入./configure --prefix=../FFmpeg_install --enable-static --enable-shared ,可以根据自己的需要,打开不同的配置;

4.编译、安装ffmpeg

终端中输入make -j8

终端中输入make install

完成编译;

验证:

编译出来的ffmpeg.exe,执行之前,需要添加环境变量。右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 选择 Path (用户变量和系统变量都要)-> 编辑 -> 新建,添加编译工具链的路径:即将C:/msys64/mingw64/bin添加到path中。

以上;

原创,转载请注明出处;

相关推荐
LZQqqqqo2 小时前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list
季春二九2 小时前
Windows 11 首次开机引导(OOBE 阶段)跳过登录微软账户,创建本地账户
windows·microsoft
芥子沫3 小时前
Jenkins常见问题及解决方法
windows·https·jenkins
cpsvps_net19 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋20 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps1 天前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
网硕互联的小客服1 天前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix1 天前
implement copy file content to clipboard on Windows
windows·stm32·单片机
许泽宇的技术分享1 天前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
非凡ghost1 天前
AMS PhotoMaster:全方位提升你的照片编辑体验
windows·学习·信息可视化·软件需求