话不多说,先上一张流程图

流媒体是什么
流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件
打个比方:吃饺子有几种方式,一种是边煮边吃,还有一种就是全部煮完再吃。流媒体类似第一种
流媒体传输协议 RTMP、RTP、RTSP
1.RTMP协议是(Real Time Messaging Protocol)实时消息传输协议,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。RTMP是为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视/音频数据.一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的
2.RTSP协议是最早的视频传输协议,RTSP是实时流传输协议,是TCP/IP协议体系中的一个应用层协议,RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。RTSP还提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能,数据源包括现场数据与存储在剪辑中数据。RTSP协议优势在于可以控制到视频帧,因此可以承载实时性很高的应用
3.RTP协议(Real-time Transport Protocol)是一个网络传输协议,是一种实时传输协议技术,RTP协议常用于流媒体系统(配合RTSP协议)视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP实时传输协议为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据
体系结构
H.264与AAC
H.264是一种「视频编码格式」(有时也叫视频压缩格式),它又叫「MPEG4 Part10」。它与MPEG2 Part2是一个层级的事。
AAC是一种「音频编码格式」(有时也叫音频压缩格式),它与MP3、FLAC、APE、WavPack是一个层级的事。
软解与硬解的区别
软解是指只是用CPU进行解码
硬解是指主要是用GPU进行解码,CPU起辅助作用
YUV与PCM
之前介绍H.264和AAC时说「视频编码格式」和「音频编码格式」的时候说它们又叫「视频压缩格式」和「音频压缩格式」,这是为啥呢?就是因为原始视频数据格式YUV(即从视频采集芯片直接输出的视频编码格式)和原始音频数据格式PCM(即从音频采集芯片直接输出的音频编码格式)占地很大,所以需要编码(压缩)成H.264与AAC这种占地小一点的格式。
网友评论