視頻會議系統(tǒng)是一個綜合性的應(yīng)用系統(tǒng),其功能包括遠(yuǎn)程音視頻、電子白板、屏幕共享、協(xié)同文檔、流媒體播放等,其中流媒體播放經(jīng)常用于我們的培訓(xùn)當(dāng)中,因此流媒體播放功能在視頻會議中較為重要。流媒體播放主要是通過主持人播放一個影片,然后其他的觀眾能實時地收到影片的數(shù)據(jù)并進(jìn)行播放,而流媒體播放模塊的開發(fā)可以通過不同的方式來實現(xiàn),我們應(yīng)該怎樣進(jìn)行流媒體播放模塊的開發(fā)呢?流媒體播放模塊的開發(fā)可以通過三種方式來實現(xiàn):利用音視頻進(jìn)行傳輸、解碼后重新傳輸、通過PIN接口來獲取數(shù)據(jù)傳輸。
1、利用音視頻進(jìn)行傳輸
利用音視頻進(jìn)行傳輸方式就是先把流媒體影片的音、視頻進(jìn)行分幀處理,把一個流媒體的影片實時地分成不同的數(shù)據(jù)幀,然后再發(fā)送到其他的客戶端,然后再把數(shù)據(jù)幀重新組包,進(jìn)行播放。該方式的主要難點在怎樣把影片進(jìn)行分幀處理,而不同格式的影片其數(shù)據(jù)結(jié)構(gòu)都不一樣,因此我們很難對不同類型的影片進(jìn)行相同的分幀處理。該方式的優(yōu)點是效率較高,不需要再進(jìn)行重新進(jìn)行編碼。
2、解碼后重新傳輸
解碼后重新傳輸方式,就是先對影片進(jìn)行解碼操作,然后把數(shù)據(jù)再按照自己定義的方式進(jìn)行壓縮編碼,然后接收方再進(jìn)行解碼和播放,該方式可以對不同的影片進(jìn)行操作。但需要對影片進(jìn)行重新壓縮,因此效率不高。
3、通過PIN接口來獲取數(shù)據(jù)傳輸
我們播放流媒體的時候,可以通過DirectShow的PIN接口獲取影片的數(shù)據(jù)類型和數(shù)據(jù),然后把這些數(shù)據(jù)傳輸?shù)浇邮辗,進(jìn)行播放,該方式是目前最完美的流媒體播放的方案,不僅可以支持幾乎全部的流媒體格式,而且不用進(jìn)行額外的音視頻編碼。
綜上所述,視頻會議系統(tǒng)中的流媒體播放開發(fā),可以通過三種方式來實現(xiàn),這三種方式最佳是利用Directshow的PIN接口來獲取數(shù)據(jù)來進(jìn)行流媒體數(shù)據(jù)的傳輸。