加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用双循环Buffer实现解码播放流媒体

发布时间:2020-12-17 02:10:04 所属栏目:安全 来源:网络整理
导读:最近公司需要做一个在BlackBreey上的流媒体播放器,原理是先访问WebService获得流媒体的URL,然后通过Http连接上流媒体进行播放,但是提供的流媒体的格式为FLV-AAC,不能在8900上直接播放,需要先解码为AAC然后进行播放。播放器线程直接连接流媒体边解码边下

最近公司需要做一个在BlackBreey上的流媒体播放器,原理是先访问WebService获得流媒体的URL,然后通过Http连接上流媒体进行播放,但是提供的流媒体的格式为FLV-AAC,不能在8900上直接播放,需要先解码为AAC然后进行播放。播放器线程直接连接流媒体边解码边下载,保证不了播放的连续性。甚至在网速好的情况下也不能达到连续播放。我采用的办法是同时启动3个线程,一个为播放线程,一个为下载线程,一个为解码线程。下载线程从流媒体网站上不断下载播放数据放入一个循环Buffer,讲其命名为downLoadBuf,解码线程从downLoadBuf中读取下载后的数据进行解码,解码后的数据放入另外一个循环Buffer,将其命名为playDataBuf,播放器线程直接从playDataBuf中读取数据进行播放。保证了播放的连续性。在网速正常的情况下可以一直连续播放。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读