计算机网络④-③/④:流媒体协议:编码/推流/拉流、 P2P协议:.torrent/DHT

news/2024/11/2 14:28:32/

应用层(OSI 模型的第七层, TCP 模型的第四层, 即应用层,)还有RTMP、P2P等协议。
1 流媒体协议

视频流中的图片存在:空间冗余、时间冗余、视觉冗余、编码冗余。可以通过编码来压缩视频。

编码应该具有一定的标准:ITU-T(国际电信联盟电信标准化部门)和MPEG(ISO的动态图像专家组)联合制定了H.264/MPEG-4 AVC编码标准。

直播的过程
主播:采样-编码-推流
服务端:接流-流处理-分发
观众:拉流-解码-播放

如何编码
将视频分为三种帧:
I帧-关键帧
P帧-前向预测编码帧
B帧-双向预测内插编码帧

一个视频可以拆分成一系列的帧,每一帧拆分成一些列的片,每一片都放在一个NALU(Network Abstraction Layer Unit,网络提取层单元)里面,NALU之间都是通过特殊的起始标识符分隔的,在每一个I帧的第一片前,要插入单独保存的SPS和PPS的NALU,最终形成一个长长的NALU序列。

推流
使用RTMP推流。
推流的过程是将NALU放在消息里发送,这个消息也称为RTMP(Real Time Messaging Protocol,实时消息传输协议)包。

拉流
客户端建立一个RTMP连接,读取视频流,先读到H.264的解码参数,例如SPS和PPS,然后将收到的NALU组成的一个个帧进行解码,交给播放器播放。

④-③小结:
  ①编码的两大流派达成了一致,都是通过关于时间、空间的各种算法来压缩数据的。
  ②压缩好的数据,为了方便传输会组成一系列的NALU,按照帧和片依次排列。
  ③排列好的NALU在网络传输时,要按照RTMP包的格式进行包装,RTMP包会拆分成块进行传输。
  ④推送到流媒体服务器的视频流经过转码和分发,可以被客户端通过RTMP拉取,然后组合为NALU,解码成视频格式进行播放。

2 P2P协议

FTP协议
文件下载可以通过HTTP,但是速度慢。
还可以通过FTP(File Transfer Protocol,文件传输协议),FTP基于TCP,会建立控制连接和数据连接。

FTP有主动模式(PORT)和被动模式(PASV),这些是在FTP服务器的角度来说的。

P2P Peer to Peer
资源不在集中在某些设备上,而是分散的储存在多台设备上,设备称为Peer。

.torrent文件
.torrent文件由两部分组成,announce(tracker和URL)和文件信息

DHT(Distribute Hash Table,分布式哈希表)
每个加入这个DHT网络的机器,都要负责存储这个网络里的部分资源信息和其他成员的联系信息,相当于所有机器构成了一个庞大的分布式存储数据结构。
DHT的工作方式具体见书P167

④-④小结:
  ①下载一个文件可以使用HTTP或FTP,这两种协议都使用集中下载的方式,而P2P换了一种思路,采用去中心化下载的方式。
  ②P2P也有两种下载方式, 一种是依赖于tracker服务器,即元数据集中,文件数据分散;另一种基于分布式哈希算法,元数据和文件数据全部分散。


http://www.ppmy.cn/news/132256.html

相关文章

PPEasy(P2P+流媒体)传输系统简介

现在有很多人架设视频网站,要缓解视频网站服务器带宽的压力,最好的办法是使用p2p的方式。从头写一个p2p系统,要花费太多功夫,不如直接用第三方开发包。本文介绍开源的p2p直播系统PPeasy,并给出一些有用信息。 PPeasy是…

几种P2P流媒体开源项目介绍

P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大&#x…

【p2p】p2p streaming capturer based on flv

传统的p2p架构:边缘服务器p2p seed支持客户端p2pplayer直接拉取服务端的streaming 负责给p2pcapturer 喂数据 p2pcapture 收到的是标准流媒体协议, – 有可能,streaming还得做转码p2pcapture 把收到的流都mux 为flvp2pcapturer 负责生成p2p包给到supperpeer服务 p2pcapturer…

p2p传输实时视频流

HYP2P是好游科技开发的p2p sdk,利用nat穿透的原理实现p2p打洞,主要用于实时音视频的传输。使用时可以配置成tcp模式或udp模式,tcp模式会自动帮您解决丢包、乱序、重传问题。中转模式则是基于tcp实现的。您可以灵活的自定义通信双方的协议&…

什么是p2p流媒体技术?

P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“”。“对等”技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。德国互联网调研机构ipoque称&…

让流媒体服务SRS支持P2P通信

# srs支持p2p通信简介 流媒体服务srs是国内开发且开源的一款功能强大,性能强劲的优秀的流媒体服务器,目前正被越来越广泛的使用。srs一般被用户部署在公网上的云主机,这样方便用户进行推拉流等各种操作。但将srs部署在公网的云主机上也会带来…

P2P流媒体

作 者:王洪波 马轶慧 1 P2P流媒体系统 1.1P2P流媒体系统播送方式 P2P流媒体系统按照其播送方式可分为直播系统和点播系统,此外近期还出现了一些既可以提供直播服务也可以提供点播服务的P2P流媒体系统。 1.1.1直播 在流媒体直播服务中,用户只…

基于P2P的流媒体技术概述

摘 要:P2P流媒体技术已成为网络应用中热门的技术之一,本文主要介绍流媒体,P2P的相关概念,并着重对P2P流媒体的关键技术进行了研究,最后又提出了P2P流媒体技术应该面对的挑战。 关键词:P2P ;流媒体;应用层组播;激励机制 1 引言      随着互联网的…