聚合全网技术文章,根据你的阅读喜好进行个性推荐
好奇 直播平台都是用什么技术架构,或者什么语言写的;
例如 斗鱼tv、YY直播等
老衲看了下几大巨头的玩法:
视频推流、直播、CDN加速那块都是直接用网宿或者高升的。
她们只是套个web界面,用户管理系统, 一大堆花哨的礼物, 骗土豪来保养小姑娘。
阿里云、腾讯云一大堆api等你来调用。
这个核心就是视频流的压缩了.
跟什么语言无关,只要把这个视频流的格式弄好了.其它的都不是什么大问题..
老衲看了下几大巨头的玩法:
视频推流、直播、CDN加速那块都是直接用网宿或者高升的。
她们只是套个web界面,用户管理系统, 一大堆花哨的礼物, 骗土豪来保养小姑娘。
Swoole作者韩天峰:虎牙游戏直播基于PHP+Swoole实现了TCP的长连接推送服务,仅用2台机器就支持了50万人同时连接在线,峰值每秒推送10万条消息。建立了一套完整推送服务方案,提供了的移动端在线/离线推送、消息持久化、在线用户与设备状态管理、广播任务分发排队、外部调用API等功能。
流媒体服务器技术:
NGINX Plus提供两个付费的流媒体(Streaming Media)模块,支持HLS和HDS协议.
http://nginx.com/products/
HTTP Live Streaming (HLS)
http://nginx.org/en/docs/http/ngx_http_hls_module.html
HTTP Dynamic Streaming (HDS)
http://nginx.org/en/docs/http/ngx_http_f4f_module.html
流媒体客户端PC上可以用Flash,手机上可以用HTML5.
转:
HLS(HTTP Live Streaming)是 Apple 为了提高流播效率开发的技术。特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u 列表文件将这些 TS 片段集中起来供客户端播放器接收。这样做相比使用 RTSP 协议的好处在于,一旦切分完成,之后的分发过程完全不需要额外使用任何专门软件,普通的网络服务器即可,大大降低了 CDN 边缘服务器的配置要求,可以使用任何现成的 CDN。分发使用的协议是最常见 HTTP,代理服务器对这个协议的缓存优化相当成熟,而很少有代理服务器对 RTSP 的进行缓存优化。这对播放(软)实时视频有相当大的优势,因为这样分发后,对源服务器的负载压力小得多。对于非实时视频,同样的好处也是存在的:如果你要在一段长达一小时的视频中跳转,如果使用单个 MP4 格式的视频文件,并且也是用 HTTP 协议,那么需要代理服务器支持 HTTP range request 以获取大文件中的一部分。不是所有的代理服务器都对此有良好的支持。而 HTTP Live Streaming 则只需要根据列表文件中的时间轴找出对应的 TS 片段下载即可,不需要 range request(范围请求),对代理服务器的要求小很多。所有代理服务器都支持小文件的高效缓存。此外,HTTP Live Streaming 还有一个巨大优势:自适应码率流播(adaptive streaming)。效果就是客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且自动在二者间随意切换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。至于为什么要用 TS 而不是 MP4,这是因为两个 TS 片段可以无缝拼接,播放器能连续播放,而 MP4 文件由于编码方式的原因,两段 MP4 不能无缝拼接,播放器连续播放两个 MP4 文件会出现破音和画面间断,影响用户体验。
HDS(HTTP Dynamic Streaming)作为Adobe自家RTMP的补充,跟Apple家的HLS差不多具有更低的延时,更短的载入时间,支持动态缓冲和基于流的加密.
这个核心就是视频流的压缩了.
跟什么语言无关,只要把这个视频流的格式弄好了.其它的都不是什么大问题..