流媒体开篇

      很长时间没有写博客了,一直在探讨自己的人生问题。最后也没有一个结果,应该是心里上给自己放了很长的一段假,现在决定调整心态重新回到工作中。      在今后的一年工作中,我将从事流媒体技术方面的研究。 具体是想实现一个手机直播的平台。 前期进行了相关的调研。目前可以采用的技术大致如下

  1. darwin作为流媒体服务器, 播放器采用rtsp播放器,例如vlc。 android和iphone采集端需要实现音视频的硬编码和rtsp协议与流媒体服务器的交互

      2. nginx+rtmp 作为流媒体服务器, 播放器采用flowplayer,  andriod和iphone采集端需要实现音视频的应编码和rtmp协议与流媒体服务器的交互。

      3. nginx+hls  作为流媒体服务器, 采用分片的方式。 播放器需要实现对m3u8的解析, 苹果的浏览器本身可以。 android和iphone采集需要实现音视频的硬编码, 与流媒体服务器交互方式待定。 服务器端需要对流进行分片。

      4.  webrtc架构方式,本人c++基础浅薄,这部分工作一直没有开始调研。

 

  关于双向语音通话或者视频会议的场景,调研过几款开源软件,

  1. openmeeting  基于red5的视频会议,在几台pc机之间测试效果良好, 能否移植到android和iphone上未知。

  2. mumble 目前mumble提供了桌面,android和iphone版, 测试效果 发现 android和pc之间语音交流有回音的出现.

  3. linphone, linphone有android,pc和iphone版,视频通话效果很好。 架构清晰,不过linphone代码超过10万行, 不知道采用linphone架构开发难度是否可控

  4. 其他实现方式诸如gtalk,采用xmpp和sip技术。

  

  目前在技术选型上遇到一些问题, darwin结构,很难做扩展, 瓶颈卡在视频优化和双向语音交流上, 目前pc端通过浏览器观看直播,并实现语音交流, pc端采集语音没有特别好的办法。 回声消除很难, 目前调研得到的开源的回声消除模块只有speex库实现的比较好。

  nginx+rtmp方式, 可以实现android留的推送,但是iphone对flash的支持不好, 如何开发基于flash的iphone应用比较困难,而且rtmp协议本身的闭源导致很多的地方没办法参考

  nginx+hls 目前所做的工作比较少,还不能提出明确的方案

  webrtc google大牛推的下一代流媒体标准, 目前应用很好, 貌似和ie的兼容很差?

 

 

  最近这段时间会一直跟进这个方面,打算出一个专题系列,主要自己技术比较弱, 算是对自己的督促。 如果有相关认识能给予一些方向性的知道, 本人感激不尽。

 

原文链接: https://www.cnblogs.com/snail-tomorrow/p/3178281.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    流媒体开篇

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/95043

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午2:55
下一篇 2023年2月10日 上午2:55

相关推荐