Windows11编译x265源码生成Visual Studio工程详细步骤

概述

x265是一款开源符合HEVC标准的编码器,也属于VLC项目之一。

由于x265是开源的,因此它得到了广泛的应用和开发。许多开源项目和商业产品都使用x265进行视频压缩处理。同时,x265也支持多种编程语言和平台,使得开发者可以方便地集成到自己的项目中。

需要注意的是,由于视频压缩技术涉及到复杂的算法和计算,因此使用x265进行视频压缩处理可能需要一定的技术背景和经验。对于初学者来说,建议先了解基本的视频压缩原理和H.265/HEVC标准,再逐步学习和掌握x265的使用方法。

官方代码仓库: https://bitbucket.org/multicoreware/x265_git/src/master/
git镜像代码仓库: https://github.com/videolan/x265/commits/master

官方文档:https://x265.readthedocs.io/en/master/

编译具体过程

源码下载:

git clone https://bitbucket.org/multicoreware/x265_git.git

打开源码:

用VScode等编辑工具打开x265源码,源码目录如下,build文件夹编译相关,doc是说明文档,source文件夹是真正的实现HEVC标准的源码。

打开x265/build文件目录,可以看到x265官方本身提供了不同的平台的构建脚本。可以看到在Windows系统里针对不同版本的Visual Studio版本提供不同的构建脚本。但可以看到目前版本(最新版本3.5)还未支持VS2019、VS2022的IDE。

根据x265/build/README.text中关于Windows系统的编译说明,进行详细的详细的编译。

编译说明:

Windows系统下x265的编译一般有三种方式,即使用VS的MSVC编译、MSYS2中gcc编译、MinGW中gcc编译。

安装依赖:

x265会用到NASMCMAKE,以及Visual Studio;其中NASM汇编依赖,CMAKE用于生成sln文件, Visual Studio直接打开sln文件进行编译,生成x265库和可执行文件。(直接知道到官网下载或可以利用PowerShell里的winget进行安装:winget install nasmwinget install cmake


sln文件生成:

小编用的Visual Studio是2022版本,而x265/build源码里没有现成的2022的构建脚本,因此需要利用CMAKE生成sln文件。完整的CMAKE指令如下(需要cmake环境定位到x265源码目录下):

bash 复制代码
 cmake -G "Visual Studio 17 2022" -S ./source -B ./build/project

关于cmake的三个参数-G、-S、-B的说明如下

bash 复制代码
-S <path-to-source>
Path to root directory of the CMake project to build.

-B <path-to-build>
Path to directory which CMake will use as the root of build directory.

If the directory doesn't already exist CMake will make it.

-G <generator-name>
Specify a build system generator.

CMake may support multiple native build systems on certain platforms. A generator is responsible for generating a particular build system. Possible generator names are specified in the cmake-generators(7) manual.

If not specified, CMake checks the CMAKE_GENERATOR environment variable and otherwise falls back to a builtin default selection.

运行上面cmake指令,如果依赖库都没问题,出现如下截图,则代表成功生成sln文件。

VS2022编译x265:

打开project里的x265.sln,可以看到图标的右上角有17的数字,代表是生成了VS2022版本的sln(VS2022对应的版本就是17)。

用VS2022打开,点击"生成"->"生成ALL_BUILD",等待一段时间的编译。

一段时间后,在输出窗口就会提示生成:7 成功,0 失败,0 最新,0 已跳过,则代表已经编译成功。

由于选择的是Debug-x64架构编译,因此在project/Debug目录里就可以找到对应的库文件libx265.dllx265可执行程序等文件。

可以根据需求编译Release、x86架构等。

备注

  1. 此外还可以利用MinGW、msys2进行编译直接生成库和可执行程序,可以参考README.txt以及网上资源。
  2. Mac和Linux相对简单,直接根据README.txt即可。
相关推荐
VernonJsn15 分钟前
visual studio 2005的MFC各种线程函数之间的调用关系
ide·mfc·visual studio
戎梓漩17 分钟前
windows下安装curl,并集成到visual studio
ide·windows·visual studio
韦德斯1 天前
嵌入式Linux的RTC读写操作应用
linux·运维·c语言·arm开发·实时音视频
CrystalShaw1 天前
RTC QoS方法十三.(ReedSolomonFEC简介)
实时音视频
Vodka~1 天前
物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
物联网·实时音视频
凌云行者1 天前
OpenGL入门009——漫反射在片段着色器中的应用
c++·cmake·openg
凌云行者1 天前
OpenGL入门008——环境光在片段着色器中的应用
c++·cmake·opengl
gz94562 天前
windows下编译ffmpeg4.4版本
windows·视频编解码
熬夜学编程的小王2 天前
【C++篇】深入剖析C++ Vector底层源码及实现机制
开发语言·c++·vscode·vector·visual studio
lucky.帅2 天前
基于BindingList的WinForm数据绑定机制与DataGridView动态刷新技术
开发语言·windows·c#·asp.net·.net·visual studio