FMS4 P2P直播解决方案

2024-05-11 08:58
文章标签 解决方案 直播 p2p fms4

本文主要是介绍FMS4 P2P直播解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


一、方案简介

目前视频直播通用的方案有两种,分别是单播模式和多播模式。单播模式虽然有着数据流稳定的特点,但具有地域化问题,且随着客户量的增加,服务器负载也随之增大,需要投入大量的硬件设备以及巨额的带宽费用。多播模式通常体现为现今的P2P技术。P2P模式解决了单播模式的问题,在提高传输速度和缓解服务器带宽压力上有较大优势,一般在直播中应用得较多。使用P2P技术后可节省内容发布商资金,提高数据流通量。

Adobe Flash Media Server 4(以下简称FMS4)发布后, 联讯软件立即投入大量人力进行研究与开发。在其发布短短几周内便掌握了Flashplayer P2P API的使用以及服务器的配置方法。 

P2P功能采用了最新的Flash RTMFP协议,该协议可以允许使用Adobe Flash Player 10.1的终端用户之间进行直接通信即实现了P2P传输技术。通过使用RTMFP,直播系统将极大降低带宽消耗,媒体数据在终端用户之间流动,不完全由服务器提供,更适合做大规模直播应用。

二、关于P2P
P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P还是英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续做主机上传,这种下载方式,人越多速度越快。

三、单播和多播的区别
单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。
\
(单播)

多播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它不仅提高了数据传送效率,还减少了骨干网络出现拥塞的可能性。

\
(多播)

四、RTMP和RTMFP的区别
RTMP(Real- Time Messaging Protocol)协议用于单播, RTMFP(Real‐Time Media Flow Protocol)协议用于多播。RTMP是基于TCP的,RTMFP是基于UDP的。UDP在传送直播数据方面比TCP有较多的优势,比如减少延时、对丢包的容忍,虽然在可靠性上有所损失。不象RTMP, RTMFP支持Flash Player直接发送数据给另一个,而不经过Server。服务端连接将被用来初始化并交互一些客户端之间的信息,也可用来进行服务端调用或者作为进入其他系统的网关。FMS4也将用来为用户提供地址认证服务和NAT地址转换服务,避免用户陷入混乱。
\
(RTMP协议)

\
(RTMFP协议)

五、方案实现
\ 

(1)视频源:可以使用电视信号、摄像机以及其他编码机支持的视频源。
(2)编码机通过采集卡将信号采集并转码,配合FMS4配置器以RTMP协议发送给FMS4服务器。
(3)配置器(为方便用户使用,我公司重新编写了中文版配置器)专用于生成多播地址的应用。并将此地址分发给编码机及直播应用(联讯电视直播系统、网络课堂系统及网络电视台系统适用)。
(4)直播应用将多播地址发送至我公司客户端视频播放器,视频播放器识别多播地址后,向FMS服务器请求后,获得视频源及其他种子信息并开始视频数据传送。

\

六、技术特点
1、布置简单。 只需要安装流媒体服务器并进行简易配置即可。
2、高扩展性。 可配置多台FMS服务器组成集群, 增加负载能力。
3、RTMFP协议采用了UDP提升了传送的速度,相对之前的TCP协议在数据传输效率上大大提高。 UDP是Internet上一种更有效传送音频视频的方法,虽然会有一些丢包,错包。RTMFP有两个特性可以帮助解决一些连接错误。
(1)快速连接恢复:连接在以外情况下将快速恢复。例如,一个无线连接掉线了,一旦重连,他将迅速拥有所有的传送能力。
(2)IP动态化:一个活动的网络会话将以PEER来标识,即使他变了一个IP,也可以保持原来的会话。例如,一个笔记本在一个无线网络获得了一个新IP地址,他将立刻继续刚才的会话。
4、减少音视频直播、点播、多人在线游戏等应用的网络带宽的消耗,减轻服务器的负担。
5、负载均衡。P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。

这篇关于FMS4 P2P直播解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

Linux(centos7)虚拟机没有IP问题及解决方案

《Linux(centos7)虚拟机没有IP问题及解决方案》文章介绍了在CentOS7中配置虚拟机网络并使用Xshell连接虚拟机的步骤,首先,检查并配置网卡ens33的ONBOOT属性为yes,然后... 目录输入查看ZFhrxIP命令:ip addr查看,没有虚拟机IP修改ens33配置文件重启网络Xh

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

Navicat连接Mysql8.0.11出现1251错误的解决方案

《Navicat连接Mysql8.0.11出现1251错误的解决方案》在重装电脑并安装最新版MySQL后,Navicat和Sqlyog连接MySQL时遇到的1251和2058错误,通过将MySQL用户... 目录Navicat连接mysql8.0.11出现1251错误原因分析解决问题方法有两种总结Navic

tomcat日志中文乱码问题及解决方案

《tomcat日志中文乱码问题及解决方案》文章主要介绍了在使用Tomcat时遇到的乱码问题及其解决方法,页面输出乱码可能由于server.xml配置、HTML标签、编程输出编码不一致引起,解决方法包括... 目录一、页面输出乱码1.server.XML配置未注明编码格式2.catalina.bawww.cp

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