当前位置: 首页 > news >正文

高端品牌网站建设廊坊网络推广优化公司

高端品牌网站建设,廊坊网络推广优化公司,设计logo免费生成器,成都找人做网站文章目录ffmpeg硬解码与软解码的压测一、基本知识二、压测实验1. 实验条件及工具说明2. 压测脚本3. 实验数据结果ffmpeg硬解码与软解码的压测 一、基本知识 本文基于intel集显进行压测 软解码:cpu对视频进行解码硬解码:显卡或者多媒体处理芯片对视频进…

文章目录

    • ffmpeg硬解码与软解码的压测
      • 一、基本知识
      • 二、压测实验
        • 1. 实验条件及工具说明
        • 2. 压测脚本
        • 3. 实验数据结果

ffmpeg硬解码与软解码的压测

一、基本知识

本文基于intel集显进行压测

  • 软解码:cpu对视频进行解码
  • 硬解码:显卡或者多媒体处理芯片对视频进行解码
    ffmpeg可以基于vaapi插件或者qsv加速库进行硬解码
    参考 视频和视频帧:Intel GPU(核显)的编解码故事
    · FFmpeg-vaapi是一个FFmpeg插件,它提供基于低级VAAPI接口的硬件加速,利用行业标准VAAPI在英特尔GPU上执行高性能视频编解码器,视频处理和转码功能。
    · FFmpeg-qsv是一个FFmpeg插件,提供基于Intel GPU的硬件加速。 它提供基于Intel Media SDK库的高性能视频编解码器,视频处理和转码功能。

二、压测实验

1. 实验条件及工具说明

  • 内存:32GB
  • 操作系统:22.04 Ubuntu
  • CPU: 12核 12th Gen Intel® Core™ i7-12700 --> 限制使用6核
  • 视频:2k 分辨率
  • intel_gpu_tools
    可通过apt-get install intel_gpu_tools命令安装,新建一个窗口键入intel_gpu_top可以观察gpu使用情况

2. 压测脚本

原始版本:

#!/bin/bash
read thread_numtmp_fifofile="/tmp/$$.fifo"
mkfifo $tmp_fifofile   # 新建一个FIFO类型的文件
exec 6<>$tmp_fifofile  # 将FD6指向FIFO类型
rm $tmp_fifofile  #删也可以,#根据线程总数量设置令牌个数
#事实上就是在fd6中放置了$thread_num个回车符
for ((i=0;i<${thread_num};i++))
doecho
done >&6start_time=`date +%s` #运行的开始时间
for ((i=0;i<${thread_num};i++))  # 找到data文件夹下所有bam格式的文件
do# 一个read -u6命令执行一次,就从FD6中减去一个回车符,然后向下执行# 当FD6中没有回车符时,就停止,从而实现线程数量控制read -u6{ffmpeg -i 10min39.mp4 -f null - -benchmarkecho >&6} &
done
wait
stop_time=`date +%s`exec 6>&-
expr $stop_time - $start_time
echo 'over'

但在运行过程中会出现以下问题
-bash: wait: 警告: job stopped
在《Unix 环境高级编程》第9.8节作业控制中讲到,“如果后台程序试图读取终端,这并不是一个错误,但是终端驱动程序将检测这种情况,并向后台作业发送一个特定信号SIGTTIN,该信号会停止此后台程序,并向用户发送通知”。

修改之后的版本:加上 < /dev/null

#!/bin/bash
read thread_numtmp_fifofile="/tmp/$$.fifo"
mkfifo $tmp_fifofile   # 新建一个FIFO类型的文件
exec 6<>$tmp_fifofile  # 将FD6指向FIFO类型
rm $tmp_fifofile  #删也可以,#根据线程总数量设置令牌个数
#事实上就是在fd6中放置了$thread_num个回车符
for ((i=0;i<${thread_num};i++))
doecho
done >&6start_time=`date +%s` #运行的开始时间
for ((i=0;i<${thread_num};i++))  # 找到data文件夹下所有bam格式的文件
do# 一个read -u6命令执行一次,就从FD6中减去一个回车符,然后向下执行# 当FD6中没有回车符时,就停止,从而实现线程数量控制read -u6{ffmpeg -i 10min39.mp4 -f null - -benchmarkecho >&6} < /dev/null &
done
wait
stop_time=`date +%s`exec 6>&-
expr $stop_time - $start_time
echo 'over'

以上shell脚本为软解码版本,硬解码版本只需将ffmpeg -i 10min39.mp4 -f null - -benchmark改成ffmpeg -hwaccel qsv -i 10min39.mp4 -f null - -benchmark

3. 实验数据结果

po出一部分解码速度实验结果
实验结果

实验结果分析:
1、从实验对比数据可以看出,硬编码的解码速率更快、cpu使用率更小、内存占用更少,皆优胜于软解码;软编码不占用gpu,硬编码在面对并发数5-100,gpu使用率都会达到100%
2、在实验环境下,软解码的临界并发数位于21-22区间,硬解码在面对100线程并发数仍能达到快于正常视频播放速率的解码速率
3、在实验环境下,若想保证解码速率不慢于正常视频播放速率:对软解码,并发数应控制在不大于20;对硬解码,并发数不超过100
4、硬解码的cpu使用率先随着并发数增多而增加,后随着并发数增多而减少降低,可能由于解码速率变慢,cpu能够快速应对多个线程的切换

注:以上信息,欢迎大佬们指正

http://www.tj-hxxt.cn/news/53508.html

相关文章:

  • 怎么做百度提交入口网站今日新闻头条热点
  • 资料下载网站建设如何获取网站的seo
  • 信息分类网站建设做网站公司排名
  • cms网站开发毕设营销咨询师
  • 哪些网站可以做微信信息发布平台推广有哪些
  • 免费做网站公司百度竞价托管费用
  • 网站建设联系电话网站品牌推广策略
  • 南宁网站制作费用怎么做电商
  • 梵克雅宝seo网站推广全程实例
  • wordpress最好选择seop
  • 嘉兴秀洲区建设局网站无锡seo公司哪家好
  • 兰州企业网络推广优化福建seo
  • 医院门户网站模板下载济南百度seo
  • h5网站开发中心杭州百度推广代理公司哪家好
  • 图书网站建设费用明细南宁百度快速优化
  • 茌平网站开发百度最新收录方法
  • 延边网站建设百度应用平台
  • 河北建设工程信息网发信息收费吗seo网站优化服务合同
  • 江门网站建设技术托管郑州网站营销推广
  • 贵阳做网站多少钱搜索引擎推广的三种方式
  • 固安建设行政主管部门官方网站seo推广软件哪个好
  • 源码屋整站源码产品品牌策划方案
  • edu域名网站中国女排联赛排名
  • 西安做网站 怎样备案seo关键词优化公司
  • 电子商务网站设计电商运营平台
  • 坂田网站建设方案金城武重庆森林经典台词
  • 制作好的网页怎么变成网站代运营一家店铺多少钱
  • 怎么做校园表白网站临沂网站建设公司哪家好
  • h5手机网站制作认识网络营销
  • 福永公司网站建设暴疯团队seo课程