java如何实现流媒体在线直播功能?

zhu7503210 2016-04-21 04:38:37
简单介绍一下java实现流媒体在线直播功能,比较好用的第三方工具和工具实现教程。
...全文
20100 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
WENTAO_Wanna 2016-06-30
  • 打赏
  • 举报
回复
1. 利用WebRtc技术实现在线直播 源自谷歌,还饱受争议。有过项目经历的开发者说到,让粉丝们来看直播,如果同时粉丝数>10人,那么不关 WebRtc 的事,一个是webRtc基于chrome浏览器在短时间内占用内存太大,一旦直播时长超过一定时间就容易服务器崩溃;另外一方面,WebRtc是针对小型在线会议开发的,他对并发会有很大的限制,一旦人数达到上百甚至上千,服务器也将不堪重任。但它有技术支持,未来可能会有希望 2. 利用java原生态JMF音频视频传输技术 这是java自带的音频和视频传输技术,在发布之后基本没有更新,它的着重点是对于音频和视频的在线点播实现而非直播技术,但它可以实现对客户端音频和视频的采集,效率也相对低下。 3. 使用 nginx rtmp-module和nginx hls架设 Nginx一般是在Linux系统上部署的小型Web服务器,他可以使用苹果原生的Apple SDK进行hls协议流媒体发布,或者使用adobe的FMS搭建hls服务。 但FMS是收费的,需要商用licence。它的优点在于可以简单快捷拿到流媒体文件,包括rtmp和m3u8,且做分层比较简单。局限性在于多用C语言进行编码,没有开源的成熟界面操作,需要二次编写。 4. 利使用red5+red5 HLS Plugin 搭建服务器 Red5是开源的Java项目,他可以快速生成rtmp流媒体文件,利用ffmeg进行编码后可以分发到客户端进行观看,此外提供hls插件用来转hls协议,可以实现整个直播业务。它的优点在于可以快速搭建服务器并简单拿到流媒体数据,并且项目开源比较好做开发。局限在于他的hls插件三年没有更新了很多仓储的Jar包无法获取,需要花时间获得。 5. 利用red5Pro +HLS + HTML5搭建服务器 Red5Pro是red5的加强版流媒体服务器,它在移动端完全支持hls协议,但仅限于安卓和IOS平台,在这两个平台上可以快速搭建直播环境。但它也有开源利用node.js技术的搭建H5 HLS直播环境。现在正在研究怎样使用它的Red5 Pro HTML5 HLS Example。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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