HLS,RTMP,HTTP这些协议书与合同的区别有什么区别

RTMP,RTSP,HLS比较与分析 - CSDN博客
RTMP,RTSP,HLS比较与分析
&&&&&&&& 考虑做一个手机直播系统,首先需要指定一个合理的技术方案。由于自己以前不是搞多媒体这块,对流媒体开发不熟悉,自己的理解思维总习惯用java web开发的惯性走,先指定一个大体的框架。不管对还是错,先考虑其技术可行性。
&&&&&&&& 框架的指定,首先取决于自己采用的流媒体协议,我们熟知的流媒体协议有RTMP,RTSP,HLS。网上有很多这方面的介绍,我懒得复制了,在这里只谈谈自己的看法。
&&&&&&&& 先谈一下HLS,这个协议接触得最早,自己的个人理解,如果要开发一套准实时的手机音视频直播系统,需要支持iphone,android,windows phone等多款手机,这个协议真心不错。为什么是准实时呢,因为客户端播放的是最新切割的ts文件,它的延迟取决于切片的大小。
参考文章&,其思路步骤:
1、采集视频源和音频源的数据
2、对原始数据进行H264编码和AAC编码
3、视频和音频数据封装为MPEG-TS包
4、HLS分段生成策略及m3u8索引文件
5、HTTP传输协议
&&&&&&& 这里面的很多步骤需要用到ffmpeg编解码库,比如编码, 切片等。方便之处是可以使用普通的http服务器就ok了,推荐使用nginx,这是一款功能无比强大的web服务器,其反向代理,性能好的不可言喻。
&&&&&&&& 由于我大学非计算机专业出身,或者说与计算机专业一点都不靠边,我的计算机语言功底弱爆了。数据结构算法真心是我的软肋,C++语言就会简单的用MFC编写hello world ,HLS当初就这样被我放弃了。
&&&&&&& RTSP协议,这应该是实时性最好的了,如果要想实时性要求很高,比如0.5s以内,这个是不错的选择。前阵子模仿spydroid写了个建议的rtsp服务器,其实就是options,describe,setup,play,pause,teardown这几步了,这个协议用的最广泛,网上介绍也比较多。要想真正深入了解rtsp协议,c++语言功底好的可以查看live555 。
&&&&&&& RTMP协议,自己最近研究的,如果有兴趣,可以看看我的其他文章。
本文已收录于以下专栏:
相关文章推荐
HLS,HTTP,RTSP,RTMP协议的区别:
用HTTP方式: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是...
转载地址:/chef/archive//2597279.html
一、分析FLV数据
    我们先拿一个flv文件来简单分析...
