微软亚洲研究院网络多媒体组 吴枫 李世鹏
一、 流媒体系统及其发展趋势
所谓流媒体是指用户通过网络或 者特定数字信道边下载边播放多媒体数据的一种工作方式。流媒体应用的一个最大的好处是用户不需要花费很长时间将多媒体数据全部下载到本地后才能播放,而仅 需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,后面收到的数据会源源不断输入到该缓冲区,从而维持播放的连续性,因此流媒体播放器通常只是在 开始时有一些时延。流媒体系统要比下载播放系统复杂得多,所以需要将多媒体的编解码和传输技术很好地结合在一起,才能确保用户在复杂的网络环境下也能得到 较稳定的播放质量。
多媒体数据在传输前必须要先经过编码器有效地压缩成码流,以减少对网络资源的占用率。目前常用的视频编码器有 MPEG-2、MPEG-4、H.261、H.263、H.264、Window Media视频编码器和Real System视频编码器等;音频编码器有MP3、MPEG AAC、Window Media 音频编码器和AMR等;图像编码器有JPEG和JPEG2000等。多媒体编码器所生成的码流只包含了解码该码流所必需的信息,它不包含媒体间的同步、随 机访问等系统信息,因此编码后的多媒体数据还要被组织成为具有特定系统格式的多媒体文件用于流媒体传输或者是存入磁盘中,目前常用的文件格式有MPEG- 2系统,MP4,微软公司的ASF,Real的文件格式,QuickTime的文件格式以及用于3G无线服务的3GPP和3GPP2等等。
当流媒体在实时应用中(如现场流媒体广播),根据当前的网络状况和用户的终端参数,多媒体数据是一边被编码一边被流媒体服务器传输给用户。而在其他的非 实时应用中,多媒体数据可以被事先编码生成多媒体文件,存储在磁盘阵列中。当提供多媒体服务时,流媒体服务器直接读取这些文件传输给用户,这样服务方式对 设备的要求较低。目前许多流媒体服务属于后一种方式,这样就要求流媒体服务器具有一定的机制来适应网络状况和用户设备。
目前码流 自适应这一模块主要采用的方法有:将多媒体文件中的视频码流转换为一个特定码率和图像尺寸的码流;或者把同一段视频内容编码生成多个具有不同码率和图像尺 寸的码流,然后自适应选择一个最合适的码流传输给用户。生成的码流还需要进一步打包成为特定网络传输协议的数据包用于网络传输,由于现在许多网络并不能保 证传输的数据能够及时并完全正确地被用户收到,传输的数据包可能需要加前向纠错编码(FEC)来保护,经过这些处理后多媒体数据就可以通过网络传输给用
一、 流媒体系统及其发展趋势
所谓流媒体是指用户通过网络或 者特定数字信道边下载边播放多媒体数据的一种工作方式。流媒体应用的一个最大的好处是用户不需要花费很长时间将多媒体数据全部下载到本地后才能播放,而仅 需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,后面收到的数据会源源不断输入到该缓冲区,从而维持播放的连续性,因此流媒体播放器通常只是在 开始时有一些时延。流媒体系统要比下载播放系统复杂得多,所以需要将多媒体的编解码和传输技术很好地结合在一起,才能确保用户在复杂的网络环境下也能得到 较稳定的播放质量。
多媒体数据在传输前必须要先经过编码器有效地压缩成码流,以减少对网络资源的占用率。目前常用的视频编码器有 MPEG-2、MPEG-4、H.261、H.263、H.264、Window Media视频编码器和Real System视频编码器等;音频编码器有MP3、MPEG AAC、Window Media 音频编码器和AMR等;图像编码器有JPEG和JPEG2000等。多媒体编码器所生成的码流只包含了解码该码流所必需的信息,它不包含媒体间的同步、随 机访问等系统信息,因此编码后的多媒体数据还要被组织成为具有特定系统格式的多媒体文件用于流媒体传输或者是存入磁盘中,目前常用的文件格式有MPEG- 2系统,MP4,微软公司的ASF,Real的文件格式,QuickTime的文件格式以及用于3G无线服务的3GPP和3GPP2等等。
当流媒体在实时应用中(如现场流媒体广播),根据当前的网络状况和用户的终端参数,多媒体数据是一边被编码一边被流媒体服务器传输给用户。而在其他的非 实时应用中,多媒体数据可以被事先编码生成多媒体文件,存储在磁盘阵列中。当提供多媒体服务时,流媒体服务器直接读取这些文件传输给用户,这样服务方式对 设备的要求较低。目前许多流媒体服务属于后一种方式,这样就要求流媒体服务器具有一定的机制来适应网络状况和用户设备。
目前码流 自适应这一模块主要采用的方法有:将多媒体文件中的视频码流转换为一个特定码率和图像尺寸的码流;或者把同一段视频内容编码生成多个具有不同码率和图像尺 寸的码流,然后自适应选择一个最合适的码流传输给用户。生成的码流还需要进一步打包成为特定网络传输协议的数据包用于网络传输,由于现在许多网络并不能保 证传输的数据能够及时并完全正确地被用户收到,传输的数据包可能需要加前向纠错编码(FEC)来保护,经过这些处理后多媒体数据就可以通过网络传输给用