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

halhgkweit8888888 · · 144 次点击 · 开始浏览    置顶

C++大型流媒体项目-从底层到应用层千万级直播系统实战 流媒体是指将一连串的媒体数据压缩后,经过网络分段发送数据,在网上即时传输影音以供观赏的一种技术与过程。此技术使得数据包得以像流水一样发送,如果不使用此技术,就必须在使用前下载整个媒体文件。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),其访问请求导向发布服务器节点,获得流媒体数据,通过网页浏览器直接观看直播视频内容。![QQ截图20240606175130.png](https://static.golangjob.cn/240607/832e89675562501f67eb186916a3cf0f.png)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

144 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传