流媒体播放协议

流媒体通信协议

常用的流媒体协议主要有HTTP渐进下载(如HLS)和基于RTSP/RTP的实时流媒体协议,这两种基本是完全不同的东西,还有RTMP;
相关协议有:HTTP,HLS,RTSP,RTMP;

HTTP、RTSP、RTMP、HLS区别

参考:http://www.hangge.com/blog/cache/detail_1325.html
http://blog.csdn.net/tttyd/article/details/12032357

  • 共同点:
  1. 都是在应用层;
  2. 理论上都可以做直播和点播,但一般直播用RTSP/RTMP,点播用HTTP;视频会议用RTMP;
  • 区别:
  1. HTTP将搜有数据作为文件做处理,不是流媒体协议;RTMP和RTSP是流媒体协议;HTTP协议简单,流媒体协议复杂;
  2. RTMP是Adobe的私有协议,未完全公司,RTSP/HTTP协议是共有协议,有专门机构做维护;
  3. RTMP是flv/f4v格式流,RTSP协议一般传输的是ts/mp4格式的流,HTTP没有特定的流;
  4. RTSP传输一般需要2-3个通道,命令和数据通道分离,HTTP/RTMP一般在一个TCP通道上传输命令和数据;
  5. HLS主要延时比较大,RTMP/RTSP优势在于延时低;

PS:可使用 FFMPEG 将RTSP协议转换为RTMP 数据流;

HLS: HTTP Live Streaming

Apple的动态码率自适应技术,主要用于PC和Apple终端的音视频服务,包括一个m3u(8)索引文件,TS媒体分片文件和key加密文件;
HLS协议的小切片方式会生成大量的文件,存储和处理这些文件会造成大量资源浪费;如果要实现数天的时移,所以努力将会是个巨额数字,明显影响请求速度;新型系统采用了内存缓存数据实时切片技术,将TS切片文件存到内存当中,直接从服务器内存读取,极大提高了对终端的数据请求的反应速度,优化了视频观看体验;
HLS客户端获取到的并不是一个完整的数据流,而是连续的,短时长的媒体文件,客户端不断的现在并播放这些小文件;
缺点:时延比较大,不断的http请求,协议建立过程也耗时;
优点:采用HTTP传输,不用考虑防火墙和代理的问题;使用分片文件来播放,客户端可以平滑的切换码率,以适应不同宽带条件下的播放;iOS平台可以获得天然支持,采用AVPlayer就能直接播放;
PS:移动端HLS用的比较广泛一些;

直播视频流程:


Paste_Image.png
Paste_Image.png

RTSP (Real Time Streaming Protocol) 实时流协议 RFC2326

参考:
http://blog.csdn.net/leixiaohua1020/article/details/11955341
由哥伦比亚大学、网景和RealNetwork公司提交的IETF RFC标准,位于RTP和RTCP之上,使用TCP或UDP完成数据传输;它的语法和运作跟HTTP1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟;允许多个串流需求控制,可以降低服务器的网络用量,进而支持多方视讯会议;

  • 开源实现

    Paste_Image.png

    live555 C/S C++
    darwin S C++
    VLC C C

  • 与HTTP相比
    HTTP请求由客户机发出,服务器响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP是可以双向的;


    Paste_Image.png
  • RTSP简单交互过程

  1. 查询服务器端可用方法 OPTION request
  2. 得到媒体描述信息 DESCRIBE request
  3. 通过可接受的传输选项,建立会话 SETUP request
  4. 请求开始传送数据 PLAY request
  5. 数据传送播放中 RTP协议传送数据
  6. 会话关闭,退出
RTP协议

每一个RTP数据报都由头部和负载两个部分组成,其中头部12个字节的含义是固定的,而负载则可以是音频或视频数据;

PS:RTSP在安防领域有广泛应用;

RTMP (Real Time Message Protocol) 实时消息传输协议

主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信;是Adobe公司自己的规范,为flash播放器和服务器之间音频、视频和数据传输开发的私有协议;
业界大部分直播业务都会选择用RTMP作为流媒体协议,通常会将数据流封装成FLV通过HTTP提供出去;
优点:延时小,通常为1-3s;基于TCP长连接,不需要多次建连;
缺点:iOS平台不提供原生支持RTMP或HTTP-FLV的播放器,需要自主开发;
�- 累积延迟
RTMP是基于TCP不会丢包,但是当网络状态差时,服务器会将包缓存起来,导致累积的延迟,待网络状况好了,就一起发给客户端;这个的对策就是,当客户端的缓冲区很大时,就断开重连;
PS:对实时性有一些要求的应用,以PC为主?互联网直播领域(RTMP+CDN);

媒体封装格式

TS/FLV/MP4

  • FLV 需要flash支持
    PC在线播放最常见,因为apple不支持flash,apple无法使用,很多智能机也无法使用;也支持直播;
  • TS HLS的媒体切片格式
    Apple产品,支持动态码率适配,支持直播;
  • mp4 PC/Apple/Android都支持
    文件头太大,结构复杂,长视频的大文件头影响加载速度的视频体验,所以短视频更常见;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容