流媒体技术学习笔记之(十七)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.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 developersD:\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 3.3《希尔伯特》-新版本的亮点相关推荐
- 流媒体技术学习笔记之(十八)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 ...
- 流媒体技术学习笔记之(九)减少VLC 延迟的方法
之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg.而且这款播放器还支持RTSP协议,这个 ...
- easydarwin 安装_流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin-阿里云开发者社区...
流媒体平台框架下载安装 Github下载 解压安装 选择Windows 安装平台的安装包(下载解压) 把解压生成的文件夹重命名放在本地磁盘,我这里测试放在E盘: 介绍其中的来个批处理文件: start ...
- videojs 卡顿_流媒体技术学习笔记之(四)解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了...
总结: 说明: 测试环境:本测试全部来自阿里云直播和OSS存储点播以及本地服务器直播和点播 播放器:VideoJs 直播: 1.阿里云直播,需要CDN设置HTTP头 2.本地直播需要设置直播访问服务器 ...
- java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)
原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...
- OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc
OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...
- 小五思科技术学习笔记之SSH
下面介绍一下相关概念: SSH的概念: SSH的英文全称为Secure Shell,SSH使用TCP的22号端口,其目的是要在非安全的网络上提供安全的远程登陆和其他安全的网络服务, 为什么要使用SSH ...
- 设计模式学习笔记(十七)——Command命令模式
设计模式学习笔记(十七)--Command命令模式 Command命令模式介绍: Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,"行为请求者"与 ...
最新文章
- Linux安全检查方法
- pandas使用groupby函数、agg函数获取每个分组聚合对应的均值(mean)实战:计算分组聚合单数据列的均值、计算分组聚合多数据列的均值
- php处理异步请求_PHP实现异步调用方法研究
- 第一个dotnetcore程序,Hello World
- CTFshow 命令执行 web56
- vs创建html页面提示未找到,VS2015 打开html 提示 未能完成操作 解决办法
- 08-CoreData学习总结
- 关于怎么在手机端实现一个拖拽的操作
- 反编译软件ILSpy的使用教程
- 6款强烈推荐的PDF阅读器
- 保障4-0618任务打卡
- 【Axure原型分享】会议管理原型模板
- Face Recognition 人脸识别该如何测试
- 【业务安全02】业务数据安全
- win10 docker镜像导入导出
- 计算机科学与工程学院团委,湖南科技大学计算机科学与工程学院
- shell中的括号(小括号,大括号/花括号)的使用方法
- 怎样恢复sd卡数据?靠这几个方法
- Android GPU呈现模式分析功能,手机流畅度。仅供参考
- Adobe PhotoShop安装程序无法初始化的解决办法
热门文章
- 好意外,发现永久免费使用的云服务器
- 全局热键给截图自动加水印并win10系统通知
- Android Unable to delete file: build\intermediates\manifests\full\debug\AndroidManifest.xm
- oracle误删数据恢复方法
- 深度剖析 Vue3 如何通过虚拟DOM更新页面
- 为什么大学生活这么充实(累)
- Apache Pulsar 首场亚洲峰会议题出炉:聚焦实战案例,火热报名中
- 河南大学计算机学院吴哲2008年,计算机与信息工程学院86级校友荣归母校
- 插件化原理解析——广播的管理
- DBeaver配置phoenix