http协议的流媒体服务器
hls协议的格式

hls协议的格式HLS(HTTP Live Streaming)是一种流媒体传输协议,它被广泛应用于在互联网上的视频直播和点播服务中。
HLS的格式使得视频内容能够以流的形式分割并传输给用户,同时也提供了自适应性能,使得用户可以根据自身的网络环境进行流畅的观看。
HLS协议的格式具有以下几个关键点。
首先,HLS将视频内容切分成一个个小的TS(Transport Stream)分片。
每个TS分片通常持续几秒钟,这样的设计使得视频可以以连续的方式播放。
这也有助于提高用户体验,因为即使在网络波动的情况下,只有当前播放的分片会受到影响,不会影响整个视频的观看。
其次,HLS采用了自适应码率技术。
在服务器端,视频内容会根据不同的码率进行编码,并生成多个不同分辨率的视频流。
然后,根据用户的网络带宽情况,客户端会自动选择最适合的码率进行播放,以保证视频的流畅性,避免了因为网络带宽不足而导致的卡顿和缓冲。
此外,HLS还支持多语言和字幕。
视频内容可以包含多个音频和字幕轨道,用户可以通过界面选择自己喜欢的语言或者字幕。
这样的设计使得HLS协议在全球范围内的视频传输都能够提供本地化的体验。
最后,HLS协议的格式还可以通过加密和认证来保护视频内容的安全性。
视频内容可以使用AES(Advanced Encryption Standard)进行加密,以防止未经授权的访问和盗用。
同时,HLS还支持使用基于令牌的认证机制,确保只有具备合法权限的用户才能观看受保护的内容。
总之,HLS协议的格式为视频直播和点播提供了一种高效可靠的传输方式。
它的自适应性能、多语言支持、加密认证等特点,使得用户可以在各种设备上流畅地观看视频内容。
随着网络技术的不断发展,HLS协议的格式也在不断改进和完善,为用户提供更好的观看体验。
hls标准

hls标准HLS(HTTP Live Streaming)是一种用于流媒体传输的标准协议,由苹果公司开发并首次引入。
HLS协议允许实时或点播音视频内容通过HTTP协议进行传输,以便在各种设备和平台上实现流畅的播放,特别适用于在线视频直播和点播服务。
以下是HLS标准的一些主要特点和要点:1.自适应码率调整:HLS支持自适应码率调整(Adaptive BitrateStreaming,ABR),允许根据用户的网络带宽和设备性能,自动选择最合适的视频质量。
这有助于确保观众在不同网络条件下获得最佳的播放体验。
2.分段传输:视频内容被分成短的媒体段,每个段通常持续几秒钟。
这些媒体段通过HTTP协议分别传输,从而实现流媒体的连续播放。
3.兼容性:HLS是一种广泛支持的流媒体协议,可以在多种操作系统、设备和浏览器上播放。
这包括iOS设备、Android设备、Web浏览器、智能电视和其他平台。
4.安全性:HLS支持加密和数字版权保护,以确保内容的安全性,并防止非法复制和分发。
5.多音频和字幕轨道:HLS支持多个音频轨道和字幕轨道,允许观众选择不同的音频语言或字幕选项。
6.实时直播和点播:HLS可用于实时直播和点播内容,使其适用于各种应用,包括在线直播活动、视频点播服务和教育平台等。
7.缓存和CDN:HLS支持内容分发网络(CDN)和缓存服务器,以减轻服务器负担并提高内容传输效率。
8.自定义播放器:开发人员可以根据自己的需求自定义HLS播放器,以实现不同的用户体验和功能。
HLS已成为流媒体领域的重要标准之一,广泛应用于在线视频平台、社交媒体、直播服务和许多其他应用领域。
虽然最初由苹果公司开发,但它已成为跨平台的标准,并由许多其他设备制造商和开发者采用和支持。
流媒体服务器系统

