(Windows环境)FFMPEG编译,包含编译x264以及x265

本文使用 MSYS2 来编译 ffmpeg 

一、安装MSYS2

MSYS2 是 Windows 下的一组编译套件,它可以在 Windows 系统中模拟 Linux 下的编译环境,如使用 shell 运行命令、使用 pacman 安装软件包、使用 gcc (MinGW) 编译代码等。

MSYS2 的安装也非常省心,只需要到 MSYS2 官网 下载.exe安装包,管理员身份运行安装即可,推荐安装在某个盘的根目录。

安装完毕后,你的安装目录里就会有下面的程序:

点击它们就会启动一个 shell 窗口,Just like on Linux ! 这个 shell 程序默认是 Mintty,类似 Linux 系统中的 bash shell。MSYS2 支持多个编译器工具链,它们的环境是独立的(可以去安装文件夹查看),这里选择启动 MINGW64 (如果你也是64位系统的话)。

 国内可以将下载镜像替换为中科大

sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Sy

二、安装MINGW

然后安装mingw64编译链和基本的依赖:全部都按照默认安装即可,安装时会询问,输入y即可

pacman -S mingw-w64-x86_64-toolchain  # mingw64编译工具链,win下的gcc
pacman -S base-devel    # 一些基本的编译工具
pacman -S yasm nasm     # 汇编器

安装完毕后,可以输入gcc -v查看 gcc 版本:

最后需要添加环境变量。右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 选择 Path (用户变量和系统变量都要)-> 编辑 -> 新建,添加编译工具链的路径:msys2下载的mingw64一般就在你安装的msys2目录里面

三、下载源码

ffmpeg
官网 http://ffmpeg.org/
下载地址 https://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2

x265
官网 https://www.videolan.org/
下载地址 http://ftp.videolan.org/pub/videolan/x265/x265_3.2.1.tar.gz

x264
下载地址 http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191217-2245.tar.bz2

 全部解压到你安装的msys2目录里的home目录下,然后分别创建install目录

 

四、编译 

1、编译x264

切换到x264的解压目录下,执行下列命令

cd /home/x264-master/
./configure  --prefix=/home/x264_install/ --enable-shared
make -j8
make install

生成的windows库文件在E:\msys64\home\x264_install\bin目录里,不是lib目录

2、编译x265

切换到x265的解压目录下,执行下列命令(x265在windows下是使用ninja编译,与make稍有不同)

 cd  /home/x265_3.2.1/
cmake -DCMAKE_INSTALL_PREFIX=/home/x265_install/ ./source/

cmake执行完后,会在当前目录生成build.ninja等文件

然后执行以下命令

ninja
ninja install

生成库文件如下:

3、编译ffmpeg 

 切换到ffmpeg目录

cd /home/ffmpeg-5.1.5/

指定x264与x265的配置文件目录

 export PKG_CONFIG_PATH=/home/x265_install/lib/pkgconfig/:/home/x264_install/lib/pkgconfig/ 

 echo ${PKG_CONFIG_PATH}          可以看到输出  

 然后运行以下命令

./configure  --prefix=/home/ffmpeg_install/ --enable-gpl --enable-libx264 --enable-libx265 --disable-static --enable-shared --extra-cflags=-l/home/x264_intall/include --extra-ldflags=-L/home/x264_install/lib --extra-cflags=-l/home/x265_intall/include --extra-ldflags=-L/home/x265_install/lib
执行过后会生成MakeFile,然后执行如下

make -j8
make install

生成库文件如下

五、使用库文件 

在使用时必须将x264、x265、ffmpeg同时链接才能使用,不能只链接ffmpeg。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/375324.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘GPT-4o:未来智能的曙光

引言 近年来,人工智能(AI)的发展突飞猛进,尤其是自然语言处理(NLP)领域的进步,更是引人注目。在这一背景下,OpenAI发布的GPT系列模型成为了焦点。本文将详细探讨最新的模型GPT-4o&a…

浅析Nginx技术:开源高性能Web服务器与反向代理

什么是Nginx? Nginx是一款轻量级、高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它最初由俄罗斯的程序员Igor Sysoev在2004年开发,并于2004年首次公开发布。Nginx的主要优势在于其非阻塞的事件驱动架构,能够处理大量并…

【多GPU训练方法】

一、数据并行 这是最常用的方法。整个模型复制到每个GPU上。训练数据被均匀分割,每个GPU处理一部分数据。所有GPU上的梯度被收集并求平均。通常使用NCCL(NVIDIA Collective Communications Library)等通信库实现。参数更新 使用同步后的梯度…

01MFC建立单个文件类型——画线

