论坛首页 编程语言技术论坛

C++大型流媒体项目-从底层到应用层千万级直播系统实战

浏览 1204 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2024-06-07  
C++大型流媒体项目-从底层到应用层千万级直播系统实战
网盘地址:https://pan.baidu.com/s/10tTBWSMFZFEW7LAuxiZunA 提取码:nk9o
腾讯微云下载地址:https://share.weiyun.com/BGQvqkNE 密码:r9hj5d


流媒体是指将一连串的媒体数据压缩后,经过网络分段发送数据,在网上即时传输影音以供观赏的一种技术与过程。此技术使得数据包得以像流水一样发送,如果不使用此技术,就必须在使用前下载整个媒体文件。12

流媒体技术有三大操作平台,分别是微软公司、RealNetworks、苹果公司提供的,其中流式传输是实现流媒体的关键技术。流媒体技术可以大大缩短启动延时,用户不用等到所有内容都下载到硬盘上才能开始浏览,在经过一段启动延时后就能开始观看。此外,流媒体技术对系统缓存容量的要求也大幅降低,因为不需要把所有的文件都下载到缓存中。14

目前,流媒体业务基本可以分为流媒体点播(VOD)、流媒体直播以及下载播放三种典型业务模式。而流媒体平台方面,有诸如Netflix、Amazon Prime Video和迪士尼+等世界知名的流媒体巨头提供丰富的在线流媒体内容服务。

在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。具体的传输流程如下:

(1)Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来。

(2)用HTTP从Web服务器检索相关数据,由A/V播放器进行初始化。

(3)从Web服务器检索出来的相关服务器的地址定位A/V服务器。

(4)A/V播放器与A/V服务器之间交换A/V传输所需要的实时控制协议。

(5)一旦A/V数据抵达客户端,A/V播放器就可播放。

一个完整的流媒体系统应包括以下几个组成部分。
◇编码工具:用于创建、捕捉和编辑多媒体数据,形成流媒体格式,这可以由带视音
频硬件接口的计算机和运行其上的制作软件共同完成。
◇流媒体数据.
◇服务器:存放和控制流媒体的数据。
◇网络:适合多媒体传输协议或实时传输协议的网络.
◇播放器:供客户端浏览流媒体文件。
网络视频直播系统应用流媒体技术在网络上进行直播,同时支持进行录播(系统自动录制,方便用户随时点播),用户访问指定的直播网站页面(URL),其访问请求导向发布服务器节点,获得流媒体数据,通过网页浏览器直接观看直播视频内容。
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics