电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于FFmpeg+VAAPI的硬件加速渲染技术

7页
  • 卖家[上传人]:自***
  • 文档编号:35148426
  • 上传时间:2018-03-10
  • 文档格式:PDF
  • 文档大小:537.43KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 基于 FFmpeg+V AAPI 的 硬件加速渲染 技术 基于 FFmpeg+VAAPI 的硬件加速渲染技术 2 目录 1. 写在前 面 . 3 2. 实现方 案 . 3 2.1 相关环 境部 署 . 3 2.2 代码实 现 . 5 3. 测试结 果 . 6 4. 写在最 后 . 7 基于 FFmpeg+VAAPI 的硬件加速渲染技术 3 1. 写在前 面 硬件加速 即 利用 GPU 来完 成图形 相关 的 操 作, 将 CPU 空闲出 来处 理其 他事 务 ,特别 是 在 CPU 性能不足 的 情况 下 ,此类 操作 就更 必要 了 。 在视频 处理 上,DXV A 是微软定 制的 视 频加速 规范 ,而在 Linux 平台 上 则是 由 NVIDIA 和 Intel 分别提 供的 VDPAU 和 V AAPI 加速 规范。 利用 上述 API 可以 有效加 速 视 频解 码和 图像 处理 , 降低 系统 CPU 占用 ,提升 系统 性 能 。更 详细 的信 息请 参 考 http: / 。 2. 实现方案 针对 Intel CPU X86 架构 平台, 灵跃 桌面 云推 荐大 家

      2、 可采 用 FFmpeg+V AAPI 的硬解 方 案 。其 中,FFmpeg 用于 处 理 各种 格式 的视频 解码 ;V AAPI 则提 供对 硬件 加速 视 频处理 的访 问 ,处 理 流 程图 如下 。 视频数据 FFmpeg 组件 VAAPI VAAPI 库 X-Window 显 示 终端显示器 avcode2.1 相关 环境 部署 (一)安装依赖包 # apt-get install autoconf automake debhelper ladspa-sdk libsoundio-dev libbluray-dev libbs2b-dev libcaca-dev libcdio-paranoia-dev libdvdnav-dev libdvdread-dev libegl1-mesa-dev libenca-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev libgbm-dev libgme-dev libgnutls28- dev libgsm1-dev libguess-de

      3、v libharfbuzz-dev libjack-jackd2-dev libjpeg-dev liblcms2-dev liblircclient- dev liblua5.3-dev libmodplug-dev libmp3lame-dev libnetcdf-dev libopenal-dev libopus-dev libopencore- amrnb-dev libopencore-amrwb-dev libpulse-dev librtmp-dev librubberband-dev libschroedinger-dev libsmbclient-dev libssh-dev libsoxr-dev libspeex-dev libtheora-dev libtool libtwolame-dev libuchardet- dev libv4l-dev libva-dev libvorbis-dev libvo-amrwbenc-dev libvpx-dev libwavpack-dev libx264-dev libx265-dev libx11-dev libxe

      4、xt-dev libxinerama-dev libxrandr-dev libxss-dev libxv-dev libxvidcore-dev pkg-config python python-docutils x11proto-core-dev yasm zlib1g-dev (二)安装 libva 进入当 前用 户 目 录, 并下 载 libva 源码 包: 基于 FFmpeg+VAAPI 的硬件加速渲染技术 4 # cd #git clone https:/ 进入 libva 文件夹 中 , #cd libva 切换 到 1.7.3 版本 : # git checkout libva-1.7.3 执行编 译安 装: ./autogen.sh & ./configure & make & make install 运行 vainfo 查看执 行结 果 图中红 框 内 表示 当前 所支持 硬解 的视 频压缩 格式 。 (三) 安装 FFmpeg 进入当 前用 户 目 录, 并下 载 FFmpeg 源码 包 # cd #git clone https:/git.ffmpeg.org

      5、/ffmpeg.git ffmpeg 进入 FFmpeg 文件 夹中 , #cd ffmpeg 执行编 译安 装 ./configure -disable-static -enable-shared -enable-gpl -enable-version3 -disable-debug -enable-vaapi &make & make install 最后执 行 ffmpeg 查看 执行 结果 。 基于 FFmpeg+VAAPI 的硬件加速渲染技术 5 2.2 代码 实现 (一)视频 播放原理 简单来说, 视频 播放器 在播放本地视 频文 件 需 要 经历 以下步骤:解封装 , 解码 , 音视 频帧同 步 , 最终 会把 数据 投递到 对应 的驱 动设 备, 具体过 程如 下图 所示 : 视 频 数 据 解 封 装 视 频 解 码 音 视 频 同 步 视 频 设 备 音 频 设 备 封装格 式 视频压缩数 据 原始数 据( 二)VAAPI 解码流程 当程序把 视 频 的 压 缩 数 据 传递 到 V AAPI 解码模块时 , 会 根 据 视 频 的压缩格式( 如 H.264.MPE

      6、G-2 等) 创建对 应 的 VA Decoder ,然后 把 数据送 入 VA Decoder 进行 解码, 最后 由 vaPutSurface 来处理 视频 解 码后的 合成 和渲染 , 具体 过程如下 : 压缩视频数 据 VADcoder vaPutSurface 显示器 VASurfaceID( 三)具体 实现 基于 V AAPI 和 FFmpeg 的解码流 程图 如下 : 基于 FFmpeg+VAAPI 的硬件加速渲染技术 6 开始 av_register _all avformat_op en_input avformat_fi nd_stream_i nfo avcodec_fin d_decoder avcodec_all oc_context3 vaapi_init 是否支持 VAAPI vaInitializ e avcodec_ope n2 av_read_fra me Get Frame 结束 AvPacket Is Video avcodec_sen d_packet avcodec_r eceive_fr ame av_hwframe_ get_buffer

      7、 N Y Y N Y由于使用的 FFmpeg 的版 本是 3.3 版本 , 里面 集成 了 V AAPI 中对视 频的 细节 处理 , 所 以只需 要 在 A VCodecContext 的 get_format 回调 函 数 中指定 硬解 参数 ,解码 后 的视频 数据 会 存储 在 GPU 内存 中, 通过 vaPutSruface 函数来处理 后期 的合 成和 图像 渲染 ,下图 为 窗 口创 建 和图 像处 理的 过程 图 : 视频原始数 据 VaPutSurfac e X-Window 显示器 XOpenDispla y XCreateWind ow 图像 合成和 缩放3. 测试结 果 灵跃桌 面云 在本次 测试 中, 为对 比使 用 GPU 硬解 和 CPU 软解的 CPU 占用 率,测试的 视频参数 : 分辨 率 1920*1080 、帧 率 25FPS 、编码 格 式 H.264 。依据 测试 结果 可以看 出, 使基于 FFmpeg+VAAPI 的硬件加速渲染技术 7 用 GPU 硬解 能 大大 降 低 CPU 使用率 ,同 时 画 面输 出 更加清 晰流 畅 。 解码类 型 CPU 占用 百分 比 基于 V AAPI 的 GPU 硬解 4% 基于 CPU 软解 50% 4. 写在最 后 至 此 , 关于 基于 VAAPI 的 硬 件 加 速 技 术 , 已 经 为 大 家 介 绍 完 毕 。 在 实 际 的 应 用 场 景 中,还 可进 一步 与视 频 重 定向结合 , 关于 视频 重定 向 的结 合应 用将 在后 续更 新。

      《基于FFmpeg+VAAPI的硬件加速渲染技术》由会员自***分享,可在线阅读,更多相关《基于FFmpeg+VAAPI的硬件加速渲染技术》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.