现在视频网站的码率越来越高,用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. nas php.ini,php.ini 配置文件常用详解
  2. JBU联合双边上采样
  3. 2015-7-24 从新开始博客之路
  4. HDU1287 破译密码【密码】
  5. python 中文乱码_python 解决cv2绘制中文乱码问题
  6. dvwa小马上传大马php,dvwa文件包含_DAY56 文件上传概述与漏洞***
  7. 【人工智能】NIPS2019 | 2019NIPS论文 | NeurIPS2019最新更新论文~持续更新| NIPS2019百度云下载
  8. Java毕业设计(项目课程)大全
  9. K210基础实验—获取,修改像素值
  10. 【计算机网络】IPv6
  11. 计算机考研报名专业是哪个,考研报名毕业专业计算机怎么填?
  12. kalibr使用笔记
  13. 学科网服务器响应错误,无法登录服务器
  14. python实现录音并去燥_Python | 简单的扩音,音频去噪,静音剪切
  15. OPPOA31_官方线刷包_救砖包_解账户锁
  16. ApacheCamel简介
  17. 购物网站的设计与开发
  18. Linux下的段错误分析
  19. centos 手动增加swap分区
  20. 设计模式初探-Builder模式

热门文章

  1. 微信小游戏起始页设置
  2. 采蘑菇电脑c语言,不吹不黑,来说说捷豹F-PACE值不值得买年薪50万买它就对了! 是不是你的菜?...
  3. Unity --- 动画脚本
  4. 人事管理系统项目(二)
  5. solidworks打不开,应用程序无法启动
  6. 深度解析“光速”瑞幸:星巴克的对手、亚马逊的影子和争议中前行
  7. 京东金融,你到底是坏,还是码农裁多了??
  8. java基础-库存管理
  9. maven引入依赖时,识别不到本地仓库jar包问题
  10. Kubernetes——Kubernetes集群docekr部署