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

2023-12-18 23:04

本文主要是介绍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会用到NASM 和CMAKE,以及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源码目录下):
在这里插入图片描述

 cmake -G "Visual Studio 17 2022" -S ./source -B ./build/project

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

-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即可。

这篇关于Windows11编译x265源码生成Visual Studio工程详细步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510061

相关文章

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”