视频会议系统是一个综合性的应用系统,其功能包括远程音视频、电子白板、屏幕共享、协同文档、流媒体播放等,其中流媒体播放经常用于我们的培训当中,因此流媒体播放功能在视频会议中较为重要。流媒体播放主要是通过主持人播放一个影片,然后其他的观众能实时地收到影片的数据并进行播放,而流媒体播放模块的开发可以通过不同的方式来实现,我们应该怎样进行流媒体播放模块的开发呢?流媒体播放模块的开发可以通过三种方式来实现:利用音视频进行传输、解码后重新传输、通过PIN接口来获取数据传输。
1、利用音视频进行传输
利用音视频进行传输方式就是先把流媒体影片的音、视频进行分帧处理,把一个流媒体的影片实时地分成不同的数据帧,然后再发送到其他的客户端,然后再把数据帧重新组包,进行播放。该方式的主要难点在怎样把影片进行分帧处理,而不同格式的影片其数据结构都不一样,因此我们很难对不同类型的影片进行相同的分帧处理。该方式的优点是效率较高,不需要再进行重新进行编码。
2、解码后重新传输
解码后重新传输方式,就是先对影片进行解码操作,然后把数据再按照自己定义的方式进行压缩编码,然后接收方再进行解码和播放,该方式可以对不同的影片进行操作。但需要对影片进行重新压缩,因此效率不高。
3、通过PIN接口来获取数据传输
我们播放流媒体的时候,可以通过DirectShow的PIN接口获取影片的数据类型和数据,然后把这些数据传输到接收方,进行播放,该方式是目前最完美的流媒体播放的方案,不仅可以支持几乎全部的流媒体格式,而且不用进行额外的音视频编码。
综上所述,视频会议系统中的流媒体播放开发,可以通过三种方式来实现,这三种方式最佳是利用Directshow的PIN接口来获取数据来进行流媒体数据的传输。