zoukankan      html  css  js  c++  java
  • 流媒体技术学习笔记之(十七)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:TinywanFFmpegVer-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:TinywanFFmpegVer-Test>D:ffmpeg-hw-win32staticx86_64inffmpeg.exe -version
    ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
    
    D:ffmpeg-hw-win32staticx86_64inffmpeg.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:TinywanFFmpegVer-Test>D:ffmpeg3.4inffmpeg.exe -version
    ffmpeg version N-87871-g7480f232d2 Copyright (c) 2000-2017 the FFmpeg developers
    built with gcc 7.2.0 (GCC)
    
    D:ffmpeg3.4inffmpeg.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 

    四、总结

    如果是视频编码,尽量采用硬件加速去实现,可惜阿里云现在没有啊!

  • 相关阅读:
    time模块
    Python进程模块
    Django面试题
    基本命令行语句
    scrapy中的配置与中间件
    JSON编码于解码对应dump于load
    python操作数据库
    Python里的方法
    正则表达式
    Python常用模块
  • 原文地址:https://www.cnblogs.com/tinywan/p/7686488.html
Copyright © 2011-2022 走看看