现在视频网站的码率越来越高,用chrome(ver32.0+)内置的flash player(ver12.0)播放1080p,纯软解非常的慢。很多人尝试用gpu硬解加速视频播放,但是对何为开启gpu硬解争论很多。我这里聊聊我的看法。

首先要理解视频播放,视频文件file先通过分离器分开video和audio。其中video先解码decode,然后处理,再然后通过渲染rendering,再输出屏幕。

本来视频网站一般利用Flashplayer的接口,编写swf文件,通过CPU处理,播放在线视频(flv)。

但是视频播放处理过程需要进行大量的向量运算,传统CPU对向量运算处理的相对慢。虽然intel公司在1996年就在奔腾CPU里加入MMX,来加快向量运算,但是现在的显卡GPU迅猛发展,使得GPU先天的向量运算性能远远超过了现在的CPU,加之GPU厂家提供了方便的接口,所以我们都尝试用GPU加速视频处理过程。

(GPU和CPU的向量运算差距有多大,可以用AIDA软件,跑GPGPU,让GPU和CPU来比较一下。前提你的显卡支持通用运算。)

Flashplayer通过Gpu能加速两步,一步是解码decoding(例如用nvidia的CUDA),二步是渲染rendering。

解码decoding的性能压力来自video的码率,越高占用越多cpu及gpu资源。

渲染rendering的性能压力来自播放窗口的分辨率,最大占越多cpu及gpu资源。

测试播放

环境1:windows7(sp1)、奔腾core、ram6g,nvidia 750ti(ver335支持CUDA)

代表性浏览器browser:IE11+flashplayer12,chrome(ver32.0)+flashplayer12(ppapi),chrome(ver32.0)+flashplayer 12(npapi)。

这里解释下chrome(ver32.0)+flashplayer12(ppapi)和chrome(ver32.0)+flashplayer 12(npapi)。

Chrome(ver32.0)本身就自带插件flash12(ppapi),但是adobe网站也提供一个了可以安装在chrome上的插件flashplayer 12(npapi),安装后这两个插件通过在chrome的网址条输入chrome://plugins/,展开详细信息details,点“停用”disabled“启用”enabled来切换。

最后测试选择了youku和iqiyi上的版权视频。因为发现网站上某些未授权的视频是别人压制,不一定能通过它们编写的swf硬解。

IE11+flashplayer12下:youku上svu和sva都是true(既渲染rendering已经gpu加速accelerated),decode是acc(既解码decoding已经gpu加速accelerated)。

Iqiyi上rendering是accelerated,decoding也是accelerated。

chrome(ver32.0)+flashplayer12(ppapi)下:youku上svu和sva都是true,decode是software(既解码decoding用的是cpu,没有gpu加速)。

Iqiyi上rendering是accelerated,decoding是software。

chrome(ver32.0)+flashplayer12(npapi)下:youku上svu和sva都是true,decode是acc(accelerated)。

Iqiyi上rendering是software,decoding是accelerated。

也就是说在IE11上youku和iqiyi都能开启完全gpu硬解。

chrome(ver32.0)的内置flashplayer上,youku和iqiyi都只能开渲染rendering,而不能开解码decoding。

chrome(ver32.0)在安装adobe的flashplayer并优先开启后,youku能完全gpu硬解accelerated,而iqiyi只能解码decoding。

所以现在看来,能否gpu硬解首先看压制的视频文件和视频网站的swf播放器player能否契合,不然swf播放器player不行的话,无论如何不能gpu硬解。

然后,只有ie11下可以大多数完全gpu硬解accelerated,chrome默认的flashplayer和国内网站不太契合,只能保证rendering,不能decoding。Chrome加上adobe的flashplayer的话,像youku就能完全硬解accelerated,iqiyi这种就只能decoding。

我的看法能否完全GPU硬解因素太多,具体要看运气了,要放在线视频流畅,买块更快的CPU全软解才是王道!

我后来在这台PC上试了winxp-sp3的环境,看上次测试一样的视频。

youku

IE8+flashplayer12能accelerated decoding+rendering。

chrome(ver32.0)+flashplayer12(ppapi)只能全software,不能accelerated。

chrome(ver32.0)+flashplayer12(npapi)能全accelerated decoding+rendering。

iqiyi非全屏模式播放

IE8+flashplayer12能accelerated decoding,不能rendering。

chrome(ver32.0)+flashplayer12(ppapi)只能全software,不能accelerated。

chrome(ver32.0)+flashplayer12(npapi)能accelerated decoding,不能rendering。

iqiyi全屏模式播放

IE8+flashplayer12能accelerated decoding+rendering。

chrome(ver32.0)+flashplayer12(ppapi)只能全software,不能accelerated。

chrome(ver32.0)+flashplayer12(npapi)能accelerated decoding+rendering。

所以认为winxpsp3下IE8和chrome:

youku除了chrome(ver32.0)+flashplayer12(ppapi)不能accelerated,其他都可以完全加速accelerated。

iqiyi非全屏模式播放不支持任何rendering,最多decoding。但全屏模式播放下,除了chrome(ver32.0)+flashplayer12(ppapi)不能accelerated,其他都可以完全加速accelerated。

