0、前言

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

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

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




watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuZ3Jhb2xp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="442" height="196" alt="">











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的配置界面

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuZ3Jhb2xp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="344" height="260" alt="">


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

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



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

make

make install

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

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

把上面生成的x264的目录:

生成的x265的目录:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuZ3Jhb2xp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="313" height="144" alt="">

都拷贝一份,放到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压缩视频

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuZ3Jhb2xp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="414" height="180" alt="">



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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuZ3Jhb2xp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="390" height="258" alt="">


还须要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比較快):



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

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

windows编ffmpeg2.2.4和插件h265的更多相关文章

  1. Windows编程之connect函数研究

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  2. windows 下的tcping 小插件

    如果把插件放在根目录 就要能过cmd切换到根目录 cd \ c:\>tcping -d -t -i 0.06 www.baidu.com 将文件放在c:\WINDOWS\system32目录下, ...

  3. Sublime Text2 默认语言(windows/unix)设置,Sublime插件大全

    Sublime默认系统语言设置 Sublime Text 2默认使用的就是UTF8,这个UTF8模式使用的是不带BOM的,如果要修改这个配置,到Perference->Settings-User ...

  4. Windows 常用工具 & 开发工具 & Chrome插件 & Firefox 插件 & 办公软件

    常用工具 1.FastStone 8.0 2.印象笔记 3.Chrome 4.Beyond Compare 5.Everything 6.有道词典 7.文本编辑软件 EditPlus UltraEdi ...

  5. windows 下安装chrome 调试iphone插件 ios-webkit-debug-proxy

    必备: 1. .NET Framework 4.5 及以上版本 2.powershell 5.1及以上版本 3.可正常访问  https://raw.githubusercontent.com/luk ...

  6. Windows环境下vscode Live Server插件如何开启https

    0x01 vscode http插件 Live Server如何开启https 在本机端的开发环境下,如果要测试一些需要HTTPS的功能可以使用mkcert给自己颁发凭证 0x02 安装步骤如下: 1 ...

  7. windows环境下sublime的nodejs插件详细安装图解

    前面的话   搜索了好多文档后,才成功地安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nodejs官网提供了 ...

  8. c# windows编程控件学习-1

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. c# windows编程控件学习-2

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

随机推荐

  1. WebxFrameworkFilter 请求响应过程

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  2. SecureCRT 6.7.1 RI和谐 皴 补丁 方法

    它之前被使用SecureCRT 6.5.3 版本号,咋看和谐补丁,即使中国版本也可(现在才发现SecureCRT.6.2.0) 可是换为 6.7.1 后就怎么也注冊不了了.. 没办法试了各种办法: 先 ...

  3. DS-5/RVDS4.0变量初始化错误

    最近总是有各种调试时的错误,内存错误一般,我无意中发现的所有全局变量失败,也就是说,全局变量声明之后,颂值早期值误. 初值明明是0x12345674,最后变为了0xBA141234,出现了移位现象 測 ...

  4. 【C++探索之旅】第一部分第三课:第一个C++程序

    内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适 ...

  5. The area面积计算

    Problem Description Ignatius bought a land last week, but he didn't know the area of the land becaus ...

  6. SQL Server管理员专用连接的使用

    原文:SQL Server管理员专用连接的使用 作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情 ...

  7. Windows 8本地化多语言支持

    原文:Windows 8本地化多语言支持 在Win8平台处理本地化多语言的支持相对比较容易的,但比WP8稍微复杂一点,并不像WP8平台那样大部分工作都有VS IDE处理,Win8平台的操作基本需要开发 ...

  8. 【Android基础】点击Back键退出应用程序

    //第一种方法(弹出对话框) @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-genera ...

  9. c++ 学籍管理系统v 1.0

    #include<iostream> #include <string> #include<conio.h> using namespace std; class ...

  10. Servlet实例解说

    打开昨天上午,负责人突然问我,client控制信息,如何让在后台?我想回答:假设总体提交form,在C#使用代码request获取表单的内容.假设局部提交,在用JS和Ajax交互,通过Ajax的ope ...