![]() |
重慶視頻會議系統開發如何充分利用開源項目發布者:重慶勁浪科技 發布時間:2017/11/14 閱讀:7231 視頻會議系統的開發主要涉及到協議規范、數據傳輸、音視頻編解碼、界面構建四個主要的方面,而現今國外的開源項目很多,其中不乏非常有參考意義的開源源碼和參考代碼,我們應該如何利用一些開源的項目來構建視頻會議系統呢?
首先我們先要了解視頻會議系統是一個綜合性很強的軟件系統,并不是簡單的一個點對點的應用程序,如果要達到視頻會議系統的要求,須具備有音、視頻傳輸、電子白板、文件共享、屏幕共享等主要功能,因此我們選擇開源項目的時候,不能只選擇一個開源的項目作為參考,需要多個開源的項目一起作為我們的參考源碼,因為一般的開源項目不可能是一個完整的系統。 1、協議規范 視頻會議系統的協議是作為不同的系統之間數據互聯互通,如軟件視頻會議系統和硬件的視頻會議系統需要互聯互通進行音、視頻傳輸的時候,就必須要雙方都要遵循一個協議規范,才能相互識別相應的數據。視頻會議的協議一般是指協議棧,主要分為H323協議、SIP協議,H323協議和SIP協議相應都有較為完善的開源項目對應,如OPAL,既兼容SIP協議又兼容H323協議,另外一個開源的協議棧是OpenH323,該開源項目是最早的H323開源協議棧,現今很多視頻會議系統還是在OpenH323基礎上構建的。最后一個值得推薦的開源協議棧是OSIP,該協議用法簡單、功能較強,是構建SIP協議棧的首選開源項目。 2、數據傳輸 視頻會議系統是一個實時性非常強的系統,為了適應不同的網絡傳輸條件,我們傳輸的數據的時候需要建立自己的數據傳輸方式。通常數據傳輸的方式有TCP傳輸和UDP傳輸,而TCP傳輸是基于有連接的傳輸方式,UDP是基于無連接的傳輸方式,TCP和UDP各有優點和缺點,TCP是可靠的傳輸方式,但在網絡較為擁堵的情況下,傳輸速度較慢,而UDP是不可靠的傳輸方式,傳輸速度較快,但不能保證可靠性,因此我們在選擇數據傳輸方式上可以采用基于UDP的可靠傳輸方式,既能充分利用無連接的速度優勢,又能保證數據的可靠性。在這方面的開源項目很多,我們推薦UDT開源項目,其主要是通過UDP方式來實現可靠的傳輸,傳輸速度比TCP快幾倍,但能保證相應的數據可靠性。數據傳輸方式的選擇可以參考“視頻會議傳輸模塊的開發選擇”。 3、音視頻編解碼 視頻會議系統核心功能是音視頻對話,因此我們音視頻編解碼在視頻會議系統中的占有非常重要的作用。音視頻編解碼的開源項目非常多,單是音頻的開源項目就有幾十種,我們應該如果選擇呢?音視頻編解碼的開源項目很多,但有一個非常重要的開源項目,其包含了幾乎所有的開源編碼器項目,它就是ffmpeg編碼庫,ffmpeg編碼庫是一個編解碼庫的集合,它加入了幾乎所有的開源編碼器,如H264編解碼、MPEG4編解碼、AAC音頻編解碼等,而且還能自己手動加入相應的編碼器,因此在視頻會議軟件系統的開發當中,我們的音視頻編碼首選是ffmpeg開源庫。 4、界面構建 視頻會議系統是一個綜合性很強的應用系統,因此我們設計的界面也要符合使用者的使用習慣,因此選擇一些開源的界面庫不僅能使我們的界面更符合使用習慣,而且能加快我們的項目的開發進度,達到事半功倍的作用。在界面庫的開源項目中,我們可以有非常多的選擇,如DirectUI、GUI Libraries等,在這里我們強烈推薦用DirectUI,DirectUI可以界面和代碼進行分離,而且用法較為簡單,簡單地的幾十行代碼就可以建立復雜的界面。 綜上所述,在我們視頻會議系統的開發當中,我們可以充分利用一些開源的項目來構建系統的某個模塊或者某個功能,如在協議方面,我們可以采用OPAL來構建SIP和Openh323協議;傳輸協議我們可以采用UDT來實現UDP的可靠傳輸;音視頻編界面我們可以采用ffmpeg開源項目來構建;界面庫可以采用DirectUI來搭建。這些開源項目都是比較著名的開源項目,但在實際的項目開發過程中,我們還要根據項目的需要來選擇。總之,利用開源的項目來進行視頻會議系統的開發,在很多的情況下能達到事半功倍的效果,是一個非常值得推薦的方法。 文章編輯:重慶寶利通 網址:http://www.bjwxcd.cn/ |