流媒体技术学习笔记之(十七)FFmpeg 3.3《希尔伯特》-新版本的亮点
FFmpeg 3.3“Hilbert”,一个新的主要版本的一些亮点:
- 苹果Pixlet解码器
- NewTek SpeedHQ解码器
- QDMC音频解码器
- PSD(Photoshop Document)解码器
- FM屏幕捕获解码器
- ScreenPressor解码器
- XPM解码器
- DNxHR解码器修复了HQX和高分辨率视频
- ClearVideo解码器(部分)
- 16.8和24.0浮点PCM解码器
- 英特尔QSV加速VP8视频解码
- 本机Opus编码器
- DNxHR 444和HQX编码
- (M)JPEG编码器的质量改进
- VAAPI加速MPEG-2和VP8编码
- 超前视频过滤器
- 摄像机多媒体过滤器
- readeia608过滤器
- 阈值滤波器
- 过滤器
- MPEG-7视频签名过滤器
- 添加内部ebur128库,删除外部libebur128依赖
- 英特尔QSV视频缩放和去隔行滤波器
- 示例转储交换解码器
- MIDI样品转储标准分解器
- 幕墙封闭字幕解码器和复用器
- 支持MOV多个样品说明表
- Pro-MPEG CoP#3-R2 FEC协议
- 支持球形视频
- CrystalHD解码器移动到新的解码API
- 如果自动检测库被请求但未找到,则配置将失败
- 我们强烈建议用户,分销商和系统集成商升级,除非他们使用当前的git master。
下面我们测试下:英特尔QSV加速VP8视频解码(Intel QSV-accelerated VP8 video decoding)
前期准备工作:
1、查看你的CUP是否支持英特尔QSV加速:https://ark.intel.com/Search/FeatureFilter?productType=processors&QuickSyncVideo=true
2、查看本系统的处理器信息【Intel® Core™ i3-4160】
3、在Inel列表中查询自己的处理器型号,我的如下所示:
可以看出,本机处理器是支持的。
windows如何安装FFmpeg,在另外一篇博客,地址:流媒体视频编码之————Windows安装FFmpeg
4、FFmpeg 支持的编码查询命令: ffmpeg -codecs
DEV.LS h264 H. / AVC / MPEG- AVC / MPEG- part
(decoders: h264 h264_qsv libopenh264 h264_cuvid )
(encoders: libx264 libx264rgb libopenh264 h264_nvenc h264_qsv nvenc nvenc_h264 )
说明:出现以上信息表示是支持 英特尔QSV加速VP8视频解码的
5、列出此构建ffmpeg支持的所有硬件加速方法: ffmpeg -hwaccels
一、不使用英特尔QSV加速VP8视频解码
(1)命令行
ffmpeg -i c.mkv -acodec copy -vcodec libx264 no-qsv.mp4
(2)执行打印信息
(3)CPU和内存消耗
CPU(93%)和内存(414,912K)
二、使用英特尔QSV加速VP8视频解码
注意:为了是测试能够更好的工作,解码器和编码器都必须支持QSV加速度,并且不能使用滤波器
1、普通 ffmpeg
(1)命令行
F:\Tinywan\FFmpeg\Ver-Test>ffmpeg -hwaccel qsv -c:v h264_qsv -i c.mkv -look_ahead -c:v h264_qsv -preset veryfast out001-.mp4
参数说明:
(1) -hwaccel[:stream_specifier] hwaccel (input,per-stream) ,使用硬件加速来解码匹配的流,获取更多http://ffmpeg.org/ffmpeg-all.html
(2)执行打印信息
(3)CPU和内存消耗
CPU(27%)和内存(175.868K)
2、windows下自己编译的3.3.2版本
(1)命令行
F:\Tinywan\FFmpeg\Ver-Test>D:\ffmpeg-hw-win32\static\x86_64\bin\ffmpeg.exe -version
ffmpeg version 3.3. Copyright (c) - the FFmpeg developers D:\ffmpeg-hw-win32\static\x86_64\bin\ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i c.mkv -look_ahead -c:v h264_qsv -preset veryfast out002-.mp4 -y
(2)执行打印信息
(3)CPU和内存消耗
CPU(27%)和内存(178.596K)
3、官网下载的最新的3.4 版本
F:\Tinywan\FFmpeg\Ver-Test>D:\ffmpeg3.\bin\ffmpeg.exe -version
ffmpeg version N--g7480f232d2 Copyright (c) - the FFmpeg developers
built with gcc 7.2. (GCC) D:\ffmpeg3.\bin\ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i c.mkv -look_ahead -c:v h264_qsv -preset veryfast out003-.mp4 -y
(2)执行打印信息
(3)CPU和内存消耗
CPU(28%)和内存(177.744K)
三、使用NVDIA GPU的全硬件加速转码
ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i <input.mp4> -vf scale_npp=: -c:v h264_nvenc <output.mp4>
参考:
1、https://github.com/illuspas/ffmpeg-hw-win32
2、https://trac.ffmpeg.org/wiki/HWAccelIntro
3、https://trac.ffmpeg.org/wiki/Hardware/VAAPI
四、总结
如果是视频编码,尽量采用硬件加速去实现,可惜阿里云现在没有啊!
流媒体技术学习笔记之(十七)FFmpeg 3.3《希尔伯特》-新版本的亮点的更多相关文章
- 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.co ...
- 流媒体技术学习笔记之(十三)Windows安装FFmpeg
一.下载地址: 网址:https://ffmpeg.org/ 选择Windows版本:https://ffmpeg.org/download.html#build-windows 二.解压安装: 下载 ...
- 流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务
FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy ...
- 流媒体技术学习笔记之(十八)Ubuntu 16.04.3 如何编译 FFmpeg 记录
官方文档:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu 一.最简单安装: apt-get install ffmpeg 二.安装最新版本 大 ...
- 流媒体技术学习笔记之(十五)FFmpeg编码遇到的错误、警告、Debug记录
When encoding H.264 using ffmpeg I get the following type of warnings en masse: Past duration 0.6063 ...
- 流媒体技术学习笔记之(六)FFmpeg官方文档先进音频编码(AAC)
先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV( ...
- 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin
流媒体平台框架下载安装 Github下载 下载地址:https://github.com/EasyDarwin/EasyDarwin/releases 解压安装 选择Windows 安装平台的安装包( ...
- 流媒体技术学习笔记之(十)HLS协议直播延时优化(35s到10S)
1.首先要了解HLS延时的机制,也就是为什么会延时,延时主要发生在什么地方. HTTP Live Streaming 并不是一个真正实时的流媒体系统,这是因为对应于媒体分段的大小和持续时间有一定潜在的 ...
- 流媒体技术学习笔记之(九)减少VLC 延迟的方法
之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg.而且这款播放器还支持RTSP协议,这个 ...
随机推荐
- Notepad++ 大小写转换
code_field_text 普通文本 code_field_user_id 用户ID code_field_customer_id 客户ID code_field_dict 数据字典 code_f ...
- SQLSERVER 备份数据库的注意事项
1. SQLSERVER 有一个压缩备份集的功能,能够实现大概15%的压缩比(跟数据类型不同而不同) 之前竟然没发现...浪费了好多磁盘资源.. 多学习多思考..
- webpack4.x相关笔记整理
概念 Webpack是一个模块打包机,它可以将我们项目中的所有js.图片.css等资源,根据其入口文件的依赖关系,打包成一个能被浏览器识别的js文件.能够帮助前端开发将打包的过程更智能化和自动化. W ...
- jquery中append、prepend, before和after方法的区别
1.prepend() .append()方法在被选元素的开头/结尾插入文本/HTML: 2.before().after()方法在被选元素之前/之后插入内容: append() & prep ...
- hive数据类型
- __slots__用法以及优化
其实也是无意之中又看到这个东西,这次索性再记一下,免得下次忘记又再看一遍,往复循环浪费了太多时间. __slots__其实我做项目这么久还没有主动使用过.下面reference有提到这么一句话 War ...
- Java中的浮点型(Double&Float)计算问题
在刚刚做完的一个项目中,遇到了double型计算不精确的问题.到网上查找后,问题得到解决.经验共享,在这里总结一下. Java中的浮点数类型float和double不能够进行精确运算.这个问题有时候非 ...
- jquery为表格行添加上下移动画效果
为项目列表项添加上下移动动画.首先想使用jquery animate来做到这一点.但我用的是table和tr作为列表和列表项,但jquery动画方法不支持table里的tr(Animations ar ...
- pip download 只下载不安装命令的使用方法
比如下载 django 1.8.11版本和simplejson 3.14.0版本的包 那么就将所需的包写入 requirement.txt 那么我的requirement.txt内容就是: djan ...
- 牛客国庆集训派对Day2 H 期望
小贝喜欢玩卡牌游戏.某个游戏体系中共有N种卡牌,其中M种是稀有的.小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝.普通卡可能多次出现,而稀有卡牌不会被重复抽到.小 ...