?

網絡電臺系統的設計與實現

2016-06-14 23:47林大華
電腦知識與技術 2016年12期
關鍵詞:音頻

林大華

摘要:針對當前網絡電臺發展需要,該首先描述了網絡電臺的相關定義,其次在JAVA多媒體技術的基礎上,設計并實現了一個基于JMF的網絡電臺軟件,可以實現音頻的實時通信傳播。

關鍵詞:java媒體框架;音頻;實時傳輸協議

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)12-0082-02

如今的高速的網絡信息時代,高速便捷的社會里,網絡逐漸成為人類工作、學習、生活的必需物。網絡電臺的出現也成為了必然,網絡電臺代替傳統的電臺是一個時代進步的必然進程。網絡電臺是隨著網絡的發展,如今的網絡技術給網絡電臺的出現提供了成熟的環境。網絡電臺的含義就是在網絡上搭建的電臺。網絡電臺就是把以前的電臺搬到了互聯網上,沒有發射塔,有的只是快捷便利的網絡,在這里沒有麻煩的編錄設備,可以享受到電腦的方便;只要使用電腦,隨意一敲,就可以收聽到電臺的美妙。當前網絡電臺分為聯播電臺、商業電臺、個人電臺等等。與傳統電臺比較,網絡電臺的優勢,一是迅捷性、無限性。二是交互性和個性化。在如今互聯網上雖然已經擁有很多的用戶,但是依然有著很大的潛力,可以挖掘更多的客戶,這就為網絡電臺的出現和發展做了很好的鋪墊。據調查,網絡電臺都是中學生與大學生用戶為主,這些年輕受眾為網絡電臺的經營提供了生存空間與可能。網絡電臺的作用更加大了,不僅局限在娛樂,更加的在現場監控及數據采集系統SCADA、分布式自動控制系統、小區智能安防系統、車船調度等上面都開始廣泛的運用。

本文所采用的方案是基于JAVA媒體框架,采用RTP/RTCP協議,在發送端和接收端之間進行一對一傳輸的網絡電臺系統。優點是確保媒體流在網絡中低時延、高質量地傳輸。

1 相關技術介紹

1.1 流媒體技術

流媒體技術也被叫為流式媒體技術.它的原理就是把壓縮后的影像和聲音信息放上網站服務器,讓用戶不用全部下載完成才能觀看收聽,而是邊下載邊觀看、收聽的網絡傳輸技術。流媒體技術的原理是這樣的:服務器在向用戶傳輸多媒體文件時,不是一次將文件整體發送出去,而是按播放的時間順序將其分為小的片斷,類似于圖像中的幀,然后將這些片斷依次傳給用戶。用戶的網絡播放工具接收到這些片斷后,連續播放,就可以產生完整的聲音和圖像,只是開始時有些延遲。網上直播時多媒體文件的產生也是不斷生成新的片斷。而且流媒體的聲音、圖像不會占用你的硬盤空間,流進你的機器后會繼續流出你的機器,消失掉。為了保證聲音、圖像的播放效果,服務器與用戶計算機間的網絡傳輸速度有一定的要求。如果網絡傳輸速度較慢,播放時就會出現斷斷續續的現象。很多網站可以根據用戶的實際帶寬,向用戶提供不同清晰度的播放效果。一般來說,播放聲音需要4kb/s以上的傳輸速度,圖像需要每秒幾十千比特到每秒幾百千比特。

1.2 JMF

JMF是JAVA的擴展框架,允許用戶制作純音頻流和視頻流。Java媒體框架JMF(Java Media Framework)是一個把音頻、視頻和其他基于時間的媒體結合到Java程序和Applet中的應用程序接口。它讓Java程序具有捕捉音頻和視頻信號,存儲、播放并處理多媒體數據等功能,除此之外還能傳輸多媒體數據和編譯多媒體數據格式。JMF包括了和RTP APIJMF API。前者主要是在網絡上傳輸和接收媒體流,后者具有捕捉、處理、存儲和播放媒體等功能。

2 系統設計與實現

2.1 系統設計

本軟件分為發送端與接收端兩部分,下面分別介紹發送端與接收端的功能模塊。

發送端功能模塊:

1)音頻采集和傳輸模塊;

接收端功能模塊:

1)音頻接收和播放模塊;

2)總的功能模塊圖見圖1。

2.1.1 音頻采集和傳輸模塊的功能介紹

此模塊的功能主要實現從麥克風中采集音頻,然后進行音頻的編碼,之后利用RTP協議在Internet網絡中實時傳輸音頻數據流。此模塊當中需要設置接收端的IP地址和端口號。當發送端啟動后,按照設置的IP地址和端口號來構造目的會話地址進行傳輸。

2.1.2 音頻接收和播放模塊的功能介紹

此模塊的功能主要是利用RTP協議實時接收來自發送端的媒體數據流,并為每一種新接收到的媒體數據流產生一個播放器,一邊接收媒體數據,一邊將媒體數據播放出來。此模塊當中需要輸入發送端的IP地址和端口號,由此可以跟發送端建立連接。

2.2 系統實現

2.2.1 音頻采集和傳輸模塊的實現

