IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> ffmpeg5.0+h264+h265 windows下编译方法 -> 正文阅读

[开发工具]ffmpeg5.0+h264+h265 windows下编译方法

目录

前言:

一,源码包下载

1.ffmpeg下载

2.下载x264代码

3.下载x265代码

二,MSYS2安装

三,安装cmake工具

四,代码编译

1.编译x264

2.编译x265

3.编译ffmpeg

五,功能验证

1.x264验证

2.x265验证

3.ffmpeg验证

参考博客链接:


前言:

?? ?? ? 最近准备在windows上面用ffmpeg做视频编解码工作,找了很多博客对编译方法描述都不全,花了一天时间自己折腾编译通过了,写篇比较完整的博客分享给大家,希望对大家有所帮助,另外,感谢其他博主的分享!

一,源码包下载

1.ffmpeg下载

下载地址: https://ffmpeg.org
(1)在主页面中找到ffmpeg5.0版本点击
(2)点击下载,这里我下载的是gzip包

2.下载x264代码

下载地址: x264, the best H.264/AVC encoder - VideoLAN
可以直接下载源码包或者用git克隆

3.下载x265代码

下载地址: x265, the free H.265/HEVC encoder - VideoLAN
直接通过git下载

二,MSYS2安装

1.下载地址: MSYS2
2.下载完成之后点击安装,默认安装是C盘,C盘空间不够的话建议改下地址

3.然后直接下一步开始安装

4.安装完成之后先不运行,首先修改更新源为国内镜像,这样更快一点
国内镜像我们选择清华源
编辑?/etc/pacman.d/mirrorlist.mingw32?,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
编辑?/etc/pacman.d/mirrorlist.mingw64?,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
编辑?/etc/pacman.d/mirrorlist.ucrt64?,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64
编辑?/etc/pacman.d/mirrorlist.clang64?,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang64
编辑?/etc/pacman.d/mirrorlist.msys?,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
5.打开msys2命令行:

6.然后执行下面命令配置环境:
(1)更新所有包
pacman -Syu

输入Y选择全部更新
更新完成之后再一次打开命令行执行:
pacman -Syu
(2)安装基础工具:
pacman -S base-devel
直接默认全部安装
(3)安装编译工具
pacman -S mingw-w64-x86_64-toolchain
直接默认全部安装
注意:安装完成之后把msys2安装路径下mingw64/bin添加windows环境变量,不然在
msys2中编译出来的exe文件在windows运行会找不到库。

?

(4)安装其它工具
pacman -S yasm
pacman -S nasm
pacman -S make
注意:不要使用msys2安装cmake工具,通过windows安装

三,安装cmake工具

1.下载地址: Download | CMake

2.现在完成之后点击安装,然后next
3.勾上同意协议然后next
4.选择把cmake路径添加到环境变量,然后next

5.修改下安装地址,然后next

6.选择install等待升级完成

7.安装完成之后我们在msys2中是找不到cmake命令的,这里我们把windows path添加到msys2中
在windows环境变量中新建一个名字为 MSYS2_PATH_TYPE的环境变量,值改为 inherit,然后重启msys2就可以在msys2中使用安装的cmake了

四,代码编译

1.编译x264

(1)把下载的代码解压到msys2家目录下,即:msys2/home/xxx/(这里xxx表示用户名)
(2)在x264代码下新建一个编译脚本build.sh,脚本内容如下:
basepath=$(cd `dirname $0`;pwd)
echo ${basepath}
cd ${basepath}/x264-master
pwd
./configure --prefix=${basepath}/x264_install --enable-static --enable-shared \
--extra-ldflags=-Wl,--output-def=libx264.def
make -j8
make install
${basepath}表示的是脚本所在路径,x264-master表示源码包目录名字,这里对照实际修改
(3)打开msys2 X64终端

进入到build.sh所在路径,执行sh build.sh
等待编译完成
(4)编译完成之后在x264_install下会生成库和头文件

bin中存放的是动态库
include中存放的是头文件
lib中存放的是静态库,给后面ffmpeg链接使用
假如我们需要使用动态库的话,还缺少一个.lib文件

.lib文件可以由.dll直接生成,也可以由.def生成,这里我们可以用.def文件生成,在源码目录下有生成libx264.def文件

把libx264.def拷贝到和libx264-164.dll同一级目录
然后打开vs命令行工具:

进入VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64目录执行
lib.exe /out:输出.lib的路径加文件名 /machine:x64 /def:输入def文件的路径和文件名
如:
lib.exe /out:D:\msys64\home\xxx\x264-master\x264_shared\bin\libx264-164.lib /machine:x64 /def:D:\msys64\home\xxx\x264-master\x264_shared\bin\libx264.def
执行完成之后就会生成.lib文件了

2.编译x265

(1)把下载的代码解压到msys2家目录下,即:msys2/home/xxx/(这里xxx表示用户名)
(2)进入源码包build/msys下,执行下面命令生成makefile
sh?make-Makefiles.sh
在弹出的窗口中首先修改安装路径,然后点击configure,最后点击generate生成makefile并关闭窗口
(3)开始编译
make -j8
(4)安装
make install
编译安装完成之后就可以看到生成的文件了

3.编译ffmpeg

(1)把下载的ffmpeg源码解压到msys2家目录下
(2)进入ffmpeg源码包下,新建一个编译脚本build.sh,脚本内容如下:
basepath=$(cd `dirname $0`;pwd)
echo ${basepath}
cd ${basepath}/ffmpeg


#添加x264 x265 pkg路径
x264_pkg_path=/home/xxxx/x264-master/x264_install/lib/pkgconfig
x265_pkg_path=/home/xxxx/x265_git/x265_install/lib/pkgconfig
export PKG_CONFIG_PATH=$x264_pkg_path:$x265_pkg_path:$PKG_CONFIG_PATH


./configure --prefix=${basepath}/ffmpeg_install --disable-static --enable-shared \
--enable-libx264 --enable-libx265 --enable-gpl
make -j8
make install
(3)然后在msys2中执行sh build.sh,等待编译完成

五,功能验证

1.x264验证

进入x264生成目录,执行下面命令,如果能够输出版本信息,则表示正常
./x264.exe --version

2.x265验证

进入x265生成目录,执行下面命令,如果能够输出版本信息,则表示正常
./x265.exe --version

3.ffmpeg验证

(1)把x264,x265编译生成的动态库拷贝到ffmpeg生成目录下(和ffmpeg.exe同一级)
(2)执行下面命令,如果能够输出版本信息,则表示正常
./ffmpeg.exe --version

参考博客链接:

1.FFmpeg编译无坑版(Windows篇) - 简书

2. msys2在windows10下编译安装ffmpeg+x265_pxxian的博客-CSDN博客_msys2安装ffmpeg
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:45:36  更:2022-03-08 22:46:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:19:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码