关于在线flash视频硬解

来源:互联网 发布:ubuntu怎么扩展内存 编辑:程序博客网 时间:2024/04/30 10:35

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

首先要理解视频播放,视频文件file先通过分离器分开videoaudio。其中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(例如用nvidiaCUDA),二步是渲染rendering

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

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

 

测试播放

环境1windows7(sp1)、奔腾coreram6gnvidia 750tiver335支持CUDA

代表性浏览器browserIE11+flashplayer12chromever32.0+flashplayer12ppapi),chromever32.0+flashplayer 12npapi)。

这里解释下chromever32.0+flashplayer12ppapi)和chromever32.0+flashplayer 12npapi)。

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

 

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

IE11+flashplayer12下:youkusvusva都是true(既渲染rendering已经gpu加速accelerated),decodeacc(既解码decoding已经gpu加速accelerated)。

Iqiyirenderingaccelerateddecoding也是accelerated

chromever32.0+flashplayer12ppapi)下:youkusvusva都是truedecodesoftware(既解码decoding用的是cpu,没有gpu加速)。

Iqiyirenderingaccelerateddecodingsoftware

chromever32.0+flashplayer12npapi)下:youkusvusva都是truedecodeaccaccelerated)。

Iqiyirenderingsoftwaredecodingaccelerated

 

也就是说在IE11youkuiqiyi都能开启完全gpu硬解。

chromever32.0)的内置flashplayer上,youkuiqiyi都只能开渲染rendering,而不能开解码decoding

chromever32.0)在安装adobeflashplayer并优先开启后,youku能完全gpu硬解accelerated,而iqiyi只能解码decoding

 

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

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

 

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

  

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

youku

IE8+flashplayer12accelerated decoding+rendering。

chromever32.0+flashplayer12ppapi)只能全software,不能accelerated

chromever32.0+flashplayer12npapiaccelerated decoding+rendering。

iqiyi非全屏模式播放

IE8+flashplayer12accelerated decoding不能rendering。

chromever32.0+flashplayer12ppapi)只能全software,不能accelerated

chromever32.0+flashplayer12npapiaccelerated decoding不能rendering。

iqiyi全屏模式播放

IE8+flashplayer12accelerated decoding+rendering。

chromever32.0+flashplayer12ppapi)只能全software,不能accelerated

chromever32.0+flashplayer12npapiaccelerated decoding+rendering。

所以认为winxpsp3IE8chrome:

youku除了chromever32.0+flashplayer12ppapi)不能accelerated,其他都可以完全加速accelerated。

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

20140324更新:

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

结果

youku:svusva都是true,decodesoftware。

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

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

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

0 0
原创粉丝点击