FFmpeg添加x265/hevc编码器支持
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编码器支持相关推荐
- Linux下ffmpeg添加 x265
Linux下ffmpeg添加 x265 在linux 上安装ffmpeg 支持h265编码器按照以下步骤: 1.安装 Mercurial : 2.安装CMake 2.8.8 or later: 3.Y ...
- x265 (HEVC编码器,基于x264) 介绍
x265要出来了.简单翻译了一下项目网站首页的介绍. x265是一个开源项目,是一个将视频编码为h.265/高效率的视频编码(HEVC)格式的免费的库,在GNU GPL条款下发布. 它的源代码是免费提 ...
- x265 HEVC编码器,基于x264 介绍
x265要出来了.简单翻译了一下项目网站首页的介绍. x265是一个开源项目,是一个将视频编码为h.265/高效率的视频编码(HEVC)格式的免费的库,在GNU GPL条款下发布. 它的源代码是免费提 ...
- FFmpeg指定x265编码器线程数
转载请注明出处:http://cyc.wiki/index.php/2018/07/17/ffmpeg-x265-threads/ FFmpeg的-threads参数 FFmpeg调用编码器时,一般使 ...
- 树莓派编译安装FFmpeg(添加H.264硬件编解码器支持)
说明 FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,因此本文将详解 ...
- FFmpeg 集成 x265 编译及解码
x265 是一个免费的软件库和应用程序,用于将视频流编码为 H.265/MPEG-H HEVC 压缩格式,并在 GNU GPL 条款下发布. FFmpeg 为了支持 H.265 编.解码可以集成 x2 ...
- FFmpeg源码编译出支持音频AAC编码以及H264,H265编码的库
先决条件: 需要安装msys2(是一个在windows中模拟linux操作系统的软件) 由于在linux中编译ffmpeg比较简单, 所以利用一下msys2, 直接去官网下载安装即可 需要安装visu ...
- 使用ffmpeg添加rtsp字幕流 (t140)
如有错误请指正,谢谢. 使用ffmpeg添加rtsp字幕流 (t140) 使用ffmpeg推送一个视频文件到rtsp非常简单: ffmpeg -re -i subtitle.mkv -vcodec c ...
- Gstreamer中添加x265编解码器
官方的当前gstreamer版本还不支持x265编解码,因此要添加x265,需要自己编译.本文基于gstreamer1.3.3版进行编译安装.需要首先自己编译gstreamer1.3.3,以及相应的b ...
最新文章
- Linux下完全卸载ORACLE 10G的方法
- Nginx安装echo模块
- Django + Uwsgi + Nginx 的生产环境部署项目知识点
- 随机生成 字体大小--转
- cocos2dx 3.x 蒙板 遮罩 点击圆功能
- 大型Java项目架构演进(小白)
- 用Python和Pygame写游戏-从入门到精通(实战三:植物大战僵尸1)
- php 硬盘序号_关于取硬盘序列号
- python推荐系统-Python黑马头条推荐系统项目
- Android实现简单日历
- 如何查看电脑上曾记录的账号密码
- 机器学习实战读书笔记-朴素贝叶斯
- 3DsMax——竹篮制作
- 开发简单Android聊天软件(1)
- 程序员的自我修养 - 读书笔记文字版
- 连接板卡的时候,如何避免每次都设置ip
- 微信小程序canvas2d使用封装与案例使用
- uni-app的基础概念
- 五款音乐小程序,安抚你度过颓废的时光
- java线段绕原点旋转的方法,将点绕坐标原点顺时针旋转得到点的坐标为___________。-九年级数学-魔方格...