硬件加速简介

使用专用硬件(通常集成到GPU)对视频处理进行加速,比如解码、编码或filter等操作[1]。

优点:

  • 比软件处理速度快。
  • 减少CPU的负荷,更省电。
  • 避免数据拷贝。许多硬件解码器能够生成输出到硬件设备(比如显存)的surface,这意味渲染输出之前不需要额外的数据拷贝。在某些情况下,它还可以支持硬件设备的surface输入与编码器一起使用,以避免在转码时候的数据拷贝。

缺点:

  • 硬件编码器生成的输出质量通常比好的软件编码器低得多[1]。
  • 硬件加速方案依赖于各硬件和平台的支持,没有统一的方案。
  • 对于特定处理(比如编解码)硬件加速的支持和更新迭代速度慢。

关于硬件加速的详细介绍参见[2][3]。

FFmpeg 硬件加速各环境支持情况

硬件加速API在各系统和硬解环境的支持情况如下[1]。

FFmpeg实现的API的情况如下[1]。

FFmpeg命令行工具使用硬件加速

  • -hwaccel选项启用硬件解码器。

    • 软件解码器会正常启动,如果它检测到一个硬件可解码的流,将尝试将所有重要的处理交给硬件。如果流在硬件中不可解码,那么将自动使用软件解码。
  • -hwaccel_device选项指定特定的硬件设备(比如有多个显卡可用)。
  • -codec:v选项设置特定的编解码器,适用于外部包装的编解码器。
    • 通常将它们命名为codec_api(例如:h264_cuvid),要求事先知道编解码器的名称。
    • 如果不支持不会回退到软件编解码。
  • 硬件filter可以像其他filter一样在filtergraph中使用。
    • 存在硬件filter与软件filter支持的格式不同的情况,需要使用hwuploadhwdownload filter在硬件surface和内存之间拷贝数据。

【扫码进君 羊,免费分享】资料包括《Andoird音视频开发必备手册+音视频学习视频+学习文档资料包+大厂面试真题+2022最新学习路线图》等等

示例:
1. 使用NVENC进行h264编码:

ffmpeg -s 1280*720 -i input_yuv -c:v h264_nvenc -pixel_format yuv420p -preset default output.mp4

2. NVEDC进行h264解码

ffmpeg -hwaccel nvdec -i input.mp4 output_yuv

FFmpeg 硬件加速介绍相关推荐

  1. ffmpeg 硬件加速 wmv 视频转码

    基于 Windows 下演示,Linux 下也可以通用.建议先阅读关于使用硬件加速的基础部分.文章链接:ffmpeg 硬件加速视频转码指南 后文将会演示 wmv3 以及 vc1 编码的 wmv 格式视 ...

  2. Mac OSX ffmpeg 硬件加速

    Mac OSX ffmpeg 硬件加速 [toc] 首先下载最新版ffmpeg 3.3.4 安装x264 下载安装包编译安装 brew install x264 (推荐,未安装brew的请查看brew ...

  3. FFmpeg 硬件加速(硬解码)介绍

    参考地址 概述   本文主要针对ffmpeg支持的硬解码做一个总结阐述.   许多平台提供对专用硬件的访问,以执行一系列与视频相关的任务.使用此类硬件可以更快地完成某些操作,例如解码.编码或过滤,或者 ...

  4. FFmpeg 硬件加速方案概览 (下)

    被称为"多媒体技术领域的瑞士军刀",FFmpeg拥有广泛的应用基础.不过,当(实时)处理海量视频时,需要借助各种方法提升效率.比如,短视频平台Revvel将视频转码服务迁移到AWS ...

  5. ffmpeg 硬件加速视频转码指南

    0. 系统环境 基于 Windows 下演示,Linux 下也可以适用. 所使用 ffmpeg 版本为 BtbN 编译的 win64-gpl 版(非 gpl-share),项目地址:BtbN / FF ...

  6. FFmpeg 硬件加速方案概览 (上)

    被称为"多媒体技术领域的瑞士军刀",FFmpeg拥有广泛的应用基础.不过,当(实时)处理海量视频时,需要借助各种方法提升效率.比如,短视频平台Revvel将视频转码服务迁移到AWS ...

  7. Android硬件加速介绍与实现

    概述 在手机客户端尤其是Android应用的开发过程中,我们经常会接触到"硬件加速"这个词.由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原理了解很少,也 ...

  8. 树莓派 —— 安装RaspberryPi系统(为了编译ffmpeg硬件加速)

    背景      最近项目上采购了一台"云盒"设备,该设备功能是将输入的rtsp转封装后直接推流到指定公网的rtmp服务器或将输入的hdmi视频数据通过硬编码后推流到指定的公网rtm ...

  9. [FFMPEG硬件加速]nvidia方案

    1.目标 <1>显卡性能参数: <2>方案可行性: 2.平台信息 2.1.查看当前显卡信息 命令:  lspci |grep VGA  信息:  01:00.0 VGA com ...

  10. FFmpeg在Intel GPU上的硬件加速与优化

    英特尔提供了一套基于VA-API/Media SDK的硬件加速方案,通过在FFmpeg中集成Intel GPU的媒体硬件加速能力,为用户提供更多的收益.本文来自英特尔资深软件开发工程师赵军在LiveV ...

最新文章

  1. 机器学习与数据挖掘网上资源搜罗——良心推荐
  2. VS2010强大的一塌糊涂
  3. Codeforces632E Thief in a Shop(NTT + 快速幂)
  4. 谁人来帮库克卖“苹果”?
  5. PC串行接口串口定义
  6. 【C++】2048游戏系列---功能模块第四稿【结束检测】
  7. 计算机显卡类型有,显卡类型分几种|笔记本显卡类型
  8. 国产首发:上海川土微电子数字接口电源数字隔离芯片模拟芯片领导者
  9. 【Mybatis学习路线】day02mybatis的增删改查操作
  10. 用python把图片换成蓝底_Python给照片换底色(蓝底换红底)
  11. 元宇宙都市传说02:《头号玩家》的隐喻
  12. 使用CacheFS+TmpFS加速NFS读取速度
  13. Java中的经典算法之冒泡排序(Bubble Sort)
  14. 给大家讲个笑话,拿了个offer,因为体检查出脂肪肝,公司把我拒绝了!
  15. 【黑科技】:AI 图片无损放大工具 果核图片放大
  16. 静态存储区与动态存储区
  17. 乔布斯与他的完美主义
  18. http长连接与短连接
  19. 云话首次跨界合作 移动APP再推新潮
  20. triplus在matlab字函数,[理学]第7章 MATLAB在信号处理中的应用.ppt

热门文章

  1. 计算机二级没有学院盖章,二级学院盖章.DOC
  2. 优点三维逆向建模——消除实景三维应用后顾之忧
  3. 大话跨度原始服务器信息怎么去除,大话西游2合服历史:独家整理 寻找你最初的服务器...
  4. java处理金额大写为数字,Java中金额数字转换为大写数字
  5. python打印100以内质数_python输出100以内的质数与合数实例代码
  6. 用python计算100以内所有奇数的和_Python-while 计算100以内奇数和的方法
  7. cpolar——安全的内网穿透工具
  8. IPython安装使用详解
  9. 【蓝桥杯单片机组模块】15、PWM学习(总结版)
  10. 一名QQ老用户:致腾讯和马化腾的一封信