流媒体服务器系统流媒体服务器系统是一种通过网络传输实时音视频内容的系统。
它提供了一个有效的方式来实现音视频内容的传输和播放,使用户可以通过互联网即时观看或听取各种媒体内容。
流媒体服务器系统由多个组件组成,包括服务器、编码器、媒体库、流媒体协议以及客户端等。
接下来,将详细介绍流媒体服务器系统的各个组件及其功能。
首先是流媒体服务器。
流媒体服务器作为核心组件,负责接收、存储和传输媒体内容。
它能够处理大量的并发请求,并将媒体内容以流的形式传输给客户端。
流媒体服务器通常具备高带宽和强大的处理能力,以保证媒体内容的流畅传输。
其次是编码器。
编码器负责将音频或视频文件编码为压缩格式,以便在网络上进行传输。
它使用一种或多种压缩算法对音视频信号进行压缩,以减小文件大小并提高网络传输效率。
编码器还可以根据不同的网络带宽自动调整编码参数,以保证音视频内容的质量和流畅度。
媒体库是流媒体服务器系统中负责存储、管理和检索媒体内容的组件。
它可以管理大量的音视频文件,并提供搜索、分类和标签等功能,以方便用户快速找到所需的媒体内容。
媒体库还可以根据用户的喜好和历史记录推荐相关的音视频内容,提供个性化的使用体验。
流媒体协议是流媒体服务器系统中用于传输音视频内容的标准。
常见的流媒体协议包括HTTP、RTMP、HLS和DASH等。
不同的流媒体协议适用于不同的网络环境和终端设备,可以实现低延迟、高效的音视频传输。
最后是客户端。
客户端是连接到流媒体服务器系统的终端设备,如电脑、手机或智能电视等。
客户端通过流媒体协议与服务器进行通信,并接收和播放服务器传输的音视频内容。
客户端通常具备播放控制、用户界面和交互功能,以提供良好的用户体验。
总之,流媒体服务器系统是一种强大而复杂的系统,它通过流畅传输音视频内容,使用户可以随时随地享受各种媒体内容。
通过不同的组件的协同工作,流媒体服务器系统能够实现高效的音视频传输和播放,为用户提供了一种全新的媒体消费方式。
流媒体协议

流媒体协议流媒体协议是指用于在网络环境下传输音频、视频等媒体数据的通信协议。
流媒体协议在实时性、带宽控制以及适应不同网络环境等方面都有一定的特殊要求,下面我们来介绍一些常见的流媒体协议。
首先是RTSP协议(Real-Time Streaming Protocol)。
RTSP协议是用来控制流媒体服务器的,它可以实现对媒体流的播放、暂停、快进等操作。
RTSP协议使用了常见的应用层协议,如HTTP、TCP等作为传输方式。
它适用于需要实现对媒体流控制的场景,比如视频监控、视频会议等。
另一个常见的流媒体协议是RTMP协议(Real-Time Messaging Protocol)。
RTMP协议是Adobe公司开发的一种用于流媒体传输的协议,它支持实时音频、视频的传输,并且对带宽控制较为灵活。
RTMP协议常用于视频直播、在线游戏等应用场景。
此外,HTTP协议(Hypertext Transfer Protocol)也可以用于流媒体传输。
虽然HTTP协议是一种非实时的协议,但是通过HTTP协议可以实现流式传输,即在接收者每次请求媒体数据时,服务器会分块发送数据,实现边下载边播放的效果。
流媒体的高延迟和缓冲时间可以通过HTTP协议来减少。
同时,HLS协议(HTTP Live Streaming)也是一种基于HTTP 协议的流媒体协议。
HLS协议将整个视频切成若干个小的文件片段,每个文件片段都有自己的URL地址。
在播放时,客户端会按照一定的规则请求这些文件片段,然后按照顺序播放。
HLS协议通过切片的方式,可以实现更好的适应带宽、适应网络恶化等情况。
最后还有WebRTC协议(Web Real-Time Communication)。
WebRTC协议是一种基于网页的实时通信协议,它可以实现浏览器之间的点对点音视频通信。
WebRTC协议使用了一种名为ICE(Interactive Connectivity Establishment)的技术,可以在不同网络环境下建立起通信连接。
RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)

RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)⼀、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/hks2,RTSP协议直播源珠海过澳门⼤厅摄像头监控:rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp⼤熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov3,HTTP协议直播源⾹港卫视:/live/hks/playlist.m3u8CCTV1⾼清:/hls/cctv1hd.m3u8CCTV3⾼清:/hls/cctv3hd.m3u8CCTV5⾼清:/hls/cctv5hd.m3u8CCTV5+⾼清:/hls/cctv5phd.m3u8CCTV6⾼清:/hls/cctv6hd.m3u8苹果提供的测试源(点播):/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8三、播放软件推荐:VLC要播放视频直播流,或者测试⼀个直播视频地址是否可以使⽤。
开源流媒体服务器SRS学习笔记(2)-rtmphttp-flvhls协议配置及跨域问题

