X265代码学习专栏传送

上一篇:无
下一篇:持续创作中…

目录

  • X265代码学习专栏传送
    • 前言
    • 一、下载Cmake及X265代码
    • 二、使用Cmake编译
    • 三、生成可执行文件并测试
    • 四、配置Visual Studio调试X265

前言

x265是一个基于H.265/HEVC的免费开源的视频编码解码器,其面向商用需求开发,有配置方便、效率高等特点。

本文是笔者对X265代码的一点学习记录,若文中存在错误欢迎批评指正,也欢迎广大视频编码学习者沟通交流、共同进步。

本文作为X265代码学习的第一篇博文将主要介绍X265的源码下载、编译和Visual Studio调试配置相关内容。在笔者下载配置时主要参考了一位大佬的博文,该博主的系列文章也为我学习X265的前期提供了相当程度的帮助,在此一并感谢。本文主要参考上述博文,在关于Visual Studio版本等问题上提供补充,力图使读者更方便的完成X265代码的安装配置。

一、下载Cmake及X265代码

  1. Cmake将用于X265代码编译,若电脑中没有Cmake,请前往官网https://cmake.org/download/下载安装
  2. 进入X265官网:http://x265.org/

官网的安全证书出现过期的情况,因此在进入官网过程中,若浏览器页面不安全等提示,请选择继续浏览。

  1. 点击进入官网右上角的“Downloads”下载界面
  2. 在下载列表中选择最新版本的X265代码进行下载,等待下载完成后解压。

二、使用Cmake编译

  1. 进入Cmake安装目录下的“…\cmake-3.22.0-win64-x86\bin”文件夹,双击cmake-gui.exe,出现下图界面。
  2. 选择最上方两个条目源码地址和binaries地址分别为…\x265_3.3\source和…x265_3.3\build\vc16-x86_64。

其中第二个binaries地址需要根据自己使用的Visual Studio版本进行选择,不同版本的Visual Studio对应VC版本如下:


对于build文件夹下没有对应VC版本的文件夹解决方案:

若X265安装目录的build文件夹下没有对应VC版本的文件夹则可以自己创建,文件夹名与其他文件夹类似(如不存在VC16的文件夹,则参考VC15文件夹命名,创建文件夹vc16-x86_64)

创建后将较低版本但系统相同的文件夹下的bat文件复制到新建文件夹中(对于64位系统为3个bat文件,否则2个bat文件)

将所有bat文件分别以Notepad++打开(没有Notepad++可使用记事本打开),根据自己的版本做对应修改。下面以将原vc15-x86_64中的文件修改为vc16-x86_64中的文件为例:

  • 修改build-all.bat中的 %VS150COMNTOOLS% 为 %VS160COMNTOOLS%;修改build-all.bat中的 Visual Studio 15 为 Visual Studio 16
  • 修改make-solutions.bat中的 “Visual Studio 15 Win64” 为 “Visual Studio 16 Win64”
  • 修改multilib.bat中的 %VS150COMNTOOLS% 为 %VS160COMNTOOLS%;修改multilib.bat中的 Visual Studio 15 为 Visual Studio 16

修改完毕后保存,并在cmake界面将新创建的文件夹设为binaries目录。

  1. 点击Configure,出现项目编译器平台选择(根据自己的平台进行选择),如下图;

  1. 点击finish,完成后出现Configuring done则说明成功

  2. 点击generate,完成后出现Generate done则说明成功

  3. 进入X265安装目录下的build文件夹下对应VC版本的文件夹,双击“build-all.bat”,进行编译

  4. 用Visual Studio打开上一步生成的x265.sln,即可进入工程

三、生成可执行文件并测试

  1. 进入工程后选择Release模式,点击生成-重新生成解决方案

  1. X265_3.3\build\vc16-x86_64\Release文件夹下放入一个测试yuv文件(以BasketballPass_416x240_50.yuv为例),创建一个.bat文件用于调用exe测试,.bat文件内容暂设如下:
x265 --input-res 416x240 --fps 50 BasketballPass_416x240_50.yuv -o BasketballPass_416x240_50.h265
  1. 双击运行上一步创建的.bat文件,出现如下的界面则成功。
  2. 待程序执行完毕后目录下会生成.h265文件,此即编码的视频。

四、配置Visual Studio调试X265

  1. 进入X265工程,设置为debug模式,并将cli设置为启动项目

  1. 右键点击cli,选择属性

  1. 在“调试”中设置命令参数与工作目录


