好爽又高潮了毛片免费下载,国产97在线 | 亚洲,亚洲一区二区三区AV无码,特级AAAAAAAAA毛片免费视频

移動端

數字IP網絡音頻公共廣播系統

2015年04月14日 16:17深圳市西邦源科技有限公司點擊量:2057

  數字IP網絡公共廣播系統,數字IP網絡音頻廣播系統概述
  
  由于音頻信號可以在網絡上采用標準互聯網包的形式傳遞,基于其數字化的基本特征,動態范圍、信噪比、失真系數、頻率響應等技術指標均大大高于模擬方式,改善了音頻信號的傳輸質量,實現音頻信號的多路實時分發和傳輸,大大簡化了系統結構,降低了系統成本。因此,對廣播系統進行數字化、網絡化改造,是公共廣播發展的趨勢。 深圳市西邦源科技有限公司,銷售劉'S :,直線:;-;:http://www.xbpa。。net
  
  西邦品牌公共廣播是基于IP網絡技術和Mp3壓縮技術設計實現一個數字音頻廣播系統。本系統采用以太網網絡技術,基于C的局域網廣播系統,以C/S為模式,基于UDP(用戶數據報協議)的傳輸方式,以管道為進程間的通信方式實現的廣播,并結合當今zui流行的音頻壓縮技術,實現多種公共廣播節目的網絡實時傳送和遠程互動。
  
  【深圳西邦源科技有限公司簡介】
  
  深圳西邦源科技有限公司以下簡稱【西邦】,是一家專業從事音視頻產品、智能廣播、尋址廣播、公共廣播器材的研發、生產、銷售為一體的科技開發型公司。專門從事智能廣播、尋址廣播、公共廣播、背景音樂、多媒體教學、音響燈光、VOD視頻點播系統等電子信息系統和弱電配套系統提供整體技術設計方案。
  
  我們主要產品有:各種MP3數字音樂智能播放機、一線通調頻尋址廣播、智能廣播系統、消防廣播系統、合并式功率放大器、純后級功率放大器、前置放大器、仿真草坪音箱、全天候室外防水音柱、壁掛音箱、吸頂音箱、IP數字智能尋址廣播系統、酒店賓館IP數字VOD視頻點播系統、校園視頻節目錄播系統等。
  
  公司擁有擁有一批精通國內、技術的研發人員和技術服務人員,在全國各地都有完善的代理分銷商和技術服務機構,為客戶提供了zui為的服務。將隨著產業的發展,建立了全國統一直銷聯保體系,真正排解了用戶的后顧之憂。
  
  公司全面實施企業知識化管理,營造企業文化,形成良好的人才培訓環境。公司將繼續秉承"客戶滿意、技術創新、創造價值、追求"的價值觀,倡導"客戶至上,質量*"的精神,竭誠為客戶提供zui合適的解決方案、產品與服務。
  
  目前公司已為內蒙、吉林、黑龍江、遼寧、新疆、陜西、貴州、山西、山東、河南、河北、江蘇、安徽、甘肅、云南、湖南、湖北、福建、海南、廣東、北京、天津、上海、重慶、四川、青海、西藏等二十幾個省市,近千所學校成功實現了校園智能廣播、數字廣播和多媒體教學應用。產品以價格合理、功能實用、性能穩定、服務及時周到深受廣大用戶好評。
  
  三【數字IP網絡廣播系統原理描述】
  
  【廣播的概念】
  
  廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流。例如,用戶不能暫停、快進或后退該流。廣播方式中資料包的單*個拷貝將發送給網絡上的所有用戶。
  
  廣播可以理解為一個人通過廣播喇叭對在場的全體說話,這樣做的好處是通話效率高,信息一下子就可以傳遞到全體,廣播在網絡中的應用較多,如客戶機通過DHCP自動獲得IP地址的過程就是通過廣播來實現的。但是同單播和多播相比,廣播幾乎占用了子網內網絡的所有帶寬。
  
  C/S又稱Client/Server或客戶/服務器模式。客戶(Client)是指運行用戶請求程序,并將這些請求傳送到服務器的軟件成分。服務器(Server)有兩個基本含義:(1)一種在網絡環境中提供共享服務的硬件;(2)為其它軟件成分提供普通化功能服務的軟件成分,即它是用來管理數據資源、并進行數據庫處理的計算機。
  
  【C/S結構的優點】
  
  C/S結構的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優點就是客戶端響應速度快。
  
  2.2一般工作原理及特性
  
  客戶/服務器之間的通訊是通過嚴格定義的網絡通信協議、應用程序接口、和遠程過程調用實現的。這種模式將功能很強的數據庫管理系統、工具和應用軟件等信息資源散布在多個客戶機和服務器上,將應用邏輯分割成客戶機和服務器兩部分。當需要執行一個應用時,客戶機服務器模式將這個單一的應用分解為可在網絡上協調操作的獨立組塊,并將這些獨立組塊分派到客戶機和服務器上??蛻魴C一般負責與用戶交互,承擔絕大部分顯示和邏輯處理工作,服務器則負責存儲和管理信息、資源來響應客戶機的請求。當用戶在客戶機上運行應用程序需要某種資源服務時,客戶機進程向服務器進程發出請求,服務器根據用戶請求完成處理后,再把處理結果或有關數據傳回客戶機,由客戶機進程完成后繼處理。
  
  【C/S系統結構】
  
  客戶機進程和服務器進程之間的相互作用是協作式的,事務是交易式的。其中客戶機進程是主動的,先發出請求給服務器。它全部用于和用戶的會話,以會話的終止為終止。一個客戶機可能與一個或多個服務器相互作用來完成工作,然而,至少一個服務器進程是一直必要的。通過管理與用戶的所有交互作用,客戶機把服務器和網絡對用戶隱藏起來,這就造成了一種幻覺,整個應用只是在局部的執行而沒有使用其他的進程、機器和網絡。而服務器進程是被動的,由來自客戶機的請求的到來所觸發。通常服務器進程一直存在運行,以給客戶機提供服務。服務器是功能特定的:它執行一組預定的、功能相關的事務的處理。
  
  【TCP/UDP協議】
  
  根據OSI網絡標準定義,網絡由物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層和應用層7層組成。而在實際應用中,網絡的結構可簡化為鏈路層,網絡層,傳輸層和應用層用戶接口,其結構如圖3所示。
  
  【網絡TCP/UDP層結構】
  
  在TCP/IP協議組中,IP協議是網絡層協議。TCP協議是一種面向連接的協議。它能夠提供可靠的,全雙工的網絡通信服務,具有確認數據流控制,多路復用和數據同步等功能,很適合高質量數據的傳輸,是目前應用的網絡傳輸協議之一。由于TCP/IP協議功能的強大,實現的復雜,網絡開銷很大,給數據的傳輸帶來很大的時延,對實時音頻傳輸來說這個時延大大超過了人耳所能容忍的程度。因此TCP協議不適合傳輸實時音頻數據或實時視頻數據和突發性的大量數據。
  
  UDP協議是英文UserDatagramProtocol的縮寫,即用戶數據報協議,主要用來支持那些需要在計算機之間傳輸數據的網絡應用。包括網絡視頻會議系統在內的眾多的客戶/服務器模式的網絡應用都需要使用UDP協議。
  
  UDP協議是zui簡單的,面向交易型的無連接協議,一次交易中往往只有一來一回兩次報文交換,從而減少了因建立連接和撤除連接所需要的巨大開銷。每個分組都攜帶完整的目的地地址,在各分組系統中獨立傳送。它不保證分組的先后順序,不進行分組出錯的恢復與重傳,因此不保證傳輸的可靠性,不保證服務質量(Qos)。但是相對于TCP協議,UDP協議減少了確認、同步等操作,節省了很大的網絡開銷,它能夠提供高傳輸效率的數據報服務,能夠實現數據的實時性傳輸,在數據的實時傳輸中應用廣泛。因此在網絡音頻廣播系統的研究中,在沒有更合適的實時性高質量傳輸協議的情況下,應用UDP協議的實時性是較為合理的解決方案。
  
  【UDP音頻數據發送的實現】
  
  UDP傳輸時網絡數據包的傳送質量(傳送延時,擁塞,丟包)是動態變化的,尤其是擁塞和丟包,而且對數據的實時擁塞操作并不容易。在基于UDP協議的實時應用中,通常在客戶端設定一個緩沖器來減少網絡的延時。接收到的數據包先壓入緩沖器,當緩沖器中達到預定數量的包后,開始解碼播放。這樣可以減少延時變化的影響,這種緩沖器稱為PlayoutBuffer(簡稱PB),它的大小應該是隨著網絡的變化而變化的。
  
  本系統數據的UDP傳輸采用LinuxC語言實現,運用LinuxSockets實現UDP協議的數據傳輸。LinuxSockets規范定義了如何使用API與Internet協議族(IPS,通常是指TCP/IP或UDP/IP)的連接,支持流套接字(Socket)和數據報套接字。流套接字提供了雙向的、有序的、無重復并且無記錄邊界的數據流服務,即實現了TCP協議的數據傳輸,在FTP及遠程登陸(net)等領域運用廣泛。數據報套接寧支持雙向的數據流,但并不保證是可靠、有序,確認和無重復的,它實現的是UDP協議的數據傳輸。應用程序調用LinuxSockets的API實現通信。LinuxSockets*封裝了UDP協議,只要調用Sockets的相應函數就能建立一個套接字,并與對應的套接字通信,實現UDP數據的實時傳輸。套接字的工作流程如圖4所示。
  
  【UDP協議套接字實現】
  
  當數據包無序地到達接收方時,開辟一個PB緩沖區,根據包中的序列號重新排序數據。數據包的序列號每發送一個自動加1,初始值為不可預料值,序列號除了可以重組包序外還可用于檢查包丟失,在接收端根據已經收到的信息重構丟失的信息可以很好地解決丟包的問題。系統采用UDP/IP方案實現對UDP數據包的傳輸質量控制,在UDP數據包中添加時間戳和序列號等控制信息,實現網絡傳輸的可靠性。在UDP包中添加控制信息,必然要以犧牲網絡傳輸效率為代價,造成網絡延時,甚至造成擁塞和丟包。因此必須考慮擁塞控制和丟包恢復算法。
  
  【管道通信】
  
  進程間通信—管道
  
  一個大型的應用軟件往往需要眾多進程協作,進程間通信(IPC)的重要性顯而易見。Linux系統下的進程通信機制基本上是從UNIX平臺上的進程通信機制移植而來的,主要的進程間通信機制就是管道。所謂管道,是指能夠連接一個寫進程和一個讀進程的、并允許它們以生產者一消費者方式進行通信的一個共享文件,又稱為pipe文件。由寫進程從管道的寫入端(勻柄1)將數據寫入管道,而讀進程則從管道的讀出端(句柄0)讀出數據。如圖5所示。
  
  【管道的類型】
  
  管道分為無名管道和有名管道兩種。無名管道是一個臨時文件,可用于具有父子關系進程間的通信。利用pipe()建立起來的無名文件(無路徑名)。只用該系統調用所返回的文件描述符來標識該文件,故只有調用pipe()的進程及其子進程才能識別此文件描述符,才能利用該文件(管道)進行通信。當這些進程不再使用此管道時,內核收回其索引結點。有名管道是一個可以在文件系統中長期存在的、具有路徑名的文件,用于無父子關系的進程之間通信。無父子關系的進程可將信息發送到某個命名管道中,并通過管道名讀取信息。用系統調用mknod()建立。它克服無名管道使用上的局限性,可讓更多的進程也能利用管道進行通信。因而其它進程可以知道它的存在,并能利用路徑名來訪問該文件。對有名管道的訪問方式與訪問其他文件一樣,需先用open()打丌。二種管道的讀寫方式是相同的,本文應用的是無名管道通信機制只講無名管道。
  
  【管道的特點】
  
  (1)管道是半雙工的,數據只能單向流動,需要相互通信時,就要建立兩個管道。(2)只能用于父子進程或者兄弟進程之間(具有親緣關系的進程,有名管道則突破了這一限制)。(3)單獨構成一種獨立的文件系統,并且只存在于內存中。(4)數據的讀出和寫入都是單向的。一個進程向管道中寫入的數據被管道另一端的進程讀出。寫入的數據每次都添加在管道緩沖區的末尾,并且每次都是從緩沖區的頭部讀出數據。
  
  【數字IP網絡廣播系統設計思路】
  
  作為網絡數字音頻廣播服務控制中心系統,其結構是服務器/客戶端結構。服務器端可以打開的文件,通過定時器不斷發送信息,同時可以自己顯示正在發送和已發送的信息??蛻舳藙t可以選擇接收和停止接收,同時播放接收到的內容。本設計按照系統的具體功能要求,首先應用Socket編程創建客戶端和服務器端,每個接收端就會相應的創建一個線程,它們之間通過這個連接來實現數據通信;然后在發送端和接收端設置一個器,用于發出的消息。并根據消息做出不同的動作。如圖7中所示的那樣。
  
  音源服務器的作用為讀取音頻文件或者實時采集聲音,按照特定的速率發送碼流。如果是實時采集,則不需要加入時間信息,如果從文件讀取,則需要根據合適的時間信息發送個穩定的流。
  
  主控服務器系統的作用為接收音源服務器的數據并存儲音頻數據,以及通過Socket傳送到客戶端網絡音頻裝置;接收客戶端的請求之后將音頻數據發到客戶端。
  
  客戶端的作用是向Server端發起連接請求或者處在聽接收狀態,接收主控服務器系統發過來的音頻數據并播放之。
  
  音源、主控服務器,這兩個模塊的功能也可以由一個Server來統一完成;而客戶端則要具備網絡接收接口.能夠實時接收音頻流并播放。
  
  【IP網絡音頻廣播功能的實現原理】
  
  (1)用戶在客戶端使用client訪問server,并發出檢索命令,要求播放特定的MP3文件。
  
  (2)服務器收到命令后,向后臺數據庫發出播放請求。
  
  (3)數據庫收到請求后,從MP3文件庫中檢索出的MP3,啟動并初始化客戶端的播放模塊,把MP3流文件傳送至客戶端。
  
  (4)客戶端播放模塊開始播放MP3流。
  
  【西邦IP網絡廣播系統客戶端設計原理】
  
  客戶端程序的主要功能是接收服務器端發來的數據,并且處理這些數據,這些數據有可能是錯誤的,這需要客戶端做出異常處理,然后,向服務器發送命令,使服務器重新發送或者中斷。
  
  首先,客戶端要初始化網絡部分,創建一個套接字,然后利用這個套接字綁定一個網絡,然后就是接受數據了,讓程序在一個循環里等待著數據的到來,然后把接收來的數據遞給一個線程,然后在這個線程里處理,在線程里判斷接收來的數據,如果是音樂文件,那就創建一個進程,在這個進程里執行播放。如果是錯誤的就給服務器發送錯誤報告。這就是客戶端的程序。
  
  intrecv_channel(intsd,intchannelid,structsockaddr_in*phisaddr,socklen_t*phisaddrlen)
  
  {
  
  intret,len;
  
  structmp3cast_data_st*recvmenu_st;
  
  recvmenu_st=malloc(64*1024);
  
  if(recvmenu_st==NULL){
  
  perror("malloc()failed.");
  
  exit(1);
  
  }
  
  while(1){
  
  len=recvfrom(sd,recvmenu_st,64*1024,0,(void*)phisaddr,phisaddrlen);
  
  if(ret<0){
  
  if(errno==EINTR){
  
  continue;
  
  }
  
  perror("recvfrom()");
  
  exit(1);
  
  }
  
  if(ntohs(recvmenu_st->channel_id)==channelid&&len>0){
  
  ret=upipe_write(cpipe,recvmenu_st->data,len-4);
  
  printf("writeupipe%d\n",ret);
  
  if(ret<0)continue;
  
  }
  
  }
  
  free(recvmenu_st);
  
  return0;
  
  }
  
  6.2服務器端的程序
  
  服務器端的程序主要功能是發送MP3文件,和接受客戶端發來的請求,
  
  intcreate_socket(void)
  
  {
  
  intsd0;
  
  structip_mreqnmreq;
  
  sd0=socket(PF_INET,SOCK_DGRAM,0);
  
  if(sd<0){
  
  perror("socket()");
  
  return-1;
  
  }
  
  inet_pton(AF_INET,DEFAULT_MGROUP,&mreq.imr_multiaddr);
  
  inet_pton(AF_INET,"0.0.0.0",&mreq.imr_address);
  
  mreq.imr_ifindex=if_nametoindex("eth0");
  
  if(setsockopt(sd0,IPPROTO_IP,IP_MULTICAST_IF,&mreq,sizeof(mreq))<0){
  
  perror("setsockopt(...,IP_MULTICAST_IF,...)");
  
  return-1;
  
  }
  
  hisaddr.sin_family=AF_INET;
  
  hisaddr.sin_port=htons(DEFAULT_PORT);
  
  inet_pton(AF_INET,DEFAULT_MGROUP,&hisaddr.sin_addr);
  
  returnsd0;
  
  }
  
  6.3測試與效果
  
  在電腦上模擬實驗環境。開兩個終端,分別運行客戶端和服務器端,客戶端能正常的播放服務器端的MP3文件。服務器端會循環打印一些信息表示正常運行,客戶端會顯示服務器端發來的菜單列表,當客戶端選擇某一頻道后客戶端會把從服務器端收到的相應音頻文件播放回來。

版權與免責聲明: 凡本網注明“來源:智慧城市網”的所有作品,均為浙江興旺寶明通網絡有限公司-智慧城市網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:智慧城市網www.cmr6829.com”。違反上述聲明者,本網將追究其相關法律責任。

本網轉載并注明自其它來源(非智慧城市網www.cmr6829.com)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。

編輯精選

更多

本站精選

更多

專題推薦

更多

名企推薦

更多

浙公網安備 33010602000006號