流媒体技术学习笔记之(十七)FFmpeg 3.3《希尔伯特》-新版本的亮点
2017-10-18 14:25
525 查看
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.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (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 0 -c:v h264_qsv -preset veryfast out001-1.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.2 Copyright (c) 2000-2017 the FFmpeg developers D:\ffmpeg-hw-win32\static\x86_64\bin\ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i c.mkv -look_ahead 0 -c:v h264_qsv -preset veryfast out002-1.mp4 -y
(2)执行打印信息
(3)CPU和内存消耗
CPU(27%)和内存(178.596K)
3、官网下载的最新的3.4 版本
F:\Tinywan\FFmpeg\Ver-Test>D:\ffmpeg3.4\bin\ffmpeg.exe -version ffmpeg version N-87871-g7480f232d2 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.2.0 (GCC) D:\ffmpeg3.4\bin\ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i c.mkv -look_ahead 0 -c:v h264_qsv -preset veryfast out003-1.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=1280:720 -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进行笔记本摄像头+麦克风实现流媒体直播服务
- 流媒体技术学习笔记之(十八)Ubuntu 16.04.3 如何编译 FFmpeg 记录
- 流媒体技术学习笔记之(十三)Windows安装FFmpeg
- 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
- 流媒体技术学习笔记之(六)FFmpeg官方文档先进音频编码(AAC)
- 流媒体技术学习笔记之(十五)FFmpeg编码遇到的错误、警告、Debug记录
- 流媒体技术学习笔记之(九)减少VLC 延迟的方法
- 流媒体技术学习笔记之(十六)H264编码profile & level控制
- 流媒体技术学习笔记之(五)码流、码率、采样率、比特率、帧速率、分辨率、高清视频的概念
- 流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)
- 流媒体技术学习笔记之(十二)Linux(Ubuntu)环境运行EasyDarwin
- 流媒体技术学习笔记之(十)HLS协议直播延时优化(35s到10S)
- 【流媒体】【学习笔记】HTTP Live Streaming (HLS) 视频直播技术
- 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin
- 流媒体技术学习笔记之(七)进阶教程OBS参数与清晰度流畅度的关系
- android 学习笔记(三) Android学习路线之3.3程序员技术练级攻略
- 流媒体与直播技术学习笔记
- 流媒体技术学习笔记之(三)Nginx-Rtmp-Module统计某频道在线观看流的客户数
- 流媒体技术学习笔记之(八)海康、大华IpCamera RTSP地址和格式
- 流媒体技术学习笔记之(十八)互联网草案HTTP直播流2017年5月