本文继续上一篇文章,记录一些基于Flash的流媒体处理的例子。本文记录一些基于Flash技术的网页播放器。基于Flash的网页播放器相比于其他网页播放器来说最大的优势就是“免插件安装”了,这一点可以很...
你说的应该是 HTTP Live Streaming [1] 吧。这个是 Apple 为了提高流播效率开发的技术,特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u ...
h.264裸码流的格式,参考“”
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议。
RTMP是Real Time Mes...
Ubuntu 14.04 server
nginx-1.8.1
nginx-rtmp-module
nginx的服务器的搭建安装nginx的依赖库sudo apt-get update
1:修改/usr/local/nginx/conf/ngnix.conf,红色字体为添加内容。
#rtmp直播配置
    server {
    listen 1936;
    ch...
直播协议的选择:RTMP vs. HLS
SamirChen  61 阅读
随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)RTMP,RTSP,HLS比较
&考虑做一个手机直播系统,首先需要指定一个合理的技术方案。由于自己以前不是搞多媒体这块,对流媒体开发不熟悉,自己的理解思维总习惯用java
web开发的惯性走,先指定一个大体的框架。不管对还是错,先考虑其技术可行性。
框架的指定,首先取决于自己采用的流媒体协议,我们熟知的流媒体协议有RTMP,RTSP,HLS。网上有很多这方面的介绍,我懒得复制了,在这里只谈谈自己的看法。
先谈一下HLS,这个协议接触得最早,自己的个人理解,如果要开发一套准实时的手机音视频直播系统,需要支持iphone,android,windows
phone等多款手机,这个协议真心不错。为什么是准实时呢,因为客户端播放的是最新切割的ts文件,它的延迟取决于切片的大小。
参考文章&,其思路步骤:
1、采集视频源和音频源的数据
2、对原始数据进行H264编码和AAC编码
3、视频和音频数据封装为MPEG-TS包
4、HLS分段生成策略及m3u8索引文件
5、HTTP传输协议
这里面的很多步骤需要用到ffmpeg编解码库,比如编码,
切片等。方便之处是可以使用普通的http服务器就ok了,推荐使用nginx,这是一款功能无比强大的web服务器,其反向代理,性能好的不可言喻。
由于我大学非计算机专业出身,或者说与计算机专业一点都不靠边,我的计算机语言功底弱爆了。数据结构算法真心是我的软肋,C++语言就会简单的用MFC编写hello
world ,HLS当初就这样被我放弃了。
RTSP协议,这应该是实时性最好的了,如果要想实时性要求很高,比如0.5s以内,这个是不错的选择。前阵子模仿spydroid写了个建议的rtsp服务器,其实就是options,describe,setup,play,pause,teardown这几步了,这个协议用的最广泛,网上介绍也比较多。要想真正深入了解rtsp协议,c++语言功底好的可以查看live555
RTMP是Real-Time Messaging Protocol(实时消息传送协议)的缩写,它是Adobe
Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的协议。这是一个标准的,未加密的实时消息传递协议,默认端口是1935,如果未指定连接端口,那么flash客户端会尝试连接其他端口,其尝试连接顺序按照下列顺序依次连接:、80(RTMP),
80(RTMPT).RTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上。
下面贴出一些RTMP值得看的博客文章:
实时视频采集—Cameara预览采集&
:&录音实现之AudioRecord类
&.cn/s/blog_4ctn.html
2、android音视频编码
Android NDK r8b 和 FFmpeg 0.11.2 移植
&http://my.oschina.net/wangqin/blog/80345
&HelloWorld App of ffmpeg JNI
&http://my.oschina.net/wangqin/blog/80347
&&/mcodec/articles/1780598.html
3、rtmp协议封装
Rtmp数据流转h264的详细转码过程&/view/b57c1b1aa84f.html
4、Red5的安装与配置
Red5安装及web播放流媒体视频实例&/view/76ce0722083d.html
red5搭建流媒体直播系统
&&.cn/s/blog_rmz0.html
d音视频采集 &
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。直播协议的选择:RTMP vs. HLS - 简书
直播协议的选择:RTMP vs. HLS
文章转自:
随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼。想要做一个直播业务,主要包括三个部分:采集推流端、流媒体服务端、播放端。这里不多说,就主要结合 iOS 平台,从观看端出发,介绍一下对直播协议的选择。
通常在 iOS 平台做直播业务,会有两种协议可供选择:HLS 和 RMTP。
HLS,是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统,为 iOS 设备(如 iPhone、iPad)提供音视频直播和点播方案。
RTMP,实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
上面是这两种协议的简介,那它们在实际应用中会有什么差异呢?
先说说 HLS。HLS 的基本原理就是当采集推流端将视频流推送到流媒体服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的 ts 文件,同时服务器会建立一个 m3u8 的索引文件来维护最新几个 ts 片段的索引。当播放端获取直播时,它是从 m3u8 索引文件获取最新的 ts 视频文件片段来播放,从而保证用户在任何时候连接进来时都会看到较新的内容,实现近似直播的体验。相对于常见的流媒体直播协议,例如 RTMP 协议、RTSP 协议等,HLS 最大的不同在于直播客户端获取到的并不是一个完整的数据流,而是连续的、短时长的媒体文件,客户端不断的下载并播放这些小文件。这种方式的理论最小延时为一个 ts 文件的时长,一般情况为 2-3 个 ts 文件的时长。HLS 的分段策略,基本上推荐是 10 秒一个分片,这就看出了 HLS 的缺点:
通常 HLS 直播延时会达到 20-30s,而高延时对于需要实时互动体验的直播来说是不可接受的。
HLS 基于短连接 HTTP,HTTP 是基于 TCP 的,这就意味着 HLS 需要不断地与服务器建立连接,TCP 每次建立连接时的三次握手、慢启动过程、断开连接时的四次挥手都会产生消耗。
不过 HLS 也有它的优点:
数据通过 HTTP 协议传输,所以采用 HLS 时不用考虑防火墙或者代理的问题。
使用短时长的分片文件来播放,客户端可以平滑的切换码率,以适应不同带宽条件下的播放。
HLS 是苹果推出的流媒体协议,在 iOS 平台上可以获得天然的支持,采用系统提供的 AVPlayer 就能直接播放,不用自己开发播放器。
相对于 HLS 来说,采用 RTMP 协议时,从采集推流端到流媒体服务器再到播放端是一条数据流,因此在服务器不会有落地文件。这样 RTMP 相对来说就有这些优点:
延时较小,通常为 1-3s。
基于 TCP 长连接,不需要多次建连。
因此业界大部分直播业务都会选择用 RTMP 作为流媒体协议。通常会将数据流封装成 FLV 通过 HTTP 提供出去。但是这样也有一些问题需要解决:
iOS 平台没有提供原生支持 RTMP 或 HTTP-FLV 的播放器,这就需要开发支持相关协议的播放器。
博客于我是对知识的一种索引。
我主要会整理一些 iOS 开发相关的知识。
欢迎关注我的微博来讨论问题:/isamirchen当前位置:
& RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)
RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)
发布:hangge
阅读:58042
一、RTMP、RTSP、HTTP协议
这三个协议都属于互联网 TCP/IP 五层体系结构中应用层的协议。理论上这三种都可以用来做视频直播或点播。但通常来说,直播一般用 RTMP、RTSP。而点播用 HTTP。下面分别介绍下三者的特点。
1,RTMP协议
(1)是流媒体协议。
(2)RTMP协议是 Adobe 的私有协议,未完全公开。
(3)RTMP协议一般传输的是 flv,f4v 格式流。
(4)RTMP一般在 TCP 1个通道上传输命令和数据。
2,RTSP协议
(1)是流媒体协议。
(2)RTSP协议是共有协议,并有专门机构做维护。.
(3)RTSP协议一般传输的是 ts、mp4 格式的流。
(4)RTSP传输一般需要 2-3 个通道,命令和数据通道分离。
3,HTTP协议
(1)不是是流媒体协议。
(2)HTTP协议是共有协议,并有专门机构做维护。&
(3)HTTP协议没有特定的传输流。&
(4)HTTP传输一般需要 2-3 个通道,命令和数据通道分离。
二、可用的直播流地址
通常我们进行 RTMP/RTSP 开发时,除了可以自己搭建视频服务器来进行测试外。也可以直接使用一些电视台的直播地址,省时省力。
下面是我收集汇总的一些视频直播地址,亲测可用。&&1,RTMP协议直播源香港卫视:rtmp://live.hkstv./live/hks2,RTSP协议直播源珠海过澳门大厅摄像头监控:rtsp://218.204.223.237:554/live/1/691F/e7ooqwcfbqjoo80j.sdp大熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov3,HTTP协议直播源香港卫视:http://live.hkstv./live/hks/playlist.m3u8CCTV1高清:http://ivi./hls/cctv1hd.m3u8CCTV3高清:http://ivi./hls/cctv3hd.m3u8CCTV5高清:http://ivi./hls/cctv5hd.m3u8CCTV5+高清:http://ivi./hls/cctv5phd.m3u8CCTV6高清:http://ivi./hls/cctv6hd.m3u8苹果提供的测试源(点播):.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8
三、播放软件推荐:VLC要播放视频直播流,或者测试一个直播视频地址是否可以使用。这里推荐 VLC 媒体播放器。功能强大且跨平台。支持 Windows、Mac OS、Linux、Android、iOS。官网地址:打开播放器,选择菜单中“媒体”-&“打开网络串流...”。在弹出页面中填入视频地址即可。

我要回帖

更多关于 合同和协议有什么区别 的文章

 

随机推荐