文章目录 选择模式初始化文件作用解析各初始化文件解析 类导向创建鼠标按键按下抬起操作函数添加一个变量记录起始位置注意事项代码实现效果图 虚实/颜色线 选择模式 初始化文件作用解析 运行: 各初始化文件解析 MFC(Microsoft Foundation Classes&am…

爬虫-浏览器自动化

什么是selenium selenium是浏览器自动化测试框架,原本用于网页测试。但到了爬虫领域,它又成为了爬虫的好帮手。有了 selenium,我们便不再需要判断网页数据加载的方式,只要让 selenium 自动控制浏览器,就像有双无形的手…

数据结构--堆,堆排序

1.树概念及结构 1.1树的概念 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 。 有一个 特殊的结…

判断链表中是否有环(力扣141.环形链表)

这道题要用到快慢指针。 先解释一下什么是快慢指针。 快慢指针有两个指针,走得慢的是慢指针,走得快的是快指针。 在这道题,我们规定慢指针一次走一步,快指针一次走2步。 如果该链表有环,快慢指针最终会在环中相遇&a…

通过vagrant与VirtualBox 创建虚拟机

1.下载vagrant与VirtualBox【windows版本案例】 1.1 vagrant 下载地址 【按需下载】 https://developer.hashicorp.com/vagrant/install?product_intentvagranthttps://developer.hashicorp.com/vagrant/install?product_intentvagrant 1.2 VirtualBox 下载地址 【按需下载…

人员定位系统可以用于哪些岗位?作用是什么?

人员定位系统是目前用于保证人身安全或是监管等方面十分适合且高端的技术,对于在环境相对复杂、危险,或是人员较多,管理比较吃力的企业单位来说,这套系统绝对是不可或缺的好帮手,发挥的作用和实用性也是相当高的。 一、…

python-小理与他的画(赛氪OJ)

[题目描述] 小理是个画家,他希望有一天他的画能让心仪的她看到。 只是后来她有了他,他却只有他的画,他望着他的画,默默的发呆。 可惜做题的你,画不出他画的她,所以,我们只好画点简单的画&#x…

接口测试框架基于模板自动生成测试用例!

引言 在接口自动化测试中,生成高质量、易维护的测试用例是一个重要挑战。基于模板自动生成测试用例,可以有效减少手工编写测试用例的工作量,提高测试的效率和准确性。 自动生成测试用例的原理 为了实现测试用例数据和测试用例代码的解耦&a…

谷粒商城学习笔记-18-快速开发-配置测试微服务基本CRUD功能

文章目录 一,product模块整合mybatis-plus1,引入依赖2,product启动类指定mapper所在包3,在配置文件配置数据库连接信息4,在配置文件中配置mapper.xml映射文件信息 二,单元测试1,编写测试代码&am…

手搓前端day1

断断续续的学了些前端,今天开始写写代码,就当是记录一下自己前端的成长过程 效果: 写了点css,实现了简单的前端页面的跳转 文件目录 代码如下: styles.css body{margin: 0;padding: 0;}header{background-color: bl…

Linux系统密码重置

实验环境: Centos 7.9 背景: 找回root用户密码 1、首先,启动Linux系统进入开机界面,在界面中快速点击‘e’进入编辑界面,如图: 2、进入编辑界面会后往下翻找到“Linux16”内容所在的行数,在&q…

暑假第一次作业

第一步:给R1,R2,R3,R4配IP [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1-Serial4/0/0]ip address 15.0.0.1 24 [R2-GigabitEthernet0/0/0]ip address 192.168.2.1 24 [R2-Serial4/0/0]ip address 25.0.0.1 24 [R3-GigabitEthernet0/0/0]ip address 192.…

基于复旦微V7 690T FPGA +ARM/海光X86+AI的全国产化数据采集人工智能平台

国产化FPGA:JFM7VX690T80主机接口:PCIe Gen3 x88Gbps/lane光纤通道:前面板4路SFP光纤,后面板1路QSFP光纤2组独立的DDR3 SDRAM 缓存,工作时钟频率800MHz2个FMC接口扩展:每个支持16路GTH,线速率10…

【React Native优质开源项目】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

智能汽车网络安全笔记

汽车五大域 动力底盘、车身控制、智能座舱、智能网联和高级辅助驾驶五大域 国外汽车安全法规标准 汽车网络安全管理体系(CSMS) CSMS指的是管理汽车的网络威胁和风险,并保护车辆免受网络攻击的组织过程和管理系统 安全验证和安全测试 8…

一键运行 ComfyUI SD3!大规模医学 VQA 评测数据集上线,涉及超 20 个人体器官和部位

为了进一步推进 AI4S 的普适化,HyperAI超神经策划了「Meet AI4S」系列直播栏目。第一期直播将于 7 月 17 日 19:00 准时上线! 我们邀请到了浙江大学遥感与地理信息系统博士生丁佳乐,他的分享主题为「神经网络为房价的空间异质性提供新解释」&…

C++——类和对象(上)

文章目录 一、类的定义1.类定义格式2.访问限定符3.类域 二、实例化1.实例化概念2.对象⼤⼩ 三、 this指针 一、类的定义 1.类定义格式 与定义结构体类似 class ST {//成员变量int val;//成员函数void print(){cout << val << endl;}};class为定义类的关键字&…