荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Name (冷雨无晴), 信区: Multimedia
标  题: 流文件和一般视频文件的区别
发信站: 荔园晨风BBS站 (Tue Jun 19 11:33:18 2001), 转信

作者 / wqyuwss 、yaan2

  wqyuwss 在 3 月 20 日,在本站论坛发了一个帖子“请问版主,到底流文件和
我们一般接触的视频文件有什么区别。比如是不是MPEG-2视频流用传送流形式打包
就成了流文件? ” yaan2 马上迅速作了精彩的回答,当然 wqyuwss 也有来有往
,一时刹是好看,下面是原文内容:

我是这样认为的: (jacob 3-22 19:29 阅读 5)
普通视频文件一般都要将整个文件下载到本地才能播放, 而流方式可以在线播放
,就象rm(radio)和mp3的区别一样。 流编码方式不只mpeg2一种,可以是rm,
mpeg4,qt,甚至mpeg1等,不过你说的mpeg-2到还没有听说……

似乎stream是和它的内容无关的 (yaan2 3-22 20:29 阅读 2)
也就是说,具体stream传送的是那种格式的视频流或音频流都可以,只是看软件让不
让做罢了,比如M$的ASF就只能做MP4格式的stream就纯粹是软件方面的限制. 不过
,可能VBR的流想要stream就比较难一些,因为要考虑到负荷平衡的问题,而像MPEG2
这样CBR的流做stream就很容易了.

(wqyuwss 3-24 0:46 阅读 11)
不会吧,应该MPEG2更可以。因为它标准中系统部分的传输流格式就专门是针对网
络或其他易错的环境而设计的,在实际中有很多用处,例如DVB。我觉得应该是文
件中格式的问题,流媒体的文件应该加入了更多的纠错格式,而不像一般的情况。
有对这个更了解的吗? 另外MPEG2也可以做成vbr的呀,只不过因为它的TM5验证模
型中采用的是CBR的位率控制策略,而大部分厂家可能都是直接用这个验证模型,
所以大部分的宣传都是说MPEG2的CBR控制,造成了大家的误导 而且VBR应该更支持
网络流媒体,因为它是可变比特率的流。而CBR应该只是针对象硬盘、CDROM这类传
输速率基本不变得场合的。 不论那一种软件,它是否支持流媒体,应该是他的算
法决定的,也就是它的文件格式决定的。而我想问的是为了更好的支持流媒体,应
该在算法上作那些更进一步的改进。可以举例子说一下吗?

(yaan2 3-24 9:12 阅读 3)
正因为VBR是可变bitrate,才说明它并不适合stream ,因为网络可提供的带宽是不
可预见的,而VBR的比特率是可预见的,两者之间并不能达成什么默契,你不能指望网
络在你需要更多比特率的时候就能给你更多的带宽.除非你用ATM.当然,这是针对比
较复杂的网络环境而言. NO,stream似乎没有在纠错上花太多的功夫,可能是相对于
不那么重要的内容而言,更有效地利用带宽才是stream的着重点吧.针对stream设计
的容错方案应该是能够在错误发生后,迅速从后面的数据里恢复状态,而不是重新向
服务器请求发送,后者在broadcast里也是根本不可能的,(在TCP协议层上的纠错除
外),所以也就注定了VKI/MM4是一种完全不适合stream的格式.

(wqyuwss 3-26 1:31 阅读 5)
VBR是可变比特率,这样的话,随着图象内容的不同而采用不同的量化因子。我觉
得应该更适用于网络吧? 比如在MPEG2中已经定义了数据分割和可分级性,这些如
果与VBR流相互结合,应该更适用于网络流吧。 数据分割是在数据流中加入某种标
志,将重要的数据放在标志之前,次要的放在之后,这样一旦网络拥挤,就只传重
要的数据,否则全部传输。不知这样是否符合老兄的意见。 另外MPEG2中已经引入
了可分级性,即空域和时域以及SNR分级,他们都可以根据网络的情况来发出请求
,判断是否需要传输低质量的视频流。 所以我认为MPEG2也可以适用于网络流,可
又似乎没有听说那个点播系统用到MPEG2的视频流,所以百思不得其解 还有yaan2
老兄你说的VKI/MM4是一种什么样的格式呢?针对我的上述解答和这个小问题,可
否给个回复。

