windows编ffmpeg2.2.4和插件h265

news/2024/7/10 21:09:36 标签: ffmpeg, 运维, git

0、前言

据说新出来了h265的视频,在迅雷看看上面看到的。网上查看了一下简单介绍,貌似h265的视频比h264的视频压缩率要高。并且能做4K的视频。

同一时候看到网上有人试过ffmpeg在编译的时候加上了h265,这样ffmpeg看起来倒是能外挂h265的编解码,所以这篇blog文,主要是用ffmpeg来尝试一下h265。

这里引用几张x265的介绍图片(当然我自己的显示器也是4k的):









1、首先下载ffmpeg源码

眼下最新版是2.2.4


下载传送门:http://www.ffmpeg.org/releases/ffmpeg-2.2.4.tar.gz



2、如果已经配置好了mingw

我的系统是win7。网上配置mingw的文章还是挺多的


3、编译x264(ffmpeg相同须要外挂h264的编解码)

来这里下载: http://www.videolan.org/developers/x264.html



解压出来。用mingw进入源码文件夹

运行:./configure --prefix=/x264 --enable-shared--enable-static

make

make install

这时候在C:\MinGW\msys\1.0以下会出现一个x264目录,里面就是所须要的库了



4、编译x265(这是主要须要的)

x265的源码是用hg形式克隆的(和git一样的源码管理器)


由于源码的编译使用的是cmake,所以还要配置cmake的环境。仅仅须要下载一个绿色免安装版本号的cmake。然后填写系统的环境变量到cmake.exe就可以,所以以下的步骤如果已经配置好了cmake


那么首先。用mingw进入x265的源码文件夹中的msys文件夹中:

cdx265/build/msys/

运行sh make-Makefiles.sh

这样就打开了cmake的配置界面



由于已经配置过,要是首次配置(出了配置安装路径之外)。还须要找到yasm.exe来支持汇编(这个须要单独下载,网上也非常多下载的地方)


然后依次点击configure----generate



这样配置文件就产生了。关掉cmake(右上角关闭)。这时回到mingw中

make

make install

这样就在C:\x265_libs生成了x265的dll



5、生成ffmpeg前须要做的配置

把上面生成的x264的目录:


生成的x265的目录:


都拷贝一份,放到mingw的根文件夹中:



6、编译ffmpeg

mingw进入源码文件夹中。运行:

./configure --enable-yasm--prefix=/ffmpeg --disable-debug --disable-static \

--enable-shared--enable-gpl --enable-libx265 --enable-libx264



这样就代表已经配置成功了

make

make install



7、測试使用ffmpeg压缩视频



測试使用的环境是虚拟机中,这样能够发现我们在执行exe的时候缺少什么dll

 

把bin文件夹下的ffmpeg.exe放到虚拟机中跑,终于发现。除了bin里面出现的这些dll之外,还须要用到mingw中的libgcc_s_dw2-1.dll、libiconv-2.dll(能够通过搜索mingw根文件夹得到)



还须要x265和x264的dll,在这两个源码的project,搜索得到

 

然后使用命令,压缩一个视频,分别看看x264和x265的差别

a、ffmpeg -i 1.mp4 -acodec copy -vcodec libx264-f mp4 h264.mp4

b、ffmpeg -i 1.mp4 -acodec copy -vcodeclibx265 -f mp4 h265.mp4


能够看到这两个文件的大小比較(压缩速度,在这里x264比較快):



事实上还是比較不错的,压缩度,对在大型视频,节省了大量的空间占用。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/zfyouxi/p/4644865.html


http://www.niftyadmin.cn/n/1158737.html

相关文章

校验路径存在_专家授课多测头的自动化校验方法

多测头校验的自动化测头校验是测量工件前的必要工作,只有测头校验精确无误,后续测量的数据才真实可信。通常,如果工件上的尺寸大小比较均匀单一,一个程序只需配备一个测头,即可完成所有的检测任务;相对应的…

盘古分词

盘古分词是一个基于 .net framework 的中英文分词组件。主要功能 中文未登录词识别 盘古分词可以对一些不在字典中的未登录词自动识别词频优先 盘古分词可以根据词频来解决分词的歧义问题多元分词 盘古分词提供多重输出解决分词粒度和分词精度权衡的问题中文人名识别 输入&…

sip注册流程 一步一光年_SIP电台网关怎么用?

基于SIP的电话协议,让我们的语音通信发生了很大的变化,由于SIP协议的开放性,只要符合其SIP协议标准,任何设备都可以接入到VOIP的语音网络,让通讯变得更便捷。也让更多的语音方案成为可能。特别是在一些行业的语音通信领…

【转】Windows内核下操作字符串!

*Windows内核下操作字符串! */ #include <ntddk.h> #include <ntstrsafe.h> #define BUFFER_SIZE 1024VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject) {KdPrint(("DriverUnload Load...\n")); }// // ANSI_STRING结构和UNICODE_STRING结构的使用 …

android studio创建一个类继承application_Android 腾讯 Matrix 原理分析(一):Matrix 概览...

写在前面 近期开始 Android Framework 层的学习&#xff0c;然而较为庞大的 Framework 让人感觉无从下手。碰巧看到一篇文章说到腾讯的 性能监控框架 Matrix 用到了大量 Framework 相关的知识&#xff0c;所以试着分析下该框架的源码实现。在学习大佬们代码的同时主要关注该框架…

栈和堆(Stack Heap)

一、前言直到现在&#xff0c;我们已经知道了我们如何声明常量类型&#xff0c;例如int,double,等等&#xff0c;还有复杂的例如数组和结构体等。我们声明他们有各种语言的语法&#xff0c;例如Matlab&#xff0c;Python等等。在C语言中&#xff0c;把这些变量放在栈内存中。二…

外呼机器人起名_外呼机器人的话术灵便性

来满足用户的需求。在此过程中&#xff0c;外0呼人员的话术灵便性、用户体验的高效性、因为员工工作时间、员工性格等诸多原因受到了很多的影响&#xff0c;并不可以达到很好的效果。加入AI能力的机器人怎么样颠覆这个行业?悦享听机器人的出现&#xff0c;B准备替代这个行业中…

Section 2.1 专题乱乱的

TEXT里简单介绍了一下图论和Flood Fill Algorithms&#xff0c;感觉还是很有意义的&#xff0c;可以看看&#xff0c;http://www.wzoi.org/usaco/也是比较正常的翻译了&#xff0c;看起来不是机翻 The Castle http://www.wzoi.org/usaco/12%5C105.asp 大致就是给你一个矩阵&…