P2P直播的技术原理和改进 (抛砖引玉)

2023-10-28 08:32

本文主要是介绍P2P直播的技术原理和改进 (抛砖引玉),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://bbs.tvkoo.com/dispbbs.asp?boardID=3&ID=4017&page=1

最近对P2P直播技术进行了一些研究,谈谈个人对Tvkoo软件的优缺点的看法,一方面希望Tvkoo能做的更好,另一方面也抛砖引玉一下:

P2P直播的技术难点有:
一、防火墙的穿透:超过90%的电脑都在防火墙后面,如果让2台在防火墙后面的电脑能够实现P2P互联,这是一个技术的难点。有2种方式:

1. 要求用户配置TCP端口:BT和电驴采用的方式,配置需要网络专业知识。一般做法是通过在防火墙上开启TCP端口来实现,如果开启了端口或者本身有Internet IP地址的,为高联通性电脑;在防火墙内并且没有开启TCP端口的电脑,为低联通性电脑。高联通性电脑可以和其它的高联通性电脑已经低联通性电脑进行P2P;而低联通电脑只能和高联通性电脑进行P2P。因此在BT、电驴中,有Internet IP或者已经在防火墙上开启端口的电脑速度很快,而在防火墙后面的电脑(一般为局域网上网方式)就比较慢了。而通过局域网方式上网的电脑超过70%,如果没有网络基础,或者没有网管特殊配置,只能处于低联通性,速度很慢。

2. 防火墙自动穿透。无需用户配置,自动让2台在防火墙后面的电脑能P2P互联。P2P连接可以使用TCPUDP 2种方式。由于WinXP SP2限制了一个应用程序的TCP连接数,因此采用TCP方式进行P2P的话,要安装TCP限制的破解软件。而Tvkoo是使用UDP进行数据传送的,因此不会有TCP限制。这是为什么有些用户说:通过Netstat看不到很多的TCP连接而怀疑Tvkoo是不是P2P软件的原因。

TvkooP2P穿透力是我见到最强的软件了,当然由于没有使用TCP,使得在仅允许HTTP访问的防火墙后面的计算机没有办法访问。SkypeP2P穿透时有一个技巧,让一些有Internet IP的电脑使用TCP80端口,在仅允许HTTP访问的防火墙后面的电脑通过类似HTTP的访问方式连接这些80端口的电脑进行P2P连接。Tvkoo也可以考虑一下这个方式。

二、WMV格式的分析

目前P2P直播都是使用WMV格式,通过模拟HTTP服务器的方式,把WMV数据流传送给Media Player。这是P2P直播的关键点。需要将Media Encoder发出的HTTP数据进行拆包,然后组成30秒-1分钟的P2P数据块,然后通过P2P方式将数据块发送给Tvkoo客户端,Tvkoo模拟成HTTP服务器将传输完成的数据块发送给Media Player。这部分Tvkoo做的也不错。

三、如何有效的选择P2P的节点

这是Tvkoo的弱项。因为一台电脑在P2P传输时,最多连接几十台其它的电脑。当几万台电脑同时传送一个P2P数据块时,要有一个优化算法。比如:美国有5000个用户,中国电信有5000个用户,中国网通有5000个用户,而每个用户最多只能连3050个节点,如果不凑巧,一个电信的用户连接了20个网通的用户和30个美国的用户,就不断的出现断断续续的情况了。这就是为什么人一多,Tvkoo就卡,并且Tvkoo要把国外IP封掉的原因了。

有什么好的方式解决这个问题呢?我先抛砖引玉一下:

(1)    作为P2P直播的营运商,可以多设几台P2P种子服务器,分布在不同的网段中。比如:北方网通设一台(),南方电信设一台(),种子的内容是一样的。种子服务器多了,可以降低优化算法的难度。

(2)    种子服务器和普通节点的优先级:种子服务器的优先级总数低于普通节点的,如果普通节点的速度快了,就减少从种子服务器获取的数据量。

(3)    全球IP地址表。P2P节点仲裁服务器中,应该有一个全球IP地址表,分中国大陆、香港、台湾、北美、欧洲、澳洲、其它。中国大陆先按照营运商分:电信、网通、铁通、联通、教育网等,再按照省份分类。(网上有下载,可以整理)

(4)    高速网段表。在P2P访问中,节点动态地将速度快的其它节点IP地址传回服务器,服务器根据全球IP地址表算出网段,以网段-网段的方式记录在数据库中。

(5)    当一个新用户连入节点时,在全球IP地址表中找到最近的节点,按照比例依次分配最快网段的节点;最近的节点;差一个级别的稍近的节点;随机节点以及种子服务器。

(6)    P2P在数据传送中,可以将30秒视频作为1块数据包;数据包中按照每16KB作为一个数据块。每个时间段(2),本节点向其它节点交换一下数据块的传送情况,然后计算一下数据包中每个数据块的拥有率,优先传送拥有率低的数据块。在拥有率相当的情况下,随机选择。

(7)    在数据交换中,对于传送慢的节点,定期剔除,然后问节点仲裁服务器要新的节点。

(8)    如果数据包中小于10%的数据块没有传送完毕,在时间充足的情况下,对于余下的数据块,可以同一个数据块向多个节点请求。

(9)    节点仲裁服务器也会将新的P2P节点强行加载到另一个节点上,但不能超过节点最大连接数。

这篇关于P2P直播的技术原理和改进 (抛砖引玉)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/292000

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频