20140324更新:

我在一台老电脑上,显卡n卡7900(不支持常见的解码),winxpsp3,使用了360chrome+flashplay11(ppapi)

结果

youku:svu和sva都是true,decode是software。

Iqiyi:只有全屏模式下,rendering会是accelerated,decoding是software。不全屏rendering和decoding都是software。

letv:硬件渲染hw rendering是off,解码是software。

居然在winxpsp3下可以硬件rendering了。

关于在线flash视频硬解相关推荐

  1. Android视频硬解稳定性问题探讨和处理

    (这个是来自老罗博客的一篇关于视频硬解的文章) 文件:PTT Demo 前段时间在CSDN做了个直播,分享了处理Android视频硬解码器(MediaCodec)Native Crash的方法.由于直 ...

  2. 解决IE,Firefox,Chrome播放在线Flash视频无声的方法

    可能是安装了国内某号称最厉害的播放器,卸载后所有浏览器播放在线视频都有图无声.查了一些资料,以下的方法可以修复,原因就是"流氓"软件卸载时删掉了注册表的某键值.微软这注册表,是其在 ...

  3. 基于ffmpeg与nvidia-video-sdk-8.1.24视频硬解与软解多路rtsp,支持Qt的QOpenglWidget与qml接口显示

    https://blog.csdn.net/wanghualin033/article/details/82050448 为了解决工程上的一个问题,我研究了nvidia较新的video-sdk-8.1 ...

  4. ios视频硬解异常总结,12911总结

    废话少说,直接上结果: VTDecompressionSessionCreate: -12911 原因总结: 创建session时,就是VTDecompressionSessionCreate函数: ...

  5. Linux安装jellyfin硬件加速,ESXi7,黑群晖,Jellyfin与NVIDIA硬解的解决方案

    Last updated on 2021年1月25日 这是一片没有人的领地,基本没有现成的文章和教程,参考了网络上几乎所有相关教程,总结如下. 关于实现之后的效果,可以参考:https://www.l ...

  6. N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)

    摘要 在ESXi 7.0u3e里直通N5105的核显给虚拟机Debian 11/Ubuntu 22.04(更新到5.18内核),再套用Docker镜像nyanmisaka/jellyfin (10.8 ...

  7. ASP在线转flv+所略图+flash在线录制视频

    Mencoder简介: Mencoder是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,现在有windows和Mac版本). Mplayer的获 ...

  8. 【短视频SDK】Android如何使用硬编硬解?

    为什么要使用硬编硬解? 音频和视频编码时有两种选择:软件编码和硬件编码.软编的效果更好但会占用更多的资源,硬编的效果差一些但占用的资源较少. 同样解码也有两种选择:硬件解码和软件解码.硬解的效果相比软 ...

  9. H264视频高压心得——兼容华为U8800+(硬解720P)

    原文: http://www.cnblogs.com/zyl910/archive/2011/11/22/h264_encode_u8800.html H264视频高压心得--兼容华为U8800+(硬 ...

最新文章

  1. hbase 默认目录_HBase 配置示例
  2. swift_002(Swift的String的基本使用)
  3. Uber获土豪沙特35亿美元投资 不过别期待补贴增加
  4. 经典C语言程序100例之十三
  5. [渝粤教育] 西南科技大学 经济数学1 在线考试复习资料
  6. ASPNET5的依赖注入
  7. 【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)...
  8. java: 程序包com.alibaba.fastjson不存在_Java开发中的异常
  9. 2、组件注册-@Configuration@Bean给容器中注册组件
  10. 网页一键生成app软件_施工方案不会写?4个工程人必备的自动生成软件,一键生成超便利!...
  11. python魅力_Python逐渐失去魅力
  12. HDOJ1018 ( Big Number ) 【斯特林公式---处理阶乘及阶乘位数的问题】
  13. 软考之程序语言与语言处理程序总结
  14. PDF怎么编辑,如何裁剪PDF其中一页
  15. Cybertec PostgreSQL透明加密解析
  16. 软硬件测试策略及方法
  17. Voters in Appalachia Struggling to Identify With Presidential Candidates
  18. 通过安卓手机,获取微信小程序包进行反编译方法
  19. 手机老是收不到短信验证码?我来告诉你为什么!
  20. 卸载Axure7.0

热门文章

  1. 数字化技术战略:技术产品化运营
  2. 小象学院《分布式爬虫实战》第二期视频教程(14课全)
  3. ChatGPT探索系列之一:理解ChatGPT的背景和应用领域
  4. 计算机多媒体教学,浅谈计算机专业的多媒体教学
  5. 东声智能基于Handdle AI打造的深度学习缺陷检测应用实例
  6. 在html中超链接_HTML 链接及页面内部链接
  7. 雷鸟Thunderbird几个小技巧
  8. python汉诺塔递归算法流程图_详解汉诺塔Python递归程序
  9. 计算机电源能用几年,电脑电源要多大 1度电用多久【详解】
  10. IntelliJ IDEA 的撤销和反撤销快捷键