主题:  《流媒体宝典学习笔记三》

机器猫 5D精英

职务:普通成员
等级:3
金币:10.5
发贴:1197
#12003/4/17 15:22:41
《流媒体宝典学习笔记三》
昨天偷了一下懒没有写今天补上

1、批处理媒体的技巧。视频采集不在此讨论之列。声音采集的时候可以使用Soundforger里面的录音界面。其中mode选项设置为:Punch-In (record a special length)即可进行定量采集。包括定时采集和设定开始和结束时间采集。

2、批量媒体转换,对于windowsmedia 的文件批量转换一直是一个比较麻烦的东西。windowsmedia 自带的一个batch converter比较简单。现在有一个更加好的替代品出现了 那就是Sonic foundry公司出品的 Batch converter 5.0 这个软件的一个优点之一就是可以充分利用Soundforger的一些声音处理插件。这就像sonicfoundry家族的其他产品一样,公用dirtectX插件。

3、对于压缩编码的优化。压缩编码的优化是很重要的一个环节。对于语音的编码和音乐的编码的选择是不一样的,一般来说语音可以在32Kbps以下的速率就可以实现比较良好的效果。而音乐所要表现的频率的范围比语音要宽泛的多。因此用音乐的编码来编码语音是可行的,但是反过来则效果会很差。

4、多流压缩中 real采用的是surestream技术,windowsmedia采用的是intelligent stream技术。对于real来说多流的时候 视频尺寸必须是固定的,而对于windiowsmedia来说多流的声音必须是效果必须是一致的。多流的一个弱点就是,由于采用了多流。因此文件尺寸会成倍增长。多流传输时,遇到带宽减少的情况。服务器会自动降低流速,之后当服务器发现带宽恢复并稳定的时候,会自动调回。

5、在压缩流媒体时候,流媒体的数据率为带宽空间的70%-75%为佳,例如512K Adsl则率定位 350-384kbps 为佳。因为对于用户来说,还有可能进行其他网上活动。

6、当流媒体服务器和用户之间没有防火墙的时候,可以使用udp协议。如有防火墙则必须改用TCP协议。

7、real压缩中有三个重要概念 2-pass编码 VBR 可变bitrate编码 和丢包保护。2-pass编码的作用是 在正是编码之前先对画面内容进行预测,测算出运动强烈和不强烈和部分由此决定帧bit的分配,运动不强烈的地方少分配一些数据,空出空间给强烈的数据量大的地方。第二次才是正式编码。编码时间是正常的两倍,但是效果相比之下会好很多。

VBR可变编码率为编码率随着画面的复杂程度而变化,好处是有足够的数据对复杂画面进行描述,坏处是当画面突然变得复杂的时候,数据会产生峰值。这对于带宽会造成负担,如果不能进行及时缓冲。会出现重新缓冲等待的现象。

8、windows media测试多流 可以用 windowsmedia player 强制连接速度的方法,也可以采用 mms://server/abc.asf?WMBitrate=3200之类的写法用server进行测试。

9. windowsmedia 的高级编码 重要概念为 CBR和VBR这点在9.0的encoder中有所体现。

CBR为恒定比特律 VBR为动态彼特律

视频中数据量大的画面不是均衡的。有可能前期都是静止画面当中突然遇到大运动量画面。这时会出现数据量突增的状况。

VBR的数据量随着画面的变化而变化,效果比CBR要好但是带来的负效应就是对于带宽的传输会有峰值,有可能会影响收看和下载。因此在高带宽的情况下,比如局域网中师比较适合的。VBR没有固定缓冲区

CBR为恒定速率,主要依靠设置缓冲区来实现。会在流媒体的头部添加一个固定的缓冲区。来实恒定的速率。均衡的结果就是画面质量效果受到了影响。

有几种分类
VBR恒定质量。 编码速率为变速,画面质量恒定在统一的水准上。
VBR恒定彼特律。要求先进定2-pass扫描第一次扫描决定平均比特律是多少。但是这样的编码方式同样会有峰值。主要用于限制文件的大小。因为VBR恒定质量文件大小不可知。

CBR-2-pass 顾名思义 恒定速率 且进行前期的2-pass扫描确定每部分的画面质量和数据率。质量比单一的CBR要好得多

按照最好的质量这一需求来看选择

VBR-->CBR 2-pass -->CBR

在要求文件最小的时候 VBR比CBR在同等质量下占更小的空间。

对于CBR的优化主要有这些参数,缓冲区长度,主帧距离。缩小画面尺寸。

在windowsmeida 编码其中有一个 平滑--质量 的选择滑竿。 这意味着我们必须在此作出平衡。选择平滑则表示要求有更多的主帧来实现平滑,但是由于整体速率是固定的,因此主帧质量相对较差。选择质量则意味着主帧画面质量较高,但是主帧的帧数是比较少的。因为速率的限制。

对于CBR来说 并不是把流速开得越高越好 ,当流速超越了表现质量所需要的数据时。也就是说比如 用512K就表现得很好 ,但是开到1MB速率,windowsmeida enocder会填入一些数据,这些数据是无用的,在流式传播的时候这些冗余也不会被传输。对于生成时间和空间来说都是浪费。检查的方法是可以用winzip软件进行压缩试验,如果有大量数据被压缩,则说明产生了冗余。

10.windowsmedia encoder是多线程的。也就是说可以支持2-4个CPU。CPU的增加对效率和效果是很有好处的。

11.在低带宽下编码windowsmedia时可以尽量牺牲声音的数据量来给视频分配数据。在高宽的情况下相反,可以牺牲视频的一些速率为 声音提升效果。声音编码高于64Kbps则意义不大。

12. asfchop是 Advance indexer的命令行版。

13、SMIL语言 详情见书。不同的媒体的规格是不同的。对于real播放器。支持smil 2.0 (Real one player)早期版本支持1.0 对于windowmedia 支持的是 Xhtml+smil2.0的标准 (IE6.0) Ie 5.5支持的是 html+time标准。总之这里面有点混乱:D


14、smil 2.0和1.0的区别就在于动画实现和交互功能上都有提高。

15.Flash是一种变速率的流媒体。

16. Real 的交互手段还有Real text用来出现字幕 还有Real Pix 用来实现图像文字效果。但是这些东西的应用面还有待验证。



xdsnet

职务:普通成员
等级:1
金币:1.0
发贴:167
#22003/5/27 18:08:11
Real 的交互手段还有Real text用来出现字幕 还有Real Pix 用来实现图像文字效果。但是这些东西的应用面还有待验证。
--------------------------------------------------------------------------------
上面的内容基本上都是验证了的,具体应用可以参考相关real的相关sdk文档.