如果是下载方式,那么一般就是基于http协议 如果是流式传输,那么一般就是基于rtmp协议
所有这里需要关注具体的方式和协议,推荐的播放器(web端)有jwpalyer
后端一般用现成的服务器:nginx 、red 5 、 flash media server 等
其中 red 5 为开源产品,支持 rtmp 协议,但目前版本对集群支持有一些问题~
流媒体分HTTP渐进流式下载和实时流式传输。 HTML5的video标签当然属于HTTP渐进流式下载,不需要流媒体服务器,普通HTTP服务器就可以。 Apple公司的HLS也属于HTTP渐进流式下载。视频直播软件系统开发,常用的流媒体传输协议有RTMP,RTSP,HLS,HTTP-FLVRTMP:(可用于推流端和拉流端) Real Time Messaging Protocol 实时消息传输协议,RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。因为RTMP协议传输的基本是FLV格式的流文件,必须使用flash播放器才能播放.
RTSP:(用于推流端) Real-Time Stream Protocol,RTSP 实时效果非常好,适合视频聊天、视频监控等方向
HLS(用于拉流端) Http Live Streaming,由Apple公司定义的基于HTTP的流媒体实时传输协议。传输内容包括两部分:1.M3U8描述文件,2.TS媒体文件。TS媒体文件中的视频必须是H264编码,音频必须是AAC或MP3编码。数据通过HTTP协议传输。目前video.js库支持该格式文件的播放
HTTP-FLV(用于拉流端) 本协议就是http+flv,将音视频数据封装成FLV格式,然后通过http协议传输到客户端,这个协议大大方便了浏览器客户端播放直播视频流.目前flv.js库支持该格式的文件播放