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即可。
相关推荐
小龙报3 小时前
《算法通关指南数据结构和算法篇(4)--- 队列和queue》
c语言·开发语言·数据结构·c++·创业创新·学习方法·visual studio
whm27777 小时前
Visual Basic 手工制作工具栏
开发语言·visual studio
满天星83035771 天前
【C++】智能指针
c语言·开发语言·c++·visual studio
小龙报1 天前
《C语言疑难点 --- C语内存函数专题》
c语言·开发语言·c++·创业创新·学习方法·业界资讯·visual studio
双河子思3 天前
Visual Studio 编程工程设置
ide·windows·visual studio
ZEGO即构开发者3 天前
【ZEGO即构开发者日报】Soul AI Lab开源播客语音合成模型;腾讯混元推出国内首个交互式AI播客;ChatGPT Go向用户免费开放一年......
人工智能·aigc·语音识别·实时音视频
ol木子李lo3 天前
Doxygen入门指南:从注释到自动文档
c语言·c++·windows·编辑器·visual studio code·visual studio·doxygen
持梦远方4 天前
【C++日志库】启程者团队开源:轻量级高性能VoyLog日志库完全指南
开发语言·c++·visual studio
一匹电信狗4 天前
【C++】红黑树详解(2w字详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio
whm27774 天前
Visual Basic 菜单编辑器
开发语言·visual studio