live555的性能不给力

IamGooday 2011-05-25 05:39:32
我在开发板上移植了live555MediaServer,可以实现正常的传输。但似乎性能很不高,当进行16路D1的数据传输时,系统从硬盘上读取视频文件,CPU的idle时间几乎为0,以下是我用top命令看到的系统性能:
Live555MediaServer 进程占用CPU-- 50%

用户态时间: 17%
内核态时间: 23%
idle时间: 0%
io时间 : 50%

如此,还没运行其他应用,CPU就已经被全部占满了,显然无法工作。

各位帮帮忙,告诉我有没有改进的方法(代码最好),或者其他的替代live555的方案(除了gstreamer)
...全文
1432 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostyu 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zoulie 的回复:]

说实话,开源的性能基本都一般
[/Quote]

linux也是开源的
liu343536 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 dqzhangp 的回复:]

引用 8 楼 oexpress 的回复:

不要对开源的东西要求过高,如果相能好早就不开元了,


linux内核一直是开源的
[/Quote]
小孩子不懂事,不要怪他
IamGooday 2011-06-11
  • 打赏
  • 举报
回复
做了一些研究,也和一些同事作了些探讨,略有心得,与君共勉。
live555的liveMediaServer在对文件进行RTP streams时,并没有任何缓存机制之类的,因此当数据被存在外部存储器如硬盘上时,它会频繁地读取硬盘,尽管每次读取的数据量都很小,从而造成大量CPU被IO等待占用。解决这个问题的办法就是加入缓存机制,例如每次从硬盘读取好几秒甚至好几十秒的视频数据,这样读取硬盘的次数就会大大减少,io等待就会迅速减少。
另外,由于是网络传输,所以必然涉及TCP/IP,如果网络流量大,而又没有硬件上完整的TCPIP机制时(例如我们的系统没有硬件级的checksum,从而导致CPU需要大量计算Checksum)。
不管如何,live555的性能确实不算很高。在2010.06之前(时间未必完全准确),live555还采用select(),近乎查询方式来处理网络数据,尽管在之后的版本中已经改掉了该模型,但总体效率还是比较差劲。
lius1984 2011-06-08
  • 打赏
  • 举报
回复
可参考 基于Linux的Socket网络编程的性能优化。 我以前就对live555的接收模块做了优化,CPU占用小30%。
dqzhangp 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 oexpress 的回复:]

不要对开源的东西要求过高,如果相能好早就不开元了,
[/Quote]

linux内核一直是开源的
CyberLogix 2011-06-01
  • 打赏
  • 举报
回复
不要对开源的东西要求过高,如果相能好早就不开元了,
dqzhangp 2011-06-01
  • 打赏
  • 举报
回复
提高硬盘IO的效率,你不妨做个测试,只是硬盘读取38M数据看看占用多少cpu。

如果确认是IO的问题,不妨尝试采用dio来提高读取的效率。
qidaimengxing 2011-06-01
  • 打赏
  • 举报
回复
我也测试过live555的性能,确实不是很好。我只是发送1080P的视频,就要占用ARM的30%多的CPU。
xengine-qyt 2011-05-26
  • 打赏
  • 举报
回复
其他我不知道 不过live555适合学习,不适合做应用。
海流风光 2011-05-26
  • 打赏
  • 举报
回复
是不是一般的开源的东西性能都不是特别出色呢
IamGooday 2011-05-26
  • 打赏
  • 举报
回复
是压缩视频,总的码率大约是38Mbps,CPU是ARM-CortexA8。
「已注销」 2011-05-26
  • 打赏
  • 举报
回复
什么cpu?视频是压缩的吗
IamGooday 2011-05-26
  • 打赏
  • 举报
回复
一个很奇怪的现象,我前后试验了2次8路视频流化,两次测试结果大相径庭。

测试1:
CPU 17%, 5%usr 6%sys 31%idle 54%io

测试2:
CPU 6%, 1%usr 2%sys 92%idle 0%

两次测试运行的命令完全相同,都是用命令行vlc的客户端接收数据。
期待专家帮忙分析!
zoulie 2011-05-25
  • 打赏
  • 举报
回复
说实话,开源的性能基本都一般

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