新睿云

> 知识库 > 流媒体是什么?流媒体服务器怎么搭建?适合用哪些软件?

流媒体是什么?流媒体服务器怎么搭建?适合用哪些软件?

作者/来源:新睿云小编 发布时间:2019-09-26

流媒体又是现在出现的一个新概念,要说新其实也不算新,不过笔者的村里刚刚通网,所以也就才知道。今日我们探讨一下流媒体一些概念含义和简单的技术原理。

笔者个人使用的最多的下载软件可能是迅雷,早期的迅雷可能大家也都用过,会出现什么问题呢?比如你一个电影,必须等全部下完才能观看,有的时候坐在电脑前干着急,那些心如止水随手挂机下载就走的大神不在此列……

迅雷

就像这种,动不动0kb/s,虽然我很慢,但我依旧很自豪……

后来迅雷推出了边下边播的技术,我们可以看以看下载下来的内容。有部分网页播放视频的缓存也是这样,我们可以拖动进度条在已经有缓存的内容的地方,丝毫感受不到卡顿。这种边下边播的技术就是传说中大名鼎鼎的流媒体。

流媒体架构

1、下方引入专业点的说法,当然我也是搜集的资料,不关心原理可以直接跳过!

流媒体技术包括五大点:推流,收流,编解码,流服务器,播放器。

推流器:用于推送本地视频或摄像头或实时流;

收流器:用于接收远程媒体流或实时流;

编码器:推流收流都需要对流进行解复用编解码;

流媒体服务器:用于发布直播、录播;

播放器:用于播放发布的流媒体。

流媒体技术从传输形式上可以分为:顺序流式传输和实时流式传输。

顺序式传输是介于下载本地播放与实时流媒体之间的一种播放方式,下载本地播放必须全部将文件下载完成后才能播放,而顺序式传输不必等到全部下载完成后再播放,也就是说用户在下载文件的同时用户可以观看,但是用户只能观看已下载的那部分,而不能要求跳到还未下载的部分。因此,这种方式也被称之为“伪流媒体传输”。常应用于视频网站的点播。

实时流式传输才是真正意义上的流媒体传输。用户可以一边接收数据包一边播放,数据总是实时传送,可以实现实况转播(就像如今的视频直播一样)。实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则用户看到的视屏就会暂停。主要应用于网络视频直播。

为了弥补网络环境的影响,保障数据包的顺序传输,使流媒体数据连续输出,流媒体传输采用了缓存系统。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。

流式传输的实现需要合适的传输协议,由于传统的TCP协议耗费资源较多,那么一般用什么协议呢?

RTMP, Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。RTMP 基于 flash 无法在 iOS 的浏览器里播放,但是实时性比 HLS 要好。RTMP 是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上绝大多数的直播产品都采用了这个协议。

HLS,HTTP Live Streaming(HTTP直播流技术),Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。

流媒体发展

2、流媒体服务器端搭建软件简介

1.Free Cast:一个使用Java语言编写的P2P的流媒体开源平台。

2.Easy Darwin:是一款由国内开源流媒体团队开发和维护的开源流媒体平台框架。

3.Live555:是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。

4.Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流;录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。

5.Free UPnP Entertainment Service:是一个开源的多平台通用的即插即用的音频、视频的媒体服务器,支持在线对ogg/vorbis,musepack/mpc,FLAC和AAC/MP3进行转码到MP3、mp2、wav或者pcm,还包括图片转换、缩放等。

6.Cumulus Server:又名open rtmfp,是一个完全开源和跨平台的可扩展的RTMFP服务器脚本。Cumulus Server在GPL框架下遵循速度、优势、跨平台、轻量和高质量代码。

7.Open AMF:是免费的开放源码替代Macromedia的远程Java Flash。这是因为能够提供作为应用服务,以FlashMX的大媒体的专有解决方案。

8.cmzacfunmsg:一个修改自php-rtmp-client的开源软件,可以精确模拟flash客户端向FMS发送格式化的AMF消息,所以在没有flash插件的情况下也可以进行与FMS交互。

9.Open Streaming Server:是一个数字媒体传送器,主要功能包括支持mp4、3gp、WMF和qt文件格式;动态带宽适配;负载均衡。

10.Ffmpeg:是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。

流媒体服务器软件相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体服务器技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。

3、流媒体服务器通过软件的具体搭建教程

搭建教程不放在本文中,实在太长,笔者怕诸位把下拉键都按坏了。再者也没必要重复造轮子,如果有搭建有需要新睿云这边推荐您看这篇CSDN的这篇《Linux下视频流媒体服务器搭建详解

热门标签
new year
在线咨询
咨询热线 400-1515-720
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待