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. hdu2852--KiKi's K-Number(段树,求第一k的数量)

    KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. 为了解决这个问题:07文本WORD文档超链接、页码成{HYPERLINK"网站"}、{PAGE}/{NUMPAGES}

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

  3. BZOJ 2435 NOI2011 道路建设 BFS/DFS

    标题效果:给定一个树(直接将树.不要贪图生成树图!).寻找每条边权值*分差的两侧之间 BFS水必须是能 竟DFS能够住...系统堆栈可能有些不够,我们可以使用内联汇编手册中大型系统堆栈 详见代码 这个 ...

  4. POJ3581:Sequence(后缀数组)

    Description Given a sequence, {A1, A2, ..., An} which is guaranteed A1 > A2, ..., An,  you are to ...

  5. iOS_38_手势

    Pan平移手势 终于效果图: Swipe轻扫手势 LongPress长按手势 Pinch和Rotation手势 捏合(缩放)和旋转 终于效果图: 涂鸦 终于效果图: 事件分3大类:触摸.加速计.远程遥 ...

  6. spark未来的发展方向

    spark是採用scala语言开发的基于内存的计算框架,作者Matei Zaharia,在未来的发展方向: 1.spark streaming:提高spark的流处理能力,使得spark更适于通过一套 ...

  7. inner join on, left join on, right join on

    1.定义: inner join(等值连接) : 仅仅返回两个表中联结字段相等的记录 left join(左联接) :返回包含左表中的全部记录和右表中联结字段相等的记录 right join(右联接) ...

  8. Java 理论与实践: 正确使用 Volatile 变量(转)

    Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...

  9. 轻狂写的桌面日历秀NSIS脚本供大家参考学习

    原文 轻狂写的桌面日历秀NSIS脚本供大家参考学习 现在共享桌面日历秀的NSIS脚本,以便交流学习.此脚本实现的功能如下: 7-Zip打开看不到内容.自动读取原安装路径,如果有则不允许更改.取得编译日 ...

  10. ReactJS入门二

    ReactJS入门学习二 ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事 ...