Mac OS X 视频解码技术之现状

最近,Adobe 在 Flash Player 10.1 的 release notes 中这样写到:

In Flash Player 10.1, H.264 hardware acceleration is not supported under Linux and Mac OS. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs. We will continue to evaluate adding the feature to Linux and Mac OS in future releases.

然而实际上 Linux 下已经有了比较完善的 VDPAU API 用于视频硬件解码 — ffmpeg 和 mplayer 都对它有很好的支持。Mac OS X 呢?让我们罗列一下事实:

以上这些事实造成的恶果是,Mac 用户空守着性能充足的显卡,在 OS X 上播放起 1080p 视频时往往 CPU 占用率在 100% 以上,播放高码率的 720p 视频也能到 70% ~ 80%。如果用了硬件解码,CPU 占用率会在 5% 以下,而基于 CUDA 的方案占用率也只有 10% 左右。

那我们能做什么呢?不管出于减少能耗还是减少机器发热的角度,都很有必要向 Apple 提交 bug 报告,要求提供公开的 H.264 硬解码 API。


14 Comments

Apple也挺难的,高端机器(iMac/Mac Pro)上用的ATi显卡的视频加速在*nix上几乎不可用。单独支持VDPAU,很可能未来就绑定在nvidia上了

Posted by iceboundrock on 18 November 2009 @ 12pm

感觉Apple很没动力去做这件事啊,几个因素吧:

Posted by Rio on 18 November 2009 @ 8pm

quote:”现在玩h.264的还是少部分爱好者了,Apple根本不在乎。”

—Apple就是靠这些设计师们最为核心的用户起家的了,而且这些用户才给Apple冠以神话的高帽和无尽的口碑;如果这都不在乎,Apple还在乎什么?

Posted by HUan on 20 November 2009 @ 11am

推广html5才是正道。

Posted by Yue Wang on 21 November 2009 @ 11am

至于 GPGPU 方案,市场上现有的只有 CoreAVC 基于 CUDA 的解码技术 <– 这一句话有一点问题,CoreAVC的解码实际上还是用的DXVA,CUDA只用于从显存中Dump出DXVA解码后的数据,所以并不是真正意义上的GPGPU方案。除非CoreCodec重新开发,否则移植到OpenCL是不可能的。

Posted by ssnake on 21 November 2009 @ 1pm

“推广html5才是正道。”HTML 5是标准草案,内部编码还没吵干净,而且这个跟文中提到的视频解码支持不矛盾。难道大家就只能用Safari了以后?如果是的话,Safari推出一个随便什么标准就好了,何苦大家还要搞HTML?

Posted by 珠宝狼 on 21 November 2009 @ 1pm

@ssnake: 你确定?据我所知用 CoreAVC 选 CUDA 解码的时候是不需要 DXVA 的。

Posted by jjgod on 21 November 2009 @ 7pm

@jjgod:确定的,我专门查证过。CoreAVC网站的FAQ里也侧面提及了(现在是iPhone不方便找)。你可以再试试看。

Posted by ssnake on 22 November 2009 @ 12am

@珠宝狼: 目前Safari, Firefox等浏览器都支持 tag吧。

Posted by Yue Wang on 22 November 2009 @ 4am

硬解压有鸟用. apple 的低端 pc/laptop 都是 c2d, 解 1080p 戳戳有余. 随着硬件进步, cpu 的占用率进一步降低,能耗和热量问题都会成为历史

Posted by waterguo on 25 November 2009 @ 1am

[...] SMPlayer.app之后 现在来谈谈一点其他的东西。 当前Mac OS X下的免费视频播放器已经比较丰富了,有Movist.app,Plex.app,MPlayer OSX Extended.app,VLC.app等等。 Plex.app是目前暴力解(软解)效率最高的,比如eMule上拖下来的”The Sky Crawlers”(1080p) [7] 只有Plex.app才能流畅的播放,其他播放器都会有不同程度的“音画不同步”、“卡壳”等现象。当然Plex.app暴力解的代价就是风扇的疯狂运行。Plex.app的“缺点”就是界面不友好,不支持UTF-8编码的字幕;配置麻烦…… 其他三个用下来效率都差不多,比较偏好Movist.app一点,MPlayer OSX Extended.app似乎也不错,不过第一次运行会用fontconfig生成字体cache好像,比较耗时。VLC.app曾经的配置是最麻烦的,新版似乎好点了。 关于OSX下视频解码,可以看看jjgod的博文《Mac OS X 视频解码技术之现状》。 [...]

Posted by » SMplayer.app on OSX, again Xar on 2 December 2009 @ 12am

[...] SMPlayer.app之后 现在来谈谈一点其他的东西。 当前Mac OS X下的免费视频播放器已经比较丰富了,有Movist.app,Plex.app,VLC.app,MPlayer OSX Extended.app 等等。 Plex.app是目前暴力解(软解)效率最高的,比如eMule上拖下来的”The Sky Crawlers”(1080p) [7] 只有Plex.app才能流畅的播放,其他播放器都会有不同程度的“音画不同步”、“卡壳”等现象。当然Plex.app暴力解的代价就是风扇的疯狂运行。Plex.app的“缺点”就是界面不友好,不支持UTF-8编码的字幕;配置麻烦…… 其他三个用下来效率都差不多,比较偏好Movist.app一点,MPlayer OSX Extended.app似乎也不错,不过第一次运行会用fontconfig生成字体cache好像,比较耗时。VLC.app曾经的配置是最麻烦的,新版似乎好点了。 关于OSX下视频解码,可以看看jjgod的博文《Mac OS X 视频解码技术之现状》。 [...]

Posted by SMPlayer.app on OSX, again at XAR on 22 October 2010 @ 10pm

[...] 只有Plex.app才能流畅的播放,其他播放器都会有不同程度的“音画不同步”、“卡壳”等现象。当然Plex.app暴力解的代价就是风扇的疯狂运行。Plex.app的“缺点”就是界面不友好,不支持UTF-8编码的字幕;配置麻烦…… 其他三个用下来效率都差不多,比较偏好Movist.app一点,MPlayer OSX Extended.app似乎也不错,不过第一次运行会用fontconfig生成字体cache好像,比较耗时。VLC.app曾经的配置是最麻烦的,新版似乎好点了。 关于OSX下视频解码,可以看看jjgod的博文《Mac OS X 视频解码技术之现状》。 [...]

Posted by SMPlayer.app on OSX, again at The Other Cloud on 27 October 2011 @ 4pm

[...] 只有 Plex.app 才能流畅的播放,其他播放器都会有不同程度的“音画不同步”、“卡壳”等现象。当然 Plex.app 暴力解的代价就是风扇的疯狂运行。Plex.app 的“缺点”就是界面不友好,不支持 UTF-8 编码的字幕;配置麻烦…… 其他三个用下来效率都差不多,比较偏好 Movist.app 一点,MPlayer OSX Extended.app 似乎也不错,不过第一次运行会用 fontconfig生成字体 cache 好像,比较耗时。VLC.app 曾经的配置是最麻烦的,新版似乎好点了。 关于 OS X 下视频解码,可以看看 jjgod的博文《Mac OS X 视频解码技术之现状》。 [...]

Posted by SMPlayer.app on OSX, again at The Other Cloud on 2 November 2011 @ 6pm

Leave a Comment