开源流媒体服务器SRS学习笔记(2)-rtmphttp-flvhls协议配置及跨域问题对rtmp/http-flv/hls这三种协议不熟悉的同学,强烈建议先看看⽹友写的这篇⽂章科普下:。
srs可以同时⽀持这3种协议,只要修改conf配置⽂件即可,默认情况下加载的是/usr/local/srs/conf/srs.conf,参考下图:修改该⽂件:listen 1935;max_connections 200;srs_log_tank file;srs_log_file ./objs/srs.log;http_api {enabled on;listen 1985;}http_server {enabled on;listen 8080;dir ./objs/nginx/html;}stats {network 0;disk sda sdb xvda xvdb;}vhost __defaultVhost__ {# http-flv设置http_remux{enabled on;mount [vhost]/[app]/[stream].flv;hstrs on;}# hls设置hls{enabled on;hls_path ./objs/nginx/html;hls_fragment 10;hls_window 60;}}然后执⾏:sudo /etc/init.d/srs reload让配置即时⽣效,VLC Player⾥下列3个地址,应该都可以播放了:协议地址rtmp rtmp://srs_server_ip:1935/live/livestreamhttp flv http://srs_server_ip:8080/live/livestream.flvhls http://srs_server_ip:8080/live/livestream.m3u8要注意的是:hls是把实时的视频流,分成1个个⼩的切⽚,保存在/usr/local/srs/objs/nginx/html/live/ ⽬录下,参考下图:不太严谨的话,可以理解为播放的是服务器上已经⽣成好的视频⽚段,因此就算在obs把实时视频直播源切断,还是可以播放⼀段时间的。
流媒体转发服务器原理
流媒体转发服务器原理
流媒体转发服务器的原理是将视频流从源服务器接收,然后转发到目标客户端,以实现视频的实时传输。
其主要原理包括以下几个方面:
1. 接收视频流:流媒体转发服务器通过网络接收源服务器传来的视频流,可以通过HTTP、RTMP、UDP等协议接收。
2. 编码解码:流媒体转发服务器对接收到的视频流进行编码解码,将视频流转换成适合目标客户端播放的格式。
3. 缓存存储:流媒体转发服务器对视频流进行缓存存储,以便在需要时提供给目标客户端。
4. 传输到客户端:流媒体服务器将封装后的、编码后的流媒体数据传输到客户端,这个过程中需要依靠一些网络传输协议,如TCP(传输控制协议)、UDP(用户数据报协议)等。
其中TCP是面向连接的,可以保证数据的可
靠传输;UDP则是面向无连接的,传输速度更快,但不保证数据的完整性。
此外,流媒体转发服务器还需要具备一定的负载均衡能力,能够根据目标客户端的需求动态地分配视频流,以保证视频传输的质量和稳定性。
同时,为了保证安全性,流媒体转发服务器还需要对视频流进行加密处理,以防止未经授权的访问和篡改。
web播放rtsp方案
web播放rtsp方案Web播放RTSP方案是指使用Web技术实现对RTSP流的播放。
RTSP(Real-Time Streaming Protocol)是一种用于音频、视频和其他流媒体数据传输的网络协议。
而Web技术则是常用于浏览器上的应用程序开发的一系列工具和技术。
目前,有两种常见的Web播放RTSP方案:使用WebRTC和使用HTTP流媒体服务器。
首先,WebRTC(Web Real-Time Communication)是一种基于Web 浏览器的实时通信技术,支持音频、视频和数据的传输。
WebRTC可以轻松地实现Web播放RTSP,其中包括两个关键部分:媒体传输控制器(MTC)和媒体传输器(MT)。
MTC负责控制RTSP会话的建立和维护,而MT则负责处理音频和视频的传输。
使用WebRTC实现的Web播放RTSP方案具有较低的延迟和较高的性能,适用于实时传输和即时通信应用。
其次,使用HTTP流媒体服务器也是一种常见的Web播放RTSP方案。
HTTP流媒体服务器是在服务器端将RTSP流转换为HTTP流,并通过HTTP协议传输到Web浏览器的技术。
在这种方案中,RTSP流会被转换为HLS(HTTP Live Streaming)或者DASH(Dynamic Adaptive Streaming over HTTP)格式的流,然后通过HTTP协议传输到浏览器。
Web浏览器可以使用HTML5的video标签来播放这些流。
相对于使用WebRTC,使用HTTP流媒体服务器的Web播放RTSP方案实现更为简单,适用于较大规模的流媒体应用。
总结而言,Web播放RTSP方案可以通过使用WebRTC或者HTTP 流媒体服务器实现。
WebRTC方案适用于实时通信和即时通信应用,具有较低延迟和较高性能。
而使用HTTP流媒体服务器的方案相对简单,适用于较大规模的流媒体应用。
具体采用哪种方案,应根据具体需求和应用场景来选择。
流媒体服务器资料
流媒体服务器资料使用技术解释流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。
相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。
由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。
流媒体服务器只要类型分为:大并发视频服务器、直播时移服务器、P2P直播服务器、视频交互应用服务器视频应用管理:媒体内容管理系统、H.264/MPEG-4编码工具、机顶盒终端管理系统、节目导航与发布系统。
流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。
流媒体视频服务器软件1.典型的流媒体服务器有微软的Windows Media Service(WMS)a)适合C/S程序.2.Adobe公司的Flash Media Server简称FMS,被称为是目前开发Web音视频应用程序(比如,视频聊天室、视频会议系统、播客系统、音视频留言等等)的最方便最快捷的解决方案。
也在web应用程序开发上有着越来越广泛的应用。
FMS优良功能并不是免费的4000美金每个点。
FMS 采用RTMP(RTMPT/RTMPE/RTMPS)协议接收、传输视频,采用Flash Player作为播放前端。
a)适合B/S程序,收费,价格昂贵3.Ultrant Flash Media Server流媒体服务器软件,以及基于Java语言的开源软件Red5。
a)适合B/S程序JAVA开发编写开源免费. 后期开发工作量大.RED5开源的Flash流媒体服务器,开源的Red5成为人们的新宠。
Red5是一个采用Java开发开源的Flash流媒体服务器,功能上与FMS类似。
使用RTMP作为流媒体传输协议,它支持:把音频(MP3)和视频(FLV)转换成播放流;录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。
hls协议的格式
hls协议的格式HLS(HTTP Live Streaming)是一种流媒体传输协议,可以将音视频内容分割为小片段并通过HTTP协议进行传输。
它被广泛应用于视频直播和点播领域,在互联网上的视频播放中扮演着重要的角色。
本文将介绍HLS协议的格式,包括其基本原理、主要组成部分以及一些常见的应用。
一、HLS协议的基本原理HLS协议的基本原理是将一段完整的音视频内容分成多个小片段,并通过HTTP协议按照一定的顺序逐个进行传输,然后在客户端进行解析和播放。
这种分段传输的方式带来了以下几个优势:1. 自适应码率:HLS协议支持根据用户的网络状况自动调整音视频的码率。
服务器在传输过程中会提供多个码率的备用文件,客户端会根据当前的网络带宽自动选择合适的文件进行播放,以保证流畅的观看体验。
2. 异地容灾:由于音视频被分成多个小片段,即使在网络传输中某个片段丢失或损坏,也不会影响整个视频的观看。
客户端会根据需要向服务器请求缺失的片段,保证观看的连贯性。
3. 兼容性强:HLS协议基于HTTP协议,不依赖于特定的传输协议或软硬件设备,因此可以在各种平台和设备上进行播放,如PC、移动设备、智能电视等。
二、HLS协议的主要组成部分HLS协议由一系列的文件组成,这些文件共同构成了音视频的播放流程和相关信息。
下面介绍HLS协议的主要组成部分:1. M3U8文件:M3U8文件是HLS协议的核心文件,它是一个文本文件,包含了整个音视频播放的信息。
M3U8文件采用UTF-8编码,通过一系列的行来描述音视频的分片、码率、时长等信息,客户端会根据M3U8文件中的内容来进行播放。
2. 分片文件:分片文件是音视频内容被拆分后的小片段,通常以.ts 为后缀名。
每个分片文件一般都有固定的时长,客户端会根据M3U8文件中的描述顺序依次请求和播放这些分片文件。
3. 加密文件:为了保护音视频内容的安全性,HLS协议支持对分片文件进行加密。
加密文件通常以.key为后缀名,客户端在播放分片文件之前需要先请求对应的加密文件进行解密,确保内容的完整性和安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除http协议的流媒体服务器篇一:如何架设流媒体服务器如何架设流媒体服务器一、前言随着越来越多的朋友开始选择adsl、cablemodem或Fttb+lan作为首要的上网方式,宽频时代即将到来,这使我们“宽频ktV、影音聊天室、线上电影院、远程教育”的梦想即将成为现实,而与其密切相关的“流媒体(streamingmedia)”也成了许多人谈论的热门话题,因为“流媒体”正是实现这些宽频应用的技术动力。
宽频时代的到来还使得网民们不再满足于仅仅作为一项服务的受众,他们需要更大规模的交流,从中体现个体的价值,因此,许多朋友开始用自己的计算机,搭建网络广播和点播站点。
他们充满着满腔的热情,但不可否认的是,中国网民先天技术上的不足,让他们在建设这样的站点时遇到重重险阻,以至于放弃。
如何将这种热情在技术的引导下成为动力,这正是我们家用电脑所要做的,所以,在今天,在这里,我就将给大家介绍如何打造属于自己的流媒体服务器。
不过,在开始正式的流媒体服务器架设之前,请让我们先了解一下流媒体服务器的基础知识。
二、流媒体基础知识什么是流媒体?目前,在网络上传输音/视频等多媒体信息有两种解决方案,即http或ftp下载以及流式传输。
http或ftp下载使用标准的http和ftp协议,但由于多媒体信息个头巨大,下载一个多媒体文件一般需要几分钟或几小时的时间,这就造成为了看一个并不知道内容的视频,首先需要耗费可能比整个视频都要长的时间来完成下载。
这些被下载的文件还必须在下载前制作完成,放在网络服务器上,这样造成的直接后果就是:网络带宽不断提高,人们下载的等待时间越来越少,但最终还是不能观看网上现场直播。
流式传输时,声音、影像或动画等多媒体信息由流媒体服务器向用户计算机连续、实时传送,它首先在使用者端的电脑上创建一个缓冲区,于播放前预先下载一段资料作为缓冲,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。
当多媒体信息在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。
如果网络连接速度小于播放的多媒体信息需要的速度时,播放程序就会取用先前建立的一小段缓冲区内的资料,避免播放的中断,使得播放品质得以维持。
流式传输除了能够发送已经制作完成的文件外,还可以通过采集服务器实时采集现场音视频,推送到流媒体服务器端,实时提供给用户。
因此,流媒体除了能够更好的承担如下载一样的多媒体点播服务外,更能够应用在现场直播、电视转播、突发事件报道等多种对实时性传输要求较高的领域。
有关流媒体的厂商流媒体的市场巨大,世界上许多优秀的厂商都加入此行列,现阶段更是系统集成商竞争的风水宝地。
而在通用市场上,竞争的公司主要有三个:microsoft、Realnetworks、apple,而相应的产品就是:windowsmedia、Realmedia、quicktime。
而近来,以开发winamp著名的nullsoft公司也在自己的mp3服务器中加入了视频支持,欲在流媒体市场分一杯羹。
由于apple的服务器和编辑软件一般都以mac为操作平台,nullsoft的流媒体服务器属于新生不成熟事务,所以今天在这里我主要给大家介绍一下microsoft和Realnetworks 的产品。
流媒体的传输协议大家在观看网上电影或者电视时,一般都会注意到这些文件的连接都不是用http或者ftp开头,而是一些rtsp或者mms开头的东西,为什么是这样呢?实际上,这些和http 和ftp一样,都是数据在网络上传输的协议,只是它们是专门用来传输流式媒体的协议而已。
下面,让我们来看一下现在使用的主要的流媒体协议:1.Rtsp(Realtimestreamingprotocol),实时流媒体协议,它是由Realnetworks和netscape共同提出的,现在用于Realnetworks的Realmedia产品中;2.pnm(progressivenetworksaudio),这也是Real专用的实时传输协议,它一般采用udp协议,并占用7070端口,但当你的服务器在防火墙内且7070端口被挡,且你的服务器把smartingnetwork设为真时,则采用http协议,并占用默认的80端口;3.mms(microsoftmediaserverprotocol),这是微软的流媒体服务器协议,mms是连接windowsmedia单播服务的默认方法。
介绍了主要的三个,可能您还会问,apple的quicktime 使用哪种协议呢?在多数情况下,quicktime使用http协议,但实际上它也由标准的流媒体传输协议,这就是标准Rtsp协议,而Real公司使用的Rtsp是自己经过开发的。
在流媒体传输中,标准的协议就是Rtp (Realtimetransportprotocol,实时传输协议)、Rtcp(Real-timetransportcontrolprotocol,实时传输控制协议)、Rtsp(Realtimestreamingprotocol,实时流媒体协议)和RsVp (ResourceReserveprotocol,资源预订协议),厂商们的产品都是在这些协议的基础上进行研究与开发,限于篇幅,在这里我们就不再深入讨论了。
流媒体文件和发布格式有了实时的传输协议,我们应该还能够想到,只有较小的文件才适合网络实时传输,那么,流媒体文件采用了什么样的压缩算法呢?而使用windows操作系统的朋友可以看到,我们观看网上流节目时,它们的后缀名一般是rm、asf、wmv等,这些就是流媒体的格式。
流媒体文件格式经过特殊编(http协议的流媒体服务器)码,不仅采用较高的压缩比,还加入了许多控制信息,使其适合在网络上边下载边播放,而不是等到下载完整个文件才能播放。
常见的流媒体格式大致有以下几种:流媒体文件格式扩展(Video/audio)媒体类型与名称asfadvancedstreamingformat.(microsoft).rmRealVideo/audio文件(progressivenetworks).raRealaudio文件(progressivenetworks).rpRealpix文件(progressivenetworks).rtRealtext文件(progressivenetworks).swfshockwaveFlash(macromedia).movquicktime(apple公司格式)vivVivomovie文件(Vivosoftware).另外还有一个wmv格式,是windowsmediaVideo的简称,它与asf文件有稍许区别,wmv一般采用windowmediavideo/audio格式,asf视频部分一般采用microsoftmpg4V(3/2/1),音频部分是windowsmediaaudiov2/1,不过现在很多制作软件都没有把它们分开,所以直接更改后缀名就能够互相转换为对方格式。
制作完成的流媒体文件需要发布到网络上才能够被别人使用,这就需要以特定方式安排压缩好的流媒体文件,而安排流媒体文件的格式就被成为流媒体发布格式。
常见的发布格式主要有以下几种:流媒体发布格式扩展媒体类型和名称asfadvancedstreamingformat.smilsynchronisedmultimediaintegrationlanguage.ramRamFile.rpmembeddedRamFile.asxasFstreamRedirector/asF流转向器文件xmlextensiblemarkuplanguagempeg-4与流媒体说到流媒体就不能不提及mpeg-4。
mpeg-4是当前讨论的焦点之一,只因为它能够在大的压缩比下实现近似dVd品质的视频和音频效果,这也是许多朋友认为mpeg-4格式肯定比rm清晰的原因。
但事实上并不是如此,mpeg-4只是一种视频编码技术,它的清晰度也根据压缩时所选择的码率的不同有较大的改变(我们见到的mpeg-4格式文件通常为500kbps压缩生成,质量当然高了),并且,mpeg-4还有多种压缩标准,如microsoft的asf视频部分就是基于mpeg-4的discretecosinetransform(dct),另外还有divx的免费mpeg-4版本(开始是破解微软的格式而来)。
至于音频部分,更是混乱,microsoft采用windowsmediaaudiov2/1,divx 采用mp3或者更高质量的ac3等。
相比而言,Real或者apple 的格式使用的是自己开发的编码,在相同码率,特别是低码率下,不见得就比mpeg-4差,采取高码率的rm格式照样清晰可人,所以大家以后说rm格式清晰度差的观念要改变一下:),至少也要加上条件。
而且,最新的helixproducer中的RealVideo9采用Vp5压缩格式进行编码,这可比divx优秀多了!不过,流媒体服务器开始向mpeg-4格式靠拢是不争的事实,Real最新的helix就开始支持mp4格式文件的服务,而Realoneplayer更是只需安装一个插件便可实现mpeg-4格式的播放。
点播与广播在架设流媒体服务器之前,我们一定要了解一些点播与广播的知识。
点播是客户端与服务器之间的主动的连接,在点播连接中,用户通过选择内容项目来初始化客户端连接,一个客户端从服务器接收一个媒体流(这个连接是唯一的,其它用户不能占用),并且能够对媒体进行开始、停止、后退、快进或暂停等操作,客户端拥有流的控制权,就像在看影碟一样。
这种方式由于每个客户端各自连接服务器,服务器需要给每个用户建立连接,对服务器资源和网络带宽的需求都比较大。
广播指的是用户被动接收流。
在广播过程中,客户端接收流,但不能控制流,用户不能暂停、快进或后退该流,广播使用的数据发送手段有单播与广播。
使用单播发送时,服务器需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方式会非常浪费网络带宽和服务器资源,因此产生了组播(多播)技术。
组播(多播)吸收了上述两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的单独一个拷贝发送给需要的那些客户,组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。
但组播不仅需要服务器端支持,更需要有多播路由器乃至整个网络结构的支持。
单播与组播(多播)在上面我们已经了解了一些单播和组播的概念,这也是现在流媒体方面讨论的焦点之一。