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《希尔伯特》-新版本的亮点的更多相关文章

  1. 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.co ...

  2. 流媒体技术学习笔记之(十三)Windows安装FFmpeg

    一.下载地址: 网址:https://ffmpeg.org/ 选择Windows版本:https://ffmpeg.org/download.html#build-windows 二.解压安装: 下载 ...

  3. 流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务

    FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy ...

  4. 流媒体技术学习笔记之(十八)Ubuntu 16.04.3 如何编译 FFmpeg 记录

    官方文档:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu 一.最简单安装: apt-get install ffmpeg 二.安装最新版本 大 ...

  5. 流媒体技术学习笔记之(十五)FFmpeg编码遇到的错误、警告、Debug记录

    When encoding H.264 using ffmpeg I get the following type of warnings en masse: Past duration 0.6063 ...

  6. 流媒体技术学习笔记之(六)FFmpeg官方文档先进音频编码(AAC)

    先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV( ...

  7. 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin

    流媒体平台框架下载安装 Github下载 下载地址:https://github.com/EasyDarwin/EasyDarwin/releases 解压安装 选择Windows 安装平台的安装包( ...

  8. 流媒体技术学习笔记之(十)HLS协议直播延时优化(35s到10S)

    1.首先要了解HLS延时的机制,也就是为什么会延时,延时主要发生在什么地方. HTTP Live Streaming 并不是一个真正实时的流媒体系统,这是因为对应于媒体分段的大小和持续时间有一定潜在的 ...

  9. 流媒体技术学习笔记之(九)减少VLC 延迟的方法

    之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg.而且这款播放器还支持RTSP协议,这个 ...

随机推荐

  1. Java用JSoup组件提取asp.net webform开发网页的viewstate相关相关参数

    /** * 从页面中提取特定input的的Value * @param formparams * @param document * @param elementId */ private void ...

  2. 暂时刷完leetcode的一点小体会

    两年前,在实习生笔试的时候,笔试百度,对试卷上很多问题感到不知所云,毫无悬念的挂了 读研两年,今年代笔百度,发现算法题都见过,或者有思路,但一时之间居然都想不到很好的解法,而且很少手写思路,手写代码, ...

  3. socketserver及相关的类 (处理socket服务端)+ event事件的使用

    编写简单的套接字服务器并不难,然而,如果要创建的并非简单服务器,还要求助于服务器模块. 模块SocketServer是标准库提供的服务器框架的基石,这个框架包括好多服务器,他们基本服务器的基础上添加了 ...

  4. 同步工具:CountDownLatch、CyclicBarrier和Semaphore

    1. CountDownLatch 1.1 功能及使用场景 一个同步工具,使得一个或多个线程等待一组线程执行完成后再执行. 使用场景:等待一些前置任务执行完成后,再执行特定的功能.比如,系统启动时,各 ...

  5. Visual Studio Code之常备快捷键

    官方快捷键大全:https://code.visualstudio.com/docs/customization/keybindings Visual Studio Code是个牛逼的编辑器,启动非常 ...

  6. Nginx referer防盗链模块

    L75 referer模块 ngx_http_referer_module 默认编译进nginx valid_referers 指令 Syntax: valid_referers none | blo ...

  7. [代码]--C#action和func的使用

    以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...

  8. mvc Filters 过滤器

    项目需要控制controller和action的访问权限. 看了下资料,发觉还是很方便的. 首先在mvc项目下创建一个文件夹 Filters, 然后在Filters中创建一个类.代码如下 namesp ...

  9. MT【60】几个不常见的函数图像

    此讲部分内容属于课外阅读拓展,学有余力的可以看看. [We need to know, and we will know.]----大卫·希尔伯特(1862-1943) $y=sin\frac{1}{ ...

  10. DP的各种优化(动态规划,决策单调性,斜率优化,带权二分,单调栈,单调队列)

    前缀和优化 当DP过程中需要反复从一个求和式转移的话,可以先把它预处理一下.运算一般都要满足可减性. 比较naive就不展开了. 题目 [Todo]洛谷P2513 [HAOI2009]逆序对数列 [D ...