用于MPEG视频流的使能服务质量中间件

(1)介绍

在线视频流业务近几年在互联网上非常流行。视频流是一种并发处理,它从服务器发送视频图像通过网络到达客户端,由客户端视频播放器播放这些视频图像。

在线视频流业务系统是一个在线的、严格实时的多用户系统,它在开放网络(例如因特网)运行无法控制,性能不稳定,不可预测。MPEG逐渐成为视频编码事实上的标准,MPEG视频流系统的一个挑战是向客户端提供了很高的服务质量(QoS)。此处有许多软件,如Real Player,用于在线视频流的播放。由于开放网络的特性,它是低效的,因为靠调节网络性能来改进在线视频流的服务质量几乎不可能。人们对如何增强在线视频流的服务质量做了大量研究,这些研究主要分为下列三类:

1、通过新编码算法和数据结构取代现有的视频编码数据格式,使开放网络更适合处理视频图像。

2、通过新协议和新的视频图像传输机制代替现有的流行协议。

3、视频预先准备几个版本,每个版本有不同的解析度或帧尺寸,即有不同的QoS级。这些版本在不同的流下能并发播放。根据网络的性能,服务器选择客户端最适合的QoS质量的流。

前两个方法的主要缺点在于需要新的视频播放器或通信系统。实际上,这两个方法都不可行。最后一个方法的缺点在于需要大量资源,包括处理器和宽带。因此,这些方法都得不到流行。

我们考虑在服务器和客户端之间放置一个中间件软件系统,目的是提供增值业务给C/S系统。这就是使能服务质量多媒体中间件。大多数中间件设计实现了此方法。他们在服务器端调节可观察到带宽的QoS。然而,在开放网络上的服务器和每个单独客户端之间的吞吐量是不同的,此方法不能为每个客户端提供一个可定制的QoS调节。更为重要的是,这些研究没有考虑多种不同的编码格式。因此,QoS调节模式也不适合MPEG视频编码格式的特点。

为了允许用户用他们喜爱的播放器播放视频,我们解决了此问题。那就是利用“分布式使能QoS中间件”。此中间件位于视频服务器和客户端视频播放器之间,它由服务端件(Serverware)和一些客户端件(clientware)组成。既然服务器和每个单独的客户端之间的吞吐量不同,每一客户端的视频QoS质量也不相同。而且,当网络阻塞时,一些帧会下降。下降的QoS可以映射到一些跳过的MPEG帧模式。因此,服务端件不需传输所有MPEG帧给客户端,而是只有一些根据选定与QoS一致的帧才传输给客户端。这就是分布式中间件提供的增值业务。

服务质量QoS是视频流系统的一个关键的成功因素。有两个测量因子:一是字节传输率,二是帧传输率。

MPEG由三种不同的帧组成,这些帧有不同的尺寸和不同的视频质量。这是一种组帧模式(Group Frame Scheme)。

转载于:https://www.cnblogs.com/yangjin-55/archive/2008/11/11/2786889.html

用于MPEG视频流的使能服务质量中间件相关推荐

  1. matlab网页视频流,MATLAB - 捕获视频流(MJPEG,rtsp,mpeg)

    这是我从MATLAB支持得到的答案: 不幸的是,你是正确的,目前图像采集工具箱不支持IP摄像头 . 关于变通方法:1 . 如果mmread适合您,也许您可以在64位计算机上安装32位MATLAB . ...

  2. Windows Phone播放视频流

    前言 MediaElement是Windows Phone中播放本地或者网络视频文件和音乐文件的常用控件,支持的格式可以从这里看.通过Play,Pause,Stop,Position方法或属性可以方便 ...

  3. 通俗易懂的讲讲什么是中间件?

    学习视频:[学相伴]RabbitMQ最新完整教程IDEA版通俗易懂 | KuangStudy | 狂神说 | 学相伴飞哥_哔哩哔哩_bilibili 目录 一.中间件简介 1.1.什么是中间件 1.2 ...

  4. 使用rust和actix实现一个视频流服务器

    使用rust和actix实现一个视频流服务器 要实现一个视频流服务器,可以使用Rust语言和Actix框架,同时使用事件流方式.这种方式可以通过异步编程来提高性能和吞吐量. 以下是实现视频流服务器的一 ...

  5. 使用c++/winrt API获取RGB相机视频流

    使用c++/winrt API获取RGB相机视频流 1.前提条件 该示例使用c++/winrt进行开发,需要编译器支持c++17,本人使用Visual Studio2017,系统版本为Windows1 ...

  6. MPEG简介 + 如何计算 CBR/VBR MP3 的播放时间

    [此文目的]  1.  了解 MPEG相关知识  2.  了解 MP3 的常见术语含义  3.  详解 VBR MP3的帧头格式及含义  4.  搞懂如何去计算 CBR和 VBR的 MP3文件的播放时 ...

  7. Gin 框架学习笔记(01)— 自定义结构体绑定表单、绑定URI、自定义log、自定义中间件、路由组、解析查询字符串、上传文件、使用HTTP方法

    要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型.Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON.XML 和 Protobuf.在 Go A ...

  8. 分频时钟、使能时钟、门控时钟的概念和使用

    一.概述 FPGA的时钟和时序以及功能息息相关,下面将介绍分频时钟,使能时钟以及门控时钟. 二.时钟设计介绍 1.分频时钟 有些时候设计需要将主时钟进行分频以降低频率使用,对于有足够PLL和MMCM资 ...

  9. 计算机网络学习笔记-杭电

    计算机网络 应用层 DNS:目录服务 Domain Name System DNS服务-UDP IP地址翻译主机名 主机别名 邮件服务器别名 负载分配:复制的 Web 服务器:许多 IP 地址对应于一 ...

  10. 视音频编解码基本术语及解释

    整理了一些基本视音频术语,用于入门和查询使用. H264: H264是视频的标准,是MPEG4-10,基于内容的高效编码方式. H.264/MPEG-4第10部分,或称AVC(AdvancedVide ...

最新文章

  1. python自动翻译小工具_Python实现翻译小工具
  2. AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南
  3. 【Python】Python简单入门
  4. python清空list_python如何删除list
  5. java文件分割合并_java实现文件分割与合并 类示例源码
  6. MODE —— 两个人在计算机上玩圈叉游戏|井字游戏(知识点:二维数组)
  7. [改善Java代码]不使用stop方法停止线程
  8. php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现
  9. Python《突破JS动态加载,成功爬取漫画》
  10. windows server 2012 磁盘整理功能 试用 chkdsk
  11. Linux压缩文件与解压文件(*.zip)
  12. CUDA程序kernel函数的运行时间限制
  13. 人工智能的数学基础------- 矩阵迹与相似矩阵的本质
  14. iOS问题记录 - Xcode 14安装低版本iOS模拟器
  15. iOS Info.plist知多少
  16. CentOS 7.6源码编译安装gluster 6.1
  17. C语言---找零问题------程序优化
  18. SQL中十六进制和字符串之间的转换
  19. 华硕e202s安装linux系统,华硕笔记本E202S原装win10系统可以改win7吗?
  20. [linux] unzip

热门文章

  1. 10个免费域名转发地址 无广告 无需要注册
  2. 面向对象编程思想概览(三)继承
  3. Noip2013花匠
  4. Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
  5. .NET中过滤TextBox中输入的html标签
  6. 自己做的一个水印生成类
  7. 20190825 On Java8 第十二章 集合
  8. Python 批量生成中文姓名(百家姓)
  9. jquery 常用方法 集锦
  10. HDU2222【AC自动机(基础·模板)】