命令参数如下:

--input-res 416x240 --fps 50 BasketballPass_416x240_50.yuv -o BasketballPass_416x240_50.h265

工作目录则可以随意设置,但在工作目录下必须保存有待编码的序列!

设置完成后即可调试X265


上一篇:无
下一篇:持续创作中…

X265代码学习1-X265源码下载编译及VS调试配置相关推荐

  1. FreeMarker_模板引擎_代码自动生成器_源码下载

    首先我们先来认识一下Freemarker 1.what is the FreeMarker? 你可以到freemarker的官网上去,那里有很详细的介绍:http://freemarker.org/ ...

  2. Android AOSP和Android-X86源码下载编译终极普法

        Android AOSP和Android-X86源码下载编译终极普法 引言   最近有朋友在询问怎么下载Android AOSP源码和Android-X86源码,编译学习!其实这个说简单也简单 ...

  3. Ubuntu20.4 Android-9.0.0_r46源码下载编译

    Ubuntu20.4 Android-9.0.0_r46源码下载编译调试 安装Ubuntu虚拟机 ubuntu镜像下载地址: https://ubuntu.com/download 官网下载地址较慢可 ...

  4. JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

  5. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

  6. python代码加密运行_python源码下载后怎样进行加密

    python源码下载后怎样进行加密 发布时间:2020-11-19 09:23:24 来源:亿速云 阅读:60 作者:小新 这篇文章主要介绍了python源码下载后怎样进行加密,具有一定借鉴价值,需要 ...

  7. 这下终于可以方便地发表测试型网页代码了(附源码下载)

    前言 色彩斑斓的"马" 虽然利用插入代码功能可以很华丽的插入色彩斑斓的代码,但是就html(Xhtml)代码.js代码.css代码而言,我更喜欢想蓝色理想论坛中的那种:有个文本框, ...

  8. Android FrameWork学习(一)Android 7.0系统源码下载\编译

    重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...

  9. Edxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程

    说明:本文操作在Windows 平台实现. 一.Magisk源码下载 在终端执行如下git命令下载Magisk源码. E:\workspace\androidstudio\EdXposedProj\2 ...

  10. QEMU零知识学习2 —— QEMU源码下载

    QEMU源代码有多种方式进行下载.本文只介绍其中2种方法. 1. 通过git进行下载开发中的最新的qemu.git (1)获取源码 $ git clone http://git.qemu.org/qe ...

最新文章

  1. 《剑指offer》-- 链表中倒数第k个节点、反转链表、合并两个排序的链表
  2. powwr shell_Powershell Do While 循环
  3. mysql左键关联_MySQL的:左键删除重复列加入,3个表
  4. JavaFX图表(六)之条形图
  5. vue 二进制文件的下载(解决乱码和解压报错)
  6. 众咖齐聚!2018智能汽车跨界融合高峰论坛开幕在即
  7. 后端开发 java_Java后端开发三年,你不得不了解的JVM
  8. 关于oracle sql语句查询时表名和字段名要加双引号的问题详解
  9. java 23种设计模式学习。
  10. android 抽屉关闭时的卡顿
  11. android文字多行滚动显示,Android实现在TextView文字过长时省略部分或滚动显示的方法...
  12. pgm图像缩小C语言,C++将二进制(P5)图像转换为ascii(P2)图像(.pgm)
  13. PyQt5中打开网址方法
  14. SQL Server 开窗函数Over的使用(计算结存金额)
  15. C语言实现系统日历查询系统
  16. 电脑桌面文件删除了怎么找回?
  17. 删除后别人的微信号变成wxid_微信偷偷更新:终于能改微信号,每年改一次
  18. pandas操作excel 笔记
  19. 蚂蚁集团副总裁,任复旦大学人工智能学院院长!
  20. Kinect能掀起体感应用开发热潮吗?

热门文章

  1. 华为手机android怎么解锁,怎么查看华为手机解锁
  2. Ubuntu 配置 SFTP 服务器
  3. linux多线程调度设置
  4. 上传新文件项目到svn上
  5. 联想打印机 android,小新联想打印机
  6. IntelliJ IDEA之Java开发常规项目配置介绍
  7. Java实体类与数据库表映射关系
  8. 基于Python的RRT算法实现
  9. C语言——通讯录的实现
  10. DEM高程数据的获取和应用(全国DEM数据可直接下载)