流媒体技术计算机专业毕业论文内容摘要:

dia Server。 这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准 HTTP 服务器更复杂。 实时流式传输还需要特殊网络协议,如: RTSP(Realtime Streaming Protocol)或MMS(Microsoft Media Server)。 这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。 流媒体播送技术 为了能够让多媒体数据 在网络中很好地传输 ,并在客户端精确地回放 ,人们在流媒体的播送技术上做了很多改进 .下边 详细叙述了单播、 多播 、点播、广播和智能流等流媒体播送技术的基本原理 . 单播与多播 “ 单播 ” ( Unicast) : 主机之间 “ 一对一 ” 的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。 如果 10 个客户机需要相同的数据,则服务器需要逐一传送,重复 10 次 相同的工作。 但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用 IP 单播协议。 网络中的路由器和交换机根据其目标地址选择传输路径,将 IP单播数据 传送到其指定的目的地。 单播的优点: 1. 服务器及时响应客户机的请求 2. 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。 单播的缺点: 1. 服务器针对每个客户机发送数据流,服务器流量=客户机数量 客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。 2. 现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。 如果全部使用单播协议,将造成网络主干不堪重负。 现在的 P2P 应用就已经使主干经常阻塞,只要有 5%的客户在全速使用网络,其他 人就不要玩了。 而将主干扩展 20倍几乎是不可能。 “ 多播 (组播) ” ( Multicast) : 主机之间 “ 一对一组 ” 的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。 主 机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。 这样既能一次将数据传输给 多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。 组播的优点: 1. 需要相同数据流的客户端 加入相同的组共享一条数据流,节省了服务器的负载。 具备广播所具备的优点。 2. 由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。 IP 协议允许有 2 亿 6 千多万个( 268435456)组播,所以其提供的服务可以非常丰富。 3. 此协议和单播协议一样允许在 Inter 宽带网上传输。 组播的缺点: 1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和 QOS 加以弥补。 2.现行网络虽然都支持组播的传输,但在客户认证、 QOS 等方 面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。 点播与广播 “广播” ( Broadcast) : 主机之间 “ 一对所有 ” 的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用 路径选择,所以其网络成本可以很低廉。 有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。 在 数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数 据穿过路由器,防止广播数据影响大面积的主机。 广播的优点: 1. 网络设备简单,维护简单,布网成本低廉 2. 由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。 广播的缺点:。 2. 网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。 例如有线电视的客户端的线路支持 100个频道(如果采用数字压缩技术,理论上可以提供 500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。 也就是说无法向众多 客户提供更多样化、更加个性化的服务。 3. 广播禁止在 Inter 宽带网上传输。 “ 点播 ” ( ondemond): 点播连接是客户端与服务器之间的主动的连接。 在点播连接中,用户通过选择内容项目来初始化客户端连接。 用户可以开始、停止、后退、快进或暂停流。 点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会迅速用完网络带宽 智能流技术 智能流技术( SureStream) : Microsoft 的 Multiple Bit Rate(多比特率编码)、RealNetworks 公司的 SureStream 技术都是智能流技术。 智能流技术的特点:不同速率编码保存在同一文件或数 据库;播放时客户和服务器自动确定可用带宽提供适当的比特率的媒体流;客户连接速率降低,服务器自动检测带宽变化,并提供更低带宽的媒体流;关键帧优先 , 音频数据比部分帧数据重要。 3. 概要设计 概述 本套软件是用 .Net +Sqlite 开发的基于 . 框架的 B/S 结构的在线视频点播系统 功能说明 提供给注册用户在线视频点播的功能(有用户注册,用户管理模块。 因权限的不同各自的用户管理模块也不尽相同) 数据库设计 本系统采用了 一个轻量级别数据库 Sqlite,特点如下: SQLite 是一款轻型的 数据库 ,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K的内存就够了。 它能够支持 Windows/Linux /Unix 等等主流的 操作系统 ,同时能够跟很多程序语言相结合,比如 Tcl、 PHP、 Java 等,还有 ODBC 接口,同样比起 Mysql、 PostgreSQL 这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 SQLite 虽然很小巧 ,但是支持的 SQL 语句不会逊色于其他开源数据库,它支持的 SQL 包括: ATTACH DATABASE BEGIN TRANSACTION ment COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INSERT ON CONFLICT clause PRAGMA REPLACE ROLLBACK TRANSACTION SELECT UPDATE 同时它还支持事务处理功能等等。 也有人说它象 Microsoft 的 Access,有时候真的觉得有点象,但是事实上它们区别很大。 比如 SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象 Access 一样需要 Office 的支持。 如果你是个很小型的应用,或者你想做嵌入式开 发,没有合适的数据库系统 ,那么现在你可以考虑使用 SQLite。 目前它的最新版本是 ,它的官方网站是: 代码和文档。 同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。 由于 Sqlite 的以上特点,它成为我这个系统中的首先数据库。 本系统中我只用 Sqlite 建了一张 Users 表,字段大小 类型 如下所示: 页面 文件 设计 本系统采用框架结构(分为上左 中下四个模块) 上面的模块为 (一个 Flash 文件加上导航条) 下面的模块为 (版权和技术支持联系方式,另外加了一个隐藏、显示 页面的功能) 左面的模块为 (用于用户登录和显示树结构导航) 中间的模块用于填充各自的页面 ,主页填充为 (欢迎页面,有用户注册链接) 流媒体介绍的 八个页面, 用于显示每个页面的链接,其他分别为 , , , , , ,。 一个框架页面 也就是首页 一个注册页面 一个用户管理页面 一个进入视频点播的页面 另外还有一个 CSS 文件和几个类文件(用于验证用户登录信息和验证码) 部分代码说明 用户登录代码 using System。 using。 using。 using。 using。 using。 using。 using。 using。 using。 using。 public partial class left : { SQLiteConnection MyCon = new SQLiteConnection()。 SQLiteCommand MyComm = new SQLiteCommand()。 protected void Page_Load(object sender, EventArgs e) { if (!) { if (Session[userclass] !=null amp。 amp。 Session[username] !=null) { = Session[username].ToString()。 = 欢迎您的光临。 = true。 = true。 = false。 = true。 = true。 = true。 } ()。 //校验码转为大写 (texttransform, uppercase)。 } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (Session[CheckCode].ToString() != ()) { = 验证码错误,请输入正确的验证码。 return。 } //建立 Connection对象 MyCon = new ConnectDB().OpenDB(ConnectionString)。 MyComm = new SQLiteCommand(select * from users where username = 39。 + () + 39。 and password =39。 + () + 39。 , MyCon)。 //打开数据库连接 ()。 //建立 DataReader对象 SQLiteDataReader dt = ()。 if (()) { Session[username] = dt[realname].ToString().Trim()。 Session[username1] = dt[username].ToString().Trim()。 Session[userclass] = dt[userclass].ToString().Trim()。 = true。 = true。 = Session[username].ToString()。 = 欢迎您的光临。 = false。 = true。 ()。 } else { ()。 ()。 (script language=39。 javascript39。 alert(39。 用户名或密码不正确 ,请重新登。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。