用于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视频流的使能服务质量中间件相关推荐
- matlab网页视频流,MATLAB - 捕获视频流(MJPEG,rtsp,mpeg)
这是我从MATLAB支持得到的答案: 不幸的是,你是正确的,目前图像采集工具箱不支持IP摄像头 . 关于变通方法:1 . 如果mmread适合您,也许您可以在64位计算机上安装32位MATLAB . ...
- Windows Phone播放视频流
前言 MediaElement是Windows Phone中播放本地或者网络视频文件和音乐文件的常用控件,支持的格式可以从这里看.通过Play,Pause,Stop,Position方法或属性可以方便 ...
- 通俗易懂的讲讲什么是中间件?
学习视频:[学相伴]RabbitMQ最新完整教程IDEA版通俗易懂 | KuangStudy | 狂神说 | 学相伴飞哥_哔哩哔哩_bilibili 目录 一.中间件简介 1.1.什么是中间件 1.2 ...
- 使用rust和actix实现一个视频流服务器
使用rust和actix实现一个视频流服务器 要实现一个视频流服务器,可以使用Rust语言和Actix框架,同时使用事件流方式.这种方式可以通过异步编程来提高性能和吞吐量. 以下是实现视频流服务器的一 ...
- 使用c++/winrt API获取RGB相机视频流
使用c++/winrt API获取RGB相机视频流 1.前提条件 该示例使用c++/winrt进行开发,需要编译器支持c++17,本人使用Visual Studio2017,系统版本为Windows1 ...
- MPEG简介 + 如何计算 CBR/VBR MP3 的播放时间
[此文目的] 1. 了解 MPEG相关知识 2. 了解 MP3 的常见术语含义 3. 详解 VBR MP3的帧头格式及含义 4. 搞懂如何去计算 CBR和 VBR的 MP3文件的播放时 ...
- Gin 框架学习笔记(01)— 自定义结构体绑定表单、绑定URI、自定义log、自定义中间件、路由组、解析查询字符串、上传文件、使用HTTP方法
要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型.Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON.XML 和 Protobuf.在 Go A ...
- 分频时钟、使能时钟、门控时钟的概念和使用
一.概述 FPGA的时钟和时序以及功能息息相关,下面将介绍分频时钟,使能时钟以及门控时钟. 二.时钟设计介绍 1.分频时钟 有些时候设计需要将主时钟进行分频以降低频率使用,对于有足够PLL和MMCM资 ...
- 计算机网络学习笔记-杭电
计算机网络 应用层 DNS:目录服务 Domain Name System DNS服务-UDP IP地址翻译主机名 主机别名 邮件服务器别名 负载分配:复制的 Web 服务器:许多 IP 地址对应于一 ...
- 视音频编解码基本术语及解释
整理了一些基本视音频术语,用于入门和查询使用. H264: H264是视频的标准,是MPEG4-10,基于内容的高效编码方式. H.264/MPEG-4第10部分,或称AVC(AdvancedVide ...
最新文章
- python自动翻译小工具_Python实现翻译小工具
- AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南
- 【Python】Python简单入门
- python清空list_python如何删除list
- java文件分割合并_java实现文件分割与合并 类示例源码
- MODE —— 两个人在计算机上玩圈叉游戏|井字游戏(知识点:二维数组)
- [改善Java代码]不使用stop方法停止线程
- php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现
- Python《突破JS动态加载,成功爬取漫画》
- windows server 2012 磁盘整理功能 试用 chkdsk
- Linux压缩文件与解压文件(*.zip)
- CUDA程序kernel函数的运行时间限制
- 人工智能的数学基础------- 矩阵迹与相似矩阵的本质
- iOS问题记录 - Xcode 14安装低版本iOS模拟器
- iOS Info.plist知多少
- CentOS 7.6源码编译安装gluster 6.1
- C语言---找零问题------程序优化
- SQL中十六进制和字符串之间的转换
- 华硕e202s安装linux系统,华硕笔记本E202S原装win10系统可以改win7吗?
- [linux] unzip