(yaan2 3-26 15:40 阅读 12)
看来wqyuwss老兄是mpeg2的专家哦,我对mpeg2知之甚少,不过我猜想你所说的数据
和分割和可分级性,从原理上说,前者类似于Progressive JPEG,后者类似于
RealMedia的Multirate Stream,都是以牺牲质量的手段来换取stream的稳定发送,
是吗? 如果是这样,那么问题在于: 1.VBR的问题还是没有解决,假设这样一个情况
,一条网络连接能提供1Mb的带宽,一个stream服务器发送一个VBR的视频流,在绝大
多数时候,视频流的bitrate只有100Kb上下,这个网络工作得很好,但某小一段时间
里,视频流的bitrate达到了4Mb,为了能保持传送,服务器不得不运用数据分割和分
级的手段,把这4Mb的bitrate砍到1Mb,OK,现在视频流得以继续传送,看起来万事大
吉?NO!因为视频流的质量已经被砍得惨不忍睹.VBR是个不错的主意,对减小总的数
据量很有帮助,但有一个前提:你的网络得能应付得了它随时可能而来的庞大胃口.
这在小规模的网络中可能不成问题,但在internet上,这就会成为一个决定性的限制
. 2.mpeg2本身就是以其质量立足的,如果丧失了质量的优势,那它与MPEG4,
quicktime,Real等方案相比.唯一的优势就是mpeg2有成熟的解码chip了.不过如果
想要mpeg2解码chip接受stream,一个能与tcp/ip打交道的cpu是少不了的,既然这样
,还不如加强cpu的能力来支撑起一个linux架构,用软件来做解码核心,这样可供选
择的codec就很多了. VKI/MM4是制作MPEG4文件的方法,Variable Keyframe
Inserting/Multiple MPEG4(好像是这样拼的),大概算一种SuperVBR的mpeg4吧。

(wqyuwss 2001-3-27 23:28:49 阅读次数:9 )
yaan2老兄看来做这方面一定也有很长时间了吧。我只不过稍微了解一些,谈不上
专家。还有很多问题没有搞清楚。分级性可以理解为渐进式传输,其主要目的也就
是为了解决网络传输。数据分割则主要是针对纠正数据错误而实际的。这样即使传
输时有了错误,利用前面传到的数据也可以恢复大部分图象。 另外我想你可能误解
我说得VBR的意思了。从编码和解码的角度看,CBR指得是在解码数据的时候,输出
到缓冲区的图象数据在单位时间内是不变化的,例如一个720*576大的图象序列,
每一帧的压缩比几乎都接近100:1。而VBR则不然,对于运动变化剧烈的场景,可能
压缩比要小很多;但对于缓慢变化或场景几乎不变的情况,压缩比会大很多。这就
是两者的差别。更深入的讲就是量化因子的变化。而我说得分级性和数据分割只是
为了适合网络或卫星传输(大部分是后者,因为后者应用MPEG2更多)而设计的工
具,他既可以用于VBR编码,也可以用于CBR编码。 不过我明白你的意思,MPEG2的
主要用处就是针对较大的比特率的情景。没有必要用于这种场合。我只不过一直不
太明白,不知道是不是MPEG2只能用于大比特率的场合。经过一番讨论,我明白它
实际上都可以用,即使在低比特率的环境(因为H.261,263的原理和他一样)也可
以适用。 你对网络似乎蛮熟的。你知道realplayer的压缩原理以及他们在网络传
输的原理吗。你提到real的Multirate Stream,你对原理这个清楚吗? .




--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.220]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店