windows编ffmpeg2.2.4和插件h265
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="">
2、如果已经配置好了mingw
我的系统是win7。网上配置mingw的文章还是挺多的
3、编译x264(ffmpeg相同须要外挂h264的编解码)
解压出来。用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的更多相关文章
- Windows编程之connect函数研究
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- windows 下的tcping 小插件
如果把插件放在根目录 就要能过cmd切换到根目录 cd \ c:\>tcping -d -t -i 0.06 www.baidu.com 将文件放在c:\WINDOWS\system32目录下, ...
- Sublime Text2 默认语言(windows/unix)设置,Sublime插件大全
Sublime默认系统语言设置 Sublime Text 2默认使用的就是UTF8,这个UTF8模式使用的是不带BOM的,如果要修改这个配置,到Perference->Settings-User ...
- Windows 常用工具 & 开发工具 & Chrome插件 & Firefox 插件 & 办公软件
常用工具 1.FastStone 8.0 2.印象笔记 3.Chrome 4.Beyond Compare 5.Everything 6.有道词典 7.文本编辑软件 EditPlus UltraEdi ...
- windows 下安装chrome 调试iphone插件 ios-webkit-debug-proxy
必备: 1. .NET Framework 4.5 及以上版本 2.powershell 5.1及以上版本 3.可正常访问 https://raw.githubusercontent.com/luk ...
- Windows环境下vscode Live Server插件如何开启https
0x01 vscode http插件 Live Server如何开启https 在本机端的开发环境下,如果要测试一些需要HTTPS的功能可以使用mkcert给自己颁发凭证 0x02 安装步骤如下: 1 ...
- windows环境下sublime的nodejs插件详细安装图解
前面的话 搜索了好多文档后,才成功地安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nodejs官网提供了 ...
- c# windows编程控件学习-1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- c# windows编程控件学习-2
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
随机推荐
- hdu2852--KiKi's K-Number(段树,求第一k的数量)
KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 为了解决这个问题:07文本WORD文档超链接、页码成{HYPERLINK"网站"}、{PAGE}/{NUMPAGES}
版权声明:本文博主原创文章.博客,未经同意不得转载.
- BZOJ 2435 NOI2011 道路建设 BFS/DFS
标题效果:给定一个树(直接将树.不要贪图生成树图!).寻找每条边权值*分差的两侧之间 BFS水必须是能 竟DFS能够住...系统堆栈可能有些不够,我们可以使用内联汇编手册中大型系统堆栈 详见代码 这个 ...
- POJ3581:Sequence(后缀数组)
Description Given a sequence, {A1, A2, ..., An} which is guaranteed A1 > A2, ..., An, you are to ...
- iOS_38_手势
Pan平移手势 终于效果图: Swipe轻扫手势 LongPress长按手势 Pinch和Rotation手势 捏合(缩放)和旋转 终于效果图: 涂鸦 终于效果图: 事件分3大类:触摸.加速计.远程遥 ...
- spark未来的发展方向
spark是採用scala语言开发的基于内存的计算框架,作者Matei Zaharia,在未来的发展方向: 1.spark streaming:提高spark的流处理能力,使得spark更适于通过一套 ...
- inner join on, left join on, right join on
1.定义: inner join(等值连接) : 仅仅返回两个表中联结字段相等的记录 left join(左联接) :返回包含左表中的全部记录和右表中联结字段相等的记录 right join(右联接) ...
- Java 理论与实践: 正确使用 Volatile 变量(转)
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...
- 轻狂写的桌面日历秀NSIS脚本供大家参考学习
原文 轻狂写的桌面日历秀NSIS脚本供大家参考学习 现在共享桌面日历秀的NSIS脚本,以便交流学习.此脚本实现的功能如下: 7-Zip打开看不到内容.自动读取原安装路径,如果有则不允许更改.取得编译日 ...
- ReactJS入门二
ReactJS入门学习二 ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事 ...