九九热免费在线观看_毛片女人毛片一级毛片毛片_欧美在线视频一区二区_在线免费看av片_精品视频9999_99视频网站

行業(yè)產品

  • 行業(yè)產品

深圳市西邦源科技有限公司


當前位置:深圳市西邦源科技有限公司>技術文章>數(shù)字IP網(wǎng)絡音頻公共廣播系統(tǒng)
技術文章

數(shù)字IP網(wǎng)絡音頻公共廣播系統(tǒng)

閱讀:2074發(fā)布時間:2015-4-14

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


智慧城市網(wǎng) 設計制作,未經允許翻錄必究 .? ? ? Copyright(C)?2021 http://www.3121000.com,All rights reserved.

以上信息由企業(yè)自行提供,信息內容的真實性、準確性和合法性由相關企業(yè)負責,智慧城市網(wǎng)對此不承擔任何保證責任。 溫馨提示:為規(guī)避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
主站蜘蛛池模板: 麻豆网站免费 | av资源免费 | 成年人网站免费在线观看 | 亚洲欧美日韩国产中文字幕 | 射久久久 | 国精产品一区一区三区免费完 | 亚洲精品中字 | 7777女女免费女淫网站 | 色妞欧美日韩在线 | 国产精品二区三区 | 91福利网 | 国产一区二区3区 | 91日韩一区二区三区 | 一区二区在线免费看 | 国产一区二区三区不卡视频网站 | 99精品久久精品一区二区爱城 | 16—17女人毛片毛片 | 亚洲深爱 | 国产麻豆aⅴ尤物网站尤物 欧美第一区 | 日本国产忘忧草一区在线 | 户外露出一区二区三区 | 国产视频影院 | 二区视频在线观看 | 一二区在线观看 | 国产午夜精品理论片a级探花 | 国产精品视频视频久久 | 精品亚洲国产成av人片传媒 | 亚洲经典中文字幕 | 91欧美视频 | 免费看黄色一级片一区二区三区 | 精品国产第一福利网站 | yy777高清免费影院入口 | 亚洲九九爱| 日韩欧美亚洲一二三区 | 国产有码在线 | 国产色播av在线 | 人成精品视频三区二区一区 | 我不卡一区二区 | av在线free| www.youjizz.com中国 | 美日韩丰满少妇在线观看 |