FFmpeg添加了对流行hevc编码器x265的支持极大的方便了编解码场景的融合应用。以下记录说明在windows下编译带libx265编码器的FFmpeg。

环境

Windows7 + VisualStudio2015

FFmpeg编译环境搭建

请参考我的博文Windows下编译FFmpeg

X265编译

请参考我的博文Windows下编译x265

libx265环境配置

由于FFmpeg的Configure是采用pkg-config来查找依赖库libs和头文件includes的,因此需要配置x265的pc文件让configure找到所依赖的环境。

启动msys.bat(编译FFmpeg搭建MinGW环境命令行),在/local/lib/pkgconfig文件夹下创建文件x265.pc

prefix=/local/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/includeName: x265
Description: H.265/HEVC video encoder
Version: 2.8
Libs: -L${libdir} -lx265
Libs.private:
Cflags: -I${includedir}
1. 配置依赖库libs

拷贝x265编译结果中的libx265.lib和x265-static.lib至/local/lib文件夹下。并复制libx265.lib为x265.lib

2. 配置头文件

拷贝x265.h和x265_config.h至/local/include文件夹下

3. 配置动态链接库

拷贝libx265.dll和x265.exe至/local/bin文件夹下

编译安装

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/local/lib/pkgconfig

执行pkg-config --list-all确保已经正确查找到x265

./configure --toolchain=msvc --enable-gpl --enable-libx265

make -j4

make install

使用测试

测试264 ts流转265 ts流, 采用默认参数

ffmpeg -i bq.ts -vcodec hevc h265.ts

打印如下:

x265 [info]: HEVC encoder version 2.8+21-gccd9e41ba
x265 [info]: build info [Windows][MSVC 1900][32 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 B
MI2 AVX2
x265 [info]: Main profile, Level-3 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 2 / wpp(9 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing
x265 [info]: tools: deblock sao
Output #0, mpegts, to 'h265_2.ts':
  Metadata:
    encoder         : Lavf58.17.100
    Stream #0:0: Video: hevc (libx265), yuv420p, 528x576 [SAR 16:11 DAR 4:3], q=
2-31, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.20.102 libx265
    Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s
    Metadata:
      encoder         : Lavc58.20.102 mp2
frame=   29 fps= 27 q=-0.0 size=      32kB time=00:00:01.35 bitrate= 191.6kbits/
frame=   32 fps= 17 q=-0.0 size=      51kB time=00:00:01.50 bitrate= 276.4kbits/
frame=   33 fps= 13 q=-0.0 size=      57kB time=00:00:01.50 bitrate= 309.4kbits/

frame=   34 fps= 11 q=-0.0 size=      65kB time=00:00:01.52 bitrate= 349.9kbits/

FFmpeg添加x265/hevc编码器支持相关推荐

  1. Linux下ffmpeg添加 x265

    Linux下ffmpeg添加 x265 在linux 上安装ffmpeg 支持h265编码器按照以下步骤: 1.安装 Mercurial : 2.安装CMake 2.8.8 or later: 3.Y ...

  2. x265 (HEVC编码器,基于x264) 介绍

    x265要出来了.简单翻译了一下项目网站首页的介绍. x265是一个开源项目,是一个将视频编码为h.265/高效率的视频编码(HEVC)格式的免费的库,在GNU GPL条款下发布. 它的源代码是免费提 ...

  3. x265 HEVC编码器,基于x264 介绍

    x265要出来了.简单翻译了一下项目网站首页的介绍. x265是一个开源项目,是一个将视频编码为h.265/高效率的视频编码(HEVC)格式的免费的库,在GNU GPL条款下发布. 它的源代码是免费提 ...

  4. FFmpeg指定x265编码器线程数

    转载请注明出处:http://cyc.wiki/index.php/2018/07/17/ffmpeg-x265-threads/ FFmpeg的-threads参数 FFmpeg调用编码器时,一般使 ...

  5. 树莓派编译安装FFmpeg(添加H.264硬件编解码器支持)

    说明 FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,因此本文将详解 ...

  6. FFmpeg 集成 x265 编译及解码

    x265 是一个免费的软件库和应用程序,用于将视频流编码为 H.265/MPEG-H HEVC 压缩格式,并在 GNU GPL 条款下发布. FFmpeg 为了支持 H.265 编.解码可以集成 x2 ...

  7. FFmpeg源码编译出支持音频AAC编码以及H264,H265编码的库

    先决条件: 需要安装msys2(是一个在windows中模拟linux操作系统的软件) 由于在linux中编译ffmpeg比较简单, 所以利用一下msys2, 直接去官网下载安装即可 需要安装visu ...

  8. 使用ffmpeg添加rtsp字幕流 (t140)

    如有错误请指正,谢谢. 使用ffmpeg添加rtsp字幕流 (t140) 使用ffmpeg推送一个视频文件到rtsp非常简单: ffmpeg -re -i subtitle.mkv -vcodec c ...

  9. Gstreamer中添加x265编解码器

    官方的当前gstreamer版本还不支持x265编解码,因此要添加x265,需要自己编译.本文基于gstreamer1.3.3版进行编译安装.需要首先自己编译gstreamer1.3.3,以及相应的b ...

最新文章

  1. Linux下完全卸载ORACLE 10G的方法
  2. Nginx安装echo模块
  3. Django + Uwsgi + Nginx 的生产环境部署项目知识点
  4. 随机生成 字体大小--转
  5. cocos2dx 3.x 蒙板 遮罩 点击圆功能
  6. 大型Java项目架构演进(小白)
  7. 用Python和Pygame写游戏-从入门到精通(实战三:植物大战僵尸1)
  8. php 硬盘序号_关于取硬盘序列号
  9. python推荐系统-Python黑马头条推荐系统项目
  10. Android实现简单日历
  11. 如何查看电脑上曾记录的账号密码
  12. 机器学习实战读书笔记-朴素贝叶斯
  13. 3DsMax——竹篮制作
  14. 开发简单Android聊天软件(1)
  15. 程序员的自我修养 - 读书笔记文字版
  16. 连接板卡的时候,如何避免每次都设置ip
  17. 微信小程序canvas2d使用封装与案例使用
  18. uni-app的基础概念
  19. 五款音乐小程序,安抚你度过颓废的时光
  20. java线段绕原点旋转的方法,将点绕坐标原点顺时针旋转得到点的坐标为___________。-九年级数学-魔方格...

热门文章

  1. 手机远程服务器rd,手机远程连接服务器工具:RD client远程桌面使用教程
  2. AutoJs学习-实现自动刷快手极速版
  3. 移动支付探索海外,将普及全球
  4. 理解快速排序 | 打通算法学习的任督二脉
  5. java基础常见面试题
  6. 扫地机器人漫谈(一):扫地机的形状
  7. 直播的下个关键词会是“美好”吗?
  8. ※ 数值信息——除二取余
  9. 企业微信如何发成绩给家长-Leo老师来教你
  10. Redis(基于狂神说Java-Redis)