关于在线flash视频硬解
现在视频网站的码率越来越高,用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(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? 居然在winxpsp3下可以硬件rendering了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |