直播系统开发搭建部署中的流媒体技术

直播热潮尚未褪去,而直播系统开发究竟是如何实现的?能够支持直播一直火下去的直播系统开发究竟是怎么样的呢?直播的实现与直播系统开发中的流媒体是分不开的,想要知道如何实现直播,就要先了解流媒体。

什么是流媒体?

流媒体,又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看或收听被传输的媒体。“流”媒体的“流”指的是这种媒体的传输方式(流的方式),而并不是指媒体本身。

流媒体技术先在使用者端的计算机上创建一个缓冲区,在播放前预先下载一段数据作为缓冲,在网络实际连线速度小于播放所耗的速度时,播放程序就会取用小段缓冲区内的数据,这样可以避免播放的中断,也使得播放品质得以保证。

什么是流媒体服务器?

流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。流媒体服务器的主要功能是对流媒体内容进行采集、缓存 、调度和传输播放。流媒体应用系统的主要性能体现都取决于 媒体服务器 的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。

媒体文件从采集到最终播放的路径就是一套完整的流媒体系统所需的做成部分。流媒体系统所需的核心包括:

(1)编码工具:用于生成流媒体文件的编码工具。把原始的音视频数据通过一定的算法进行压缩,将压缩后的数据封装成相应的格式,为后续的数据传输做准备。

(2)流媒体服务器:用于控制、传送流媒体数据的流媒体服务器。向客户端响应流式连接(如RTMP/rtsp等),返回流媒体数据的服务程序即打包在RTMP等流式协议中的flv/ts等数据。流媒体服务器直接承担流媒体数据的输出,是整个流媒体系统的核心,它的功能、性能、运行支撑能力直接决定了一个大型流媒体系统的健壮程度。

(3)网络协议:用于支持特定的流式传输的网络协议,其实际上是使得互联网的客户端与服务器、客户端与客户端之间进行数据交换而建立的一系列规则、标准等的集合。流媒体是在互联网上传输的特殊数据,它需要有特定的规则和标准来承载。目前直播领域三大主要的网络协议是RTMP、HTTP-FLV、HLS,其它还有类似HLS商务HDS/DASH、监控领域的RTSP,目前比较活跃的WebRTC,以及很多基于UDP的平台内的私有协议。

(4)播放器:各操作平台用于显示流失数据的播放器。客户端从服务器接收到所需的流媒体数据后,播放器会对这些流媒体数据进行解协议、解封装、解码、音视频同步这几个环节。

直播系统开发技术的出现实现了直播,直播的发展必将带动直播系统开发技术的发展。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏中科院渣渣博肆僧一枚

tf.ReaderBase

用于不同读取器类型的基类,该基类将生成每个步骤的记录。从概念上讲,读取器将字符串“工作单元”转换为记录(键、值对)。通常,“工作单元”是文件名,记录是从这些文件...

7420
来自专栏Java程序员那些事

单例模式以及七种实现方式

通过两个判断,第一层是避免不必要的同步,第二层判断是否为null。 可能会出现DCL模式失效的情况。 DCL模式失效: singleton=new Single...

7320
来自专栏优惠2019

腾讯云文件存储的妙用

腾讯云的常用文件存储除了对象存储,云硬盘,还有一种文件存储,这个存储可以像硬盘一样挂载在内网的任何服务器

26470
来自专栏web秀

2018年十大轻量级的CSS框架为构建快速网站

如果你正在寻找一个新的CSS框架为你的下一个前端开发项目,请阅读一个开发人员对一些流行的选择的评论。

11120
来自专栏暴走大数据

聊聊分布式系统架构

26430
来自专栏前端客栈

前端开发者必备的Nginx知识及应用

Nginx现在几乎是众多大型网站的必用技术,大多数情况下,我们不需要去详细的配置它,但是了解它在应用程序中所担当的角色,以及如何解决这些问题是非常有必要的。下面...

9520
来自专栏崔庆才的专栏

最适合中国开发者的深度学习框架:走向成熟的 PaddlePaddle 1.0

自深度学习以分层逐步学习的奇思妙想崛起以来,深度学习框架就在不停地发展。在 AlexNet 还没有携带深度学习亮相 ImageNet 之前,由蒙特利尔大学 LI...

11820
来自专栏前端菜鸟变老鸟

WEB性能--TLS

SSL(Secure Sockets Layer,安全套接层)协议最初是网景公司为了保障网上交易安全而开发的,SSL协议在直接位于TCP上一层的应用层被实现。S...

9830
来自专栏有三AI

【知识星球】剪枝还是不剪枝,剪了到底有什么好?

我们都知道剪枝可以压缩计算量,那到底可以达到什么程度呢?下面看Google的一篇文章的研究。

23360
来自专栏算法工程师之路

每日算法题:Day 30(Python)

思路: 层次遍历,层次遍历,层次遍历,然后使用队列的size,用于判断每一行的个数,然后,一次遍历一次直接遍历一行,更多用法参考Day29(" 之字形打印二叉树...

13120

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励