該模塊中主要包括2大類。一個是AudioTransmit類用于音頻數據流網絡實時傳輸的。另一個類是AudioCapture是人機交互的用戶界面類,該類中包含了main()方法,即它也是該模塊的啟動類。

2.2.1.1 AudioCapture類

包含以下幾個成員函數:

1)jbInit(),用來設置界面和添加事件的監聽。

2)buttonCaptureTransmit_actionPerformed(),用來響應開始音頻采集和傳輸按鈕消息。

3)buttonStop_actionPerformed(),用來響應停止按鈕消息。

4)this_windowClosing(),用來響應窗口中的關閉按鈕消息。

2.2.1.2 RTPTransmit類

包含以下幾個主要成員函數:

1)start(),用來啟動RTP數據流傳輸。

2)createProcessor(),用來指定的媒體定位器產生一個處理器。

3)createTransmitter(),為處理器的每一個媒體磁道產生一個RTP會話。

4)stop(),用來停止RTP數據流傳輸。

5)waitForState(),等待處理器達到相應的狀態。

2.2.2 音頻接收和播放模塊的實現

使用RTP協議實現媒體數據流接收和播放的類為RTPReceive。

1)ReceiveStreamListener在實現監聽接口好,NewReceiveStreamEvent事件被監聽;

2)NewReceiveStreamEvent在接收到這個,為了獲取RTP數據源(DataSource)可以經過事件獲取接收媒體數據流(Receivestream),然后接收媒體數據流。

3)給Manager.createPlayer()傳遞數據源產生一個播放器。

4)播放器添加了監聽器,實現了播放器后,播放數據就可以顯示了。

RTP會話是在RTPManager管理器來通過管理的,RTP會話和表現媒體數據接收后,RTPReceive類需要實現SessionListener、ReceiveStreamListener和ControllerListener監聽接口。

在本模塊中,還定義三個內部使用的類:SessionLable類用來解析用戶輸入的用于RTP會話的目的端(發送端)的IP地址和端口號、PlayWindow類用來實現完成播放器窗口的功能、PlayerPanel類用來為播放器在PlayerWindow窗口中添加視頻組件和控制組件。

2.2.3 基于JMF的網絡電臺軟件的功能測試

打開命令提示符窗口,用cd命令進入代碼文件所在目錄,輸入javac *.java來編譯test目錄下的所有java文件(代碼文件),然后輸入java audiovideotransmit命令來啟動軟件,軟件啟動后,首先要設置接收端的IP地址、端口號這兩個參數,點擊開始音頻采集和傳輸按鈕后,就會接收到音頻數據流并開始播放的界面,如圖2所示。

2 結束語

雖然系統具備了一些優點和值得肯定的方面。但由于時間及水平有限,目前實現的網絡電臺軟件還是比較粗糙的,還有很多方面可以有待提高:

1)實現接收端的界面化,這樣操作更加簡便。

2)增加文字圖像功能,豐富電臺形式。

3)發送方播放文件,接收方將接受到的音頻錄制成文件。

4)實現一對多的播放模式。

參考文獻:

[1] 阮高峰, 吳培英, 阮招娣. 交流面對面: 走進視頻通訊新天地[J]. 電腦知識與技術, 2004,10(13).

[2] 陳杰. 新興的網絡視頻[J]. 江蘇通信技術, 2003, 19(4).

[3] 李鵬偉. 局域網內點對點通信的Java實現[J]. 安陽師范學院學報, 2006, 23(2).

[4] 毛學英. 電臺廣播發射機微控制器系統的設計與實現[J]. 數字技術與應用, 2016.1.

[5] 劉立山. 高清非編制作網絡系統設計及應用實踐[J]. 世界廣播電視, 2010(7).

[6] 張佳. 廣播電臺音頻傳輸與監控系統的設計和應用[J]. 電聲技術, 2013(2).

[7] 徐智娟. 廣播電視臺節目制作網絡系統設計與應用[J]. 電子技術與軟件工程, 2015(14).

[8] 康緣. 共享廣播信道的多頻點小區組網設計[J]. 通訊世界:下半月, 2015(8).

[9] 劉金國. 廣播電視臺直播間的設計和建設[J]. 遼寧廣播電視技術, 2013(1).

[10] 景長軍. 廣播電視后期制作設備管理系統的設計與實踐[J]. 有線電視技術, 2005(24).

[11] 魏三強, 朱軍. 基于數字IP網絡的智能小區廣播系統設計[J]. 蘇州科技學院學報: 自然科學版, 2012(4).

猜你喜歡
音頻
開盤錄音帶音頻資料的數字化
必須了解的音頻基礎知識 家庭影院入門攻略:音頻認證與推薦標準篇
基于Daubechies(dbN)的飛行器音頻特征提取
把數字變成真實的聲音 暢談音頻解碼器
基于MFCC和神經網絡的西瓜音頻熟度識別
補足音響系統中的關鍵一環 不可忽視的模擬音頻線材(上)
超音頻復合脈沖GMAW電源設計
音頻分析儀中低失真音頻信號的發生方法
加入Technics音頻技術 Panasonic TH-77EZ1000 OLED電視
臺內音頻響度控制方式
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合