引言
直播后台包括信令服务及流媒体服务。信令服务主要接收外部业务请求,进而控制流媒体的行为(包括创建/停止频道、转码、录制等),本文主要讨论流媒体的工作原理。
一、目的
很容易想到的是数据分发功能,解决观看带宽问题。但实际上还包括了一系列的可扩展功能,比如后台统一转码,视频录制以及流状态控制(外部审核)。
二、RTMP(直播后台核心逻辑)
直播采用的是RTMP协议进行传输数据,不仅包括客户端与服务端之间音视频传输(直播/观看),也包括服务端各节点之间数据的传输。按照实际使用经验,RMTP直播效果优于hls、http/flv,延迟在1-2秒左右。
RTMP包含一系统AMF命令:
发布方:(connect->createstream->publish)
[img]http://dl2.iteye.com/upload/attachment/0124/5635/f609c0cd-1660-3863-8b9c-4e4bc406da9f.jpg[/img]
观看方:(connect->play->onmetadata)
[img]http://dl2.iteye.com/upload/attachment/0124/5637/f216113e-6bc5-37dc-9dcb-779fdcaab50a.jpg[/img]
对于发布方/观看方来讲,RTMP层的业务握手完成后,会发送AMF命令与服务端进行交互,最终再传输音、视频数据。
直播后台包括信令服务及流媒体服务。信令服务主要接收外部业务请求,进而控制流媒体的行为(包括创建/停止频道、转码、录制等),本文主要讨论流媒体的工作原理。
一、目的
很容易想到的是数据分发功能,解决观看带宽问题。但实际上还包括了一系列的可扩展功能,比如后台统一转码,视频录制以及流状态控制(外部审核)。
二、RTMP(直播后台核心逻辑)
直播采用的是RTMP协议进行传输数据,不仅包括客户端与服务端之间音视频传输(直播/观看),也包括服务端各节点之间数据的传输。按照实际使用经验,RMTP直播效果优于hls、http/flv,延迟在1-2秒左右。
RTMP包含一系统AMF命令:
发布方:(connect->createstream->publish)
[img]http://dl2.iteye.com/upload/attachment/0124/5635/f609c0cd-1660-3863-8b9c-4e4bc406da9f.jpg[/img]
观看方:(connect->play->onmetadata)
[img]http://dl2.iteye.com/upload/attachment/0124/5637/f216113e-6bc5-37dc-9dcb-779fdcaab50a.jpg[/img]
对于发布方/观看方来讲,RTMP层的业务握手完成后,会发送AMF命令与服务端进行交互,最终再传输音、视频数据。