高手请入!缓存了视频包,如何在播放时保证每秒25帧?

famugong 2005-09-20 10:26:20
现在在做一个rtsp客户端,有两个线程,一个从网络上收数据--A,一个负责解码--B。
A 从网上数据,先缓存50帧,然后送给B解码。
有什么比较好的算法,可以基本保证,每秒给B25帧解码,而不会出现丢帧呢?
在线等!求各位大大伸手相助,多谢!
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonesky 2005-09-23
  • 打赏
  • 举报
回复
A线程只管从网络接收数据放入缓冲
B线程从缓冲中按指定的帧率取数据解码播放,如果缓冲中的数据放完了,暂停播放,等待A线程接收数据
丢帧是网络传输的问题

优化:根据网络状况决定缓冲时间
httpaspjspphp 2005-09-20
  • 打赏
  • 举报
回复
好象真的做到每秒25帧很难
主要是网络上有些因素无法确定
captainchain 2005-09-20
  • 打赏
  • 举报
回复
通常的做法是:先缓存一定的帧数,算出网络当前平均速率,然后决定得缓存多少,才能保证播放流畅。速率和决定缓存多少,得每隔一段时间执行一次,以保证最少的重新缓存次数
captainchain 2005-09-20
  • 打赏
  • 举报
回复
缓存的帧数不能定个死的,得由网络当时的质量决定,若是慢,则要缓存多一点时间
所以,你的题设:“A线程每秒给B25帧”不成立,因为你不能保证A每秒能得到25帧

2,543

社区成员

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

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