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即可。
相关推荐
superconvert12 小时前
主流流媒体的综合性能大 PK ( smart_rtmpd, srs, zlm, nginx rtmp )
websocket·ffmpeg·webrtc·hevc·rtmp·h264·hls·dash·rtsp·srt·flv
XY.散人1 天前
VS2022中的调试
visual studio
疑惑的杰瑞2 天前
[乱码]确保命令行窗口与主流集成开发环境(IDE)统一采用UTF-8编码,以规避乱码问题
java·c++·vscode·python·eclipse·sublime text·visual studio
这是我582 天前
C++掉血迷宫
c++·游戏·visual studio·陷阱·迷宫·生命·
△曉風殘月〆2 天前
Visual Studio 2019/2022 IntelliCode(AI辅助IntelliSense)功能介绍
ide·visual studio·intellicode
Antonio9152 天前
【模板代码的组织结构与模板的显式实例化和声明】模板代码的组织结构与模板的显式实例化和声明
开发语言·c++·算法·visual studio
这是我583 天前
C++3D迷宫
c++·3d·visual studio·z·x·迷宫·y
TSINGSEE3 天前
人员抽烟AI检测算法在智慧安防领域的创新应用,助力监控智能化
人工智能·算法·视频编解码·安防视频监控·视频监控管理平台
Neo Wordsworth3 天前
通义灵码在Visual Studio上
windows·ai·visual studio
__Destiny__3 天前
视频格式转为mp4(使用ffmpeg)
ffmpeg·视频编解码