[原创]Windows和Linux下的高清解码CPU负载对比(附图)
发表于 : 2008-04-07 20:47
最近拿到了一款Intel T2300的嵌入式式平台,虽说是嵌入式平台,但PC该有的接口都有了,插上一堆东西连WinXP和Ubuntu都能装,就当个小台式机用了。
具体配置是CPU Intel T2300 1.66G /945GME /1G RAM .最近要做些涉及高清的作业就顺带着做了下该平台的播放测试。
本人在Linux方面只能算菜鸟级别,测试结果大家随便看看,后面还有些问题要请教大家。
测试用了3种不同码率的片源
片源一 DeepBlue(就是那个深蓝) 码率20Mbps 封装ts 格式H264 FPS:25 分辨率1440x1088
片源二 FishCut(实验室自己录的) 码率10Mbps 封装ts 格式H264 FPS:30 分辨率1920x1088
片源三 PlanetEarth(BBC的) 码率7Mbps 封装mkv 格式H264 FPS:24 分辨率1280x720
WindowsXP下的播放软件为 终极解码7.0908
采用默认配置,其中H264解码器为CoreAVC
三个片源均可流畅播放
三个片源的CPU负载情况如下
片源一 DEEPBLUE
片源二 FISHCUT
片源三 PLANETEARTH
Linux采用的Ubuntu7.10Desktop
播放器 Mplayer pre8 编译安装,解码器来自ffmpeg解码库
片源一和二均出现too many video packets in the buffer的警告,画面延迟严重,也就是说CPU跑不动了
片源三在图像动态较激烈的时候会有很明显的丢帧。
CPU负载情况如下
片源一DEEPBLUE
片源二FISHCUT
片源三PLANETEARTH
大家是不是都发现了,在Windows下,CPU的两个核的负载是较均衡的,也就是说CoreAVC经过了较好的多线程优化,能够充分利用CPU的双核资源进行解码工作。
而在Linux下,始终是一个核再承担解码工作。
这也正是CoreAVC解码效率高的重要原因之一。但是CoreAVC目前只有Windows版本。
如果将VCoreAVC移植到Linux下,不就提高了Linux下的高清解码效率了么~
有位高人已经在Unbuntu上发过一篇CoreAVC for linux的帖子
[url]viewtopic.php?t=86660
这里面通过SVN版本的mplayer成功的使用了CoreAVC解码器。
这两天在按照上面的步骤去做,却始终没能成功。
问题在于没有用过svn,按照网上的说明配置了一下,
当进行
svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux
出现如下错误信息:
svn: 对“%$s”的请求 %$s 失败
svn: 对“%$s”的方法 %$s 失败: Could not resolve hostname `coreavc-for-linux.googlecode.com': No address associated with hostname (http://coreavc-for-linux.googlecode.com)
不知是svn配置的不正确还是其他原因?
请各位指教。
具体配置是CPU Intel T2300 1.66G /945GME /1G RAM .最近要做些涉及高清的作业就顺带着做了下该平台的播放测试。
本人在Linux方面只能算菜鸟级别,测试结果大家随便看看,后面还有些问题要请教大家。
测试用了3种不同码率的片源
片源一 DeepBlue(就是那个深蓝) 码率20Mbps 封装ts 格式H264 FPS:25 分辨率1440x1088
片源二 FishCut(实验室自己录的) 码率10Mbps 封装ts 格式H264 FPS:30 分辨率1920x1088
片源三 PlanetEarth(BBC的) 码率7Mbps 封装mkv 格式H264 FPS:24 分辨率1280x720
WindowsXP下的播放软件为 终极解码7.0908
采用默认配置,其中H264解码器为CoreAVC
三个片源均可流畅播放
三个片源的CPU负载情况如下
片源一 DEEPBLUE
片源二 FISHCUT
片源三 PLANETEARTH
Linux采用的Ubuntu7.10Desktop
播放器 Mplayer pre8 编译安装,解码器来自ffmpeg解码库
片源一和二均出现too many video packets in the buffer的警告,画面延迟严重,也就是说CPU跑不动了
片源三在图像动态较激烈的时候会有很明显的丢帧。
CPU负载情况如下
片源一DEEPBLUE
片源二FISHCUT
片源三PLANETEARTH
大家是不是都发现了,在Windows下,CPU的两个核的负载是较均衡的,也就是说CoreAVC经过了较好的多线程优化,能够充分利用CPU的双核资源进行解码工作。
而在Linux下,始终是一个核再承担解码工作。
这也正是CoreAVC解码效率高的重要原因之一。但是CoreAVC目前只有Windows版本。
如果将VCoreAVC移植到Linux下,不就提高了Linux下的高清解码效率了么~
有位高人已经在Unbuntu上发过一篇CoreAVC for linux的帖子
[url]viewtopic.php?t=86660
这里面通过SVN版本的mplayer成功的使用了CoreAVC解码器。
这两天在按照上面的步骤去做,却始终没能成功。
问题在于没有用过svn,按照网上的说明配置了一下,
当进行
svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux
出现如下错误信息:
svn: 对“%$s”的请求 %$s 失败
svn: 对“%$s”的方法 %$s 失败: Could not resolve hostname `coreavc-for-linux.googlecode.com': No address associated with hostname (http://coreavc-for-linux.googlecode.com)
不知是svn配置的不正确还是其他原因?
请各位指教。