流媒体学习(一)
来源:互联网 发布:sql条件判断语句 编辑:程序博客网 时间:2024/04/30 09:43
借CSDN这方宝地,我要开始攻关流媒体啦!
今天是第一课,基础知识。
什么是流媒体?
让我们先给流媒体下个定义吧。
网络上采用“流式传播”的方式传播的媒体文件。
如果大家对这个定义表示可以接受,那么,我们从这个定义出发,首先,先将网络上的文件划分成两大类,“媒体文件”和“普通文件”。
前者是要在网络上播出的,而后者嘛就不需要这个特质。
然后,我们将网络上传播文件的方式也划分成两种,“流式传播”和“非流式传播”。
先谈后者,“非流式传播”其实就是我们通常所说的“文件下载”,即采用下载的方式将文件从网络服务器上传递到本地端。显然,这种传播方式肯定不适用于网络上媒体播放;于是,“流式传播”被引入,专门用来传播媒体文件。这种方式与前一种方式的不同之处在于,在视频播放开始阶段会有一个延时,在这段时间内,本地端其实是将网络服务器上的视频文件的一小部分下载到本地(或是内存中),然后视频开始播放,本地端在播放视频的过程中,还会继续保持从网络服务器下载未播放的视频,以达到“边下载边播放”的目的。
我们要研究流媒体,就可以从文件类型和传播方式两个方面下手!
---------------------------------------------------------------------------------------------------------------------------------------------------------
提到传输,就会想到网络,就会想到协议,流媒体传输所涉及的应用层协议有:
RTSP(Real Time Streaming Protocol)实时流协议
RTP(Real Time Transport Protocol)实时传输协议
RTCP(Real Time Control Protocol)实时控制协议
*PNM(Progressive Networks Audio)RealNetworks专用协议
*MMS(Microsoft Media Streaming Protocol)Microsoft专用协议
等
而涉及到传输层协议有:
TCP
UDP
RSVP(Resource Reserve Protocol)
等
---------------------------------------------------------------------------------------------------------------------------------------------------------
提到文件类型,我们应当这样考虑:既然流媒体在网络上的传播采用“流式传播”,那么流媒体文件自身必然存在某一特质,来满足“流式传播”的需要。
这个特质,简单归纳成一个字:“小”!要做到传播的文件足够小。
如何才能使一个比较大的视频文件变成小文件在网上传播呢?
答案是:编码!
等等,怎么又出来什么“*码”了?讨论的有些深了吧!
别急,在谈编码之前,先给大家科普一下数字视频的概念。
很久很久以前,视频都是模拟信号,所谓模拟,只是表征视频信号的一种方式,是用连续变化的物理量来表征的。
后来,数字信号占了上风,之间就存在了一个模拟数字转换的过程。
模拟转数字,需要取样、量化、编码三个步骤,大家可以通过下图体会这三个步骤之间的相互关系:
视频编码方面主要是MPEG1(vcd用的就是它)、MPEG2(DVD使用)、MPEG4(现在的DVDRIP使用的都是它的变种,如:divx,xvid等)、MPEG4 AVC(现在正热门);
音频编码方面主要是MPEG Audio Layer 1/2、MPEG Audio Layer 3(大名鼎鼎的mp3)、MPEG-2 AAC 、MPEG-4 AAC等等。 注意:DVD音频没有采用MPEG的。
H.26X系列(由ITU[国际电传视讯联盟]主导,侧重网络传输,注意:只是视频编码)
包括H.261、H.262、H.263、H.263+、H.263++、H.264(就是MPEG4 AVC-合作的结晶)。
- 流媒体学习(一)
- 流媒体Live555学习(一)
- 流媒体Live555学习(一)
- Red5 流媒体 学习(一)
- 流媒体学习一(RTP)
- 流媒体学习笔记(一)
- RTP学习(一):流媒体协议(RTP/RTCP/RTSP)
- 流媒体学习(二)
- Android 流媒体系列(一)
- nginx 搭建流媒体服务器 学习 一
- 流媒体一
- 流媒体Live555学习(二)
- 流媒体Live555学习(三)
- 流媒体Live555学习(二)
- 流媒体Live555学习(三)
- Red5 流媒体 学习(二)
- Red5 流媒体 学习(三)
- 网络视频流媒体技术大全(一)
- android 标题进度条/ProgressDialog ---自己的一个例子
- 当程序员的那些狗日日子(摘录)
- MTK 11A push
- Linux wait 用法
- (原创).net menu click instead of hover 点击显示下一级
- 流媒体学习(一)
- 后台执行命令 crontab
- 夏季高温防中暑
- 智能指针 安全引用的实现
- Android Binder Mechanism (4) -- 如何使用已注册的系统Service
- 通过jQuery找到一个div并设置其属性
- Layout开发小技巧(三)
- Android的布局和Intent笔记和常用实例
- asp.net的几种简单刷新页面