• windows编ffmpeg2.2.4和插件h265


    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:MinGWmsys1.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比較快):



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

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

  • 相关阅读:
    swift 动画
    WCF身份验证二:基于消息安全模式的自定义身份验证
    WCF身份验证一:消息安全模式之<Certificate>身份验证
    SQL Server 事务与锁
    C# 6.0 的新特性
    SQL Cursor 游标的使用
    C# 几种读取MAC地址的方法
    C# 获取方法所在的 命名空间 类名 方法名
    SQL Server 日志清除
    C# 利用WMI对象获取物理内存和可用内存大小
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4644865.html
Copyright © 2020-2023  润新知