亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        流媒體直播服務(wù)器的設(shè)計(jì)和實(shí)現(xiàn)*

        2012-05-12 03:14:54劉三滿
        山西電子技術(shù) 2012年4期
        關(guān)鍵詞:音視頻管理員編碼

        劉三滿

        (山西警官高等??茖W(xué)校,山西太原030021)

        把流媒體技術(shù)應(yīng)用于教育上,構(gòu)建網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)學(xué)校、網(wǎng)上課堂、在線答疑等新的教學(xué)模式,正成為21世紀(jì)教育改革發(fā)展的新趨勢(shì)[1]。在流媒體技術(shù)應(yīng)用中,流媒體直播服務(wù)器系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn),是關(guān)鍵。

        1 流媒體直播服務(wù)器研究現(xiàn)狀

        當(dāng)今世界,知識(shí)經(jīng)濟(jì)已見(jiàn)端倪,通過(guò)計(jì)算機(jī)、網(wǎng)絡(luò)進(jìn)行互動(dòng)式教學(xué)成為時(shí)尚。在歐洲和美國(guó),流媒體技術(shù)已成為教育變革的推動(dòng)力。如:英國(guó)南部地區(qū)Sussex Virtual學(xué)院聯(lián)合16家再教育機(jī)構(gòu)和學(xué)院,組成集團(tuán)。集團(tuán)內(nèi)部服務(wù)器相連,通過(guò)校際網(wǎng)絡(luò)共享教學(xué)資源。集團(tuán)外部與企業(yè)個(gè)人電腦終端和ISDN電話線相連,通過(guò)在線視聽(tīng)會(huì)議網(wǎng)絡(luò)為當(dāng)?shù)氐闹行⌒推髽I(yè)提供IT以及商業(yè)方面的培訓(xùn)。

        現(xiàn)在各高校建設(shè)網(wǎng)絡(luò)教學(xué)流媒體平臺(tái)存在的主要問(wèn)題是:需要將流媒體技術(shù)與本校特有的教育資源相結(jié)合,設(shè)計(jì)出一套兼顧教育、教學(xué)、信息發(fā)布的多媒體直播服務(wù)系統(tǒng)。技術(shù)要點(diǎn)包括:基于MPEG4IP項(xiàng)目進(jìn)行二次開發(fā),實(shí)現(xiàn)符合MPEG4標(biāo)準(zhǔn)的音視頻數(shù)據(jù)。實(shí)現(xiàn)不同帶寬用戶對(duì)視頻質(zhì)量的需求。基于SDL技術(shù)實(shí)現(xiàn)在Linux平臺(tái)顯示播放?;赗TP/RTSP協(xié)議實(shí)現(xiàn)音視頻數(shù)據(jù)的傳輸。

        2 流媒體直播服務(wù)器的功能設(shè)計(jì)

        直播服務(wù)器旨在提供一種立體的、視音頻等多種媒體相整合的、可交互的、具有多種體驗(yàn)的基于超媒體、超鏈接的教學(xué)形式。這種教學(xué)形式有利于教師之間業(yè)務(wù)的相互學(xué)習(xí),可有效提高學(xué)生多種技能的培訓(xùn)效果,增進(jìn)與其他學(xué)校之間的文化、活動(dòng)交流。直播服務(wù)器應(yīng)該主要提供以下的功能:系統(tǒng)的應(yīng)用環(huán)境是校園網(wǎng),采用C/S模式通過(guò)LAN接入。管理員應(yīng)該能夠根據(jù)學(xué)校的安排對(duì)教師的授課和學(xué)校的各項(xiàng)活動(dòng)進(jìn)行視頻的采集和編碼。教師在教學(xué)時(shí),能夠方便地引用直播服務(wù)器上的視頻資源進(jìn)行演示;存儲(chǔ)采集到的教師授課或?qū)W?;顒?dòng)的視頻文件,作為校園網(wǎng)資源;響應(yīng)來(lái)自各教研室教師的直播請(qǐng)求,使各個(gè)教研室都能在網(wǎng)上收看教師授課和學(xué)校活動(dòng)的直播情況[2]。師生在下課后可以對(duì)校園網(wǎng)資源進(jìn)行點(diǎn)播。

        流媒體直播服務(wù)器系統(tǒng)的信息處理流程為:開啟管理員界面,根據(jù)對(duì)音視頻參數(shù)的設(shè)置開始配置音、視頻參數(shù),然后等待管理員命令,接收到管理員的命令后便開始采集、編碼教師授課或?qū)W?;顒?dòng)的視頻數(shù)據(jù)。若收到教研室的直播請(qǐng)求,則開啟直播服務(wù),為教研室發(fā)送音、視頻數(shù)據(jù)。若學(xué)校要求對(duì)數(shù)據(jù)進(jìn)行備份,則管理員可以設(shè)置存儲(chǔ)文件,服務(wù)器開始生成.mp4格式的文件。當(dāng)視頻直播需要結(jié)束時(shí),由管理員中止服務(wù),退出主界面。

        針對(duì)流媒體直播服務(wù)器的功能需求,對(duì)系統(tǒng)進(jìn)行如下設(shè)計(jì):音、視頻部分,網(wǎng)絡(luò)傳輸部分,管理員GUI部分,基礎(chǔ)組件部分。

        音、視頻部分設(shè)計(jì)主要的功能為:采集音、視頻數(shù)據(jù),并對(duì)音、視頻數(shù)據(jù)進(jìn)行編碼。

        網(wǎng)絡(luò)傳輸部分的設(shè)計(jì)基于RTSP實(shí)時(shí)流協(xié)議。作為一個(gè)應(yīng)用層協(xié)議,RTSP可提供一個(gè)可供擴(kuò)展的框架,控制具有實(shí)時(shí)特性的數(shù)據(jù)發(fā)送,提供播放、暫停、快進(jìn)等操作,負(fù)責(zé)定義具體的控制消息、操作方法、狀態(tài)碼等,描述與RTP間的交互操作,實(shí)現(xiàn)實(shí)時(shí)流媒體數(shù)據(jù)的受控和點(diǎn)播。

        管理員GUI部分設(shè)計(jì)主要包括:管理員GUI和流控制兩個(gè)部分,實(shí)現(xiàn)生成系統(tǒng)運(yùn)行的管理員界面和子對(duì)話框界面,監(jiān)聽(tīng)客戶端的連接請(qǐng)求。

        基礎(chǔ)組件部分的設(shè)計(jì)主要完成對(duì)音、視頻參數(shù)的設(shè)置,保存.mp4文件,創(chuàng)建線程和出錯(cuò)信息處理等。

        3 流媒體直播服務(wù)器功能的實(shí)現(xiàn)

        流媒體直播服務(wù)器系統(tǒng)具有四大功能:音視頻采集、編碼功能,網(wǎng)絡(luò)傳輸功能(包括直播服務(wù)),管理控制服務(wù)器功能。

        流媒體直播服務(wù)器開啟管理員界面后,根據(jù)GUI的設(shè)置開始配置音、視頻參數(shù),系統(tǒng)開啟。然后等待客戶端連接。若收到客戶端的請(qǐng)求直播服務(wù),則啟動(dòng)直播服務(wù),首先經(jīng)過(guò)音視頻采集、編碼數(shù)據(jù),為每一個(gè)連接建立相應(yīng)的流控線程,然后通過(guò)RTP/RTSP協(xié)議進(jìn)行網(wǎng)絡(luò)傳輸,為客戶端發(fā)送數(shù)據(jù)。若管理員設(shè)置服務(wù)器為多播方式,則系統(tǒng)提供的服務(wù)切換為多播狀態(tài)[3]。若管理員設(shè)置存儲(chǔ)文件,存放未編碼的音視頻文件或者已經(jīng)編碼的音視頻文件,則服務(wù)器開始生成擴(kuò)展名是mp4格式的文件。當(dāng)點(diǎn)擊“退出”按鈕時(shí),則中止服務(wù),退出主界面。

        3.1 音頻采集編碼的實(shí)現(xiàn)

        初始化函數(shù)描述:

        3.2 視頻采集編碼的實(shí)現(xiàn)

        初始化函數(shù)描述:

        音視頻幀接口函數(shù)描述:

        void AddReference(void)m_refcnt自加1

        void RemoveReference(void)m_refcnt自減1

        void operator delete(void* p)對(duì) CMediaFrame中的 m_refcnt變量減1,

        如果m_refcnt變?yōu)榱?,則釋放CMediaFrame中的m_pData和m_pMutex,同時(shí)釋放p指針。

        3.3 網(wǎng)絡(luò)傳輸模塊的實(shí)現(xiàn)

        網(wǎng)絡(luò)傳輸模塊主要函數(shù)描述:

        static u_int32_t GetRandomMcastAddress(void)得到隨機(jī)的多播地址

        static u_int16_t GetRandomPortBlock(void)產(chǎn)生大于2000的四個(gè)隨機(jī)端口號(hào)

        u_int32_t AudioTimestampToRtp(Timestamp t)把音頻時(shí)間戳轉(zhuǎn)換成RTP時(shí)間戳

        u_int32_t VideoTimestampToRtp(Timestamp t)把視頻時(shí)間戳轉(zhuǎn)換成RTP時(shí)間戳

        u_int64_t TimestampToNtp(Timestamp t)把時(shí)間戳轉(zhuǎn)化為NTP格式

        void CRtpTransmitter::DoStartTransmit()初始化音頻及視頻RTP會(huì)話,開始RTP傳輸

        更為轟動(dòng)的是,原騰訊公司總裁助理劉春寧在負(fù)責(zé)騰訊視頻版權(quán)采購(gòu)時(shí)期,涉嫌商業(yè)賄賂被抓,當(dāng)時(shí),他已經(jīng)跳槽到阿里巴巴負(fù)責(zé)文娛業(yè)務(wù)。

        void CRtpTransmitter::DoSendFrame(CMediaFrame*pFrame)判斷媒體幀的類型,用RTP發(fā)送數(shù)據(jù),同時(shí)設(shè)定是否需要音視頻同步,發(fā)送的數(shù)據(jù)必須是已經(jīng)編碼過(guò)的數(shù)據(jù)。

        3.4 對(duì)數(shù)據(jù)流控制模塊的實(shí)現(xiàn)

        本模塊由CMediaFlow類實(shí)現(xiàn),作為CAVLiveMediaFlow的父類,它提供了流媒體啟動(dòng),流媒體結(jié)束,設(shè)置流媒體的參數(shù),以及獲得流媒體當(dāng)前狀態(tài)的函數(shù)接口。

        主要函數(shù)描述:

        如果不是詢問(wèn)媒體流是否開始,則返回false;如果是,則valueName=FLOW_STATUS_STARTED,則返回 true,同時(shí)返回開始狀態(tài)

        void CAVLiveMediaFlow::Start(void)開始流媒體

        設(shè)置音視頻設(shè)備的輸入,產(chǎn)生新的音視頻源,設(shè)置config,啟動(dòng)ThreadMain()等待消息,開始流媒體。

        void CAVLiveMediaFlow::AddSink(CMediaSink*pSink)往媒體源中的接收器隊(duì)列中添加接收器pSink

        void CAVLiveMediaFlow::RemoveSink(CMediaSink*pSink)從媒體源的接收器隊(duì)列中刪除接收器pSink

        void CAVLiveMediaFlow::StartVideoPreview(void)往視頻源的接收器隊(duì)列中添加回顯接收器,并且啟動(dòng)視頻回顯

        void CAVLiveMediaFlow::SetAudioOutput(bool mute)屏蔽音頻

        void CAVLiveMediaFlow::SetPictureControls(void)調(diào)節(jié)圖像的飽和度,色度和對(duì)比度

        bool CAVLiveMediaFlow::GetStatus(u_int32_t value Name,void*pValue)

        用pValue存儲(chǔ)已經(jīng)編碼的視頻幀的個(gè)數(shù);否則,用pValue存儲(chǔ)流媒體已經(jīng)開始的信息[4]。

        4 實(shí)驗(yàn)效果分析

        分析了流媒體直播服務(wù)器的功能需求,根據(jù)現(xiàn)有的直播服務(wù)系統(tǒng)的原理和處理流程,利用MPEG4IP編碼庫(kù)實(shí)現(xiàn)MPEG4的軟編碼,設(shè)計(jì)了流媒體直播服務(wù)器的功能。通過(guò)主要函數(shù)的描述為中心,以主要函數(shù)的流程為線索,通過(guò)編寫管理員界面及子對(duì)話框來(lái)實(shí)現(xiàn)管理及設(shè)置服務(wù)器功能,實(shí)現(xiàn)符合MPEG4標(biāo)準(zhǔn)的音視頻數(shù)據(jù),最終形成一個(gè)基于linux平臺(tái)的網(wǎng)絡(luò)直播平臺(tái)——Linux流媒體直播服務(wù)器。Linux流媒體直播服務(wù)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),突破了傳統(tǒng)的教學(xué)模式,在實(shí)現(xiàn)過(guò)程中,較之其他直播服務(wù)器,在技術(shù)上的創(chuàng)新有以下幾點(diǎn):

        ·基于MPEG4IP項(xiàng)目進(jìn)行二次開發(fā),實(shí)現(xiàn)了符合MPEG4標(biāo)準(zhǔn)的音視頻數(shù)據(jù),滿足了不同帶寬用戶對(duì)視頻質(zhì)量的需求。

        ·基于SDL技術(shù)實(shí)現(xiàn)在Linux平臺(tái)顯示播放。

        ·基于RTP/RTSP協(xié)議實(shí)現(xiàn)音視頻數(shù)據(jù)的傳輸。

        實(shí)驗(yàn)顯示,采用SDL技術(shù)實(shí)現(xiàn)了在Linux平臺(tái)顯示播放,基于RTP/RTSP協(xié)議實(shí)現(xiàn)了音視頻數(shù)據(jù)的傳輸,效果良好,而且系統(tǒng)穩(wěn)定性和負(fù)載均衡性都有很好表現(xiàn)。

        [1]吳堅(jiān).IPTV內(nèi)容使用精細(xì)化[J].流媒體世界,2009(3):23-25.

        [2]張靜.基于.NET下Web服務(wù)的信息查詢系統(tǒng)的研究與設(shè)計(jì)[D].合肥工業(yè)大學(xué),2011(9):32-35.

        [3]駱炎民.基于XML的WebGIS及其數(shù)據(jù)共享的研究[D]華僑大學(xué),2010(11):40-44.

        [4]駱炎民.基于XML的WebGIS及其數(shù)據(jù)共享的研究[D]華僑大學(xué),2007.

        猜你喜歡
        音視頻管理員編碼
        我是小小午餐管理員
        基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
        我是圖書管理員
        我是圖書管理員
        《全元詩(shī)》未編碼疑難字考辨十五則
        可疑的管理員
        子帶編碼在圖像壓縮編碼中的應(yīng)用
        電子制作(2019年22期)2020-01-14 03:16:24
        3KB深圳市一禾音視頻科技有限公司
        Genome and healthcare
        WIFI音視頻信號(hào)傳輸?shù)年P(guān)鍵問(wèn)題探究
        電子制作(2018年12期)2018-08-01 00:48:06
        粉嫩国产av一区二区三区| 日韩av一区二区三区四区av| 日本变态网址中国字幕 | 女同中的p是什么意思| 日韩精品一区二区在线视| 中文字日产幕码三区的做法大全 | 美女午夜福利视频网址| 亚洲春色在线视频| 国产一级大片免费看| 99久久无色码中文字幕鲁信| 不卡一本av天堂专区| 国产高潮视频在线观看| 国产欧美乱夫不卡无乱码| 91国产自拍视频在线| 日本伊人精品一区二区三区| 黑森林福利视频导航| 美女啪啪国产| 亚洲成生人免费av毛片| 99国产精品久久99久久久| 国产综合久久久久| 国产人成亚洲第一网站在线播放 | 国产69口爆吞精在线视频喝尿| 亚洲av天堂一区二区| 丰满人妻一区二区三区免费视频| 熟妇人妻中文av无码| 久久久久亚洲AV无码专区一区| 精品乱色一区二区中文字幕 | 日本免费视频| 亚洲成色www久久网站夜月| 欧洲人体一区二区三区| 亚洲精品第四页中文字幕| 成人aaa片一区国产精品 | 欧美性受xxxx白人性爽| 亚洲第一无码精品久久| 亚洲国产一区二区,毛片| 天天夜碰日日摸日日澡性色av| 麻豆国产成人av高清在线观看 | 日本免费影片一区二区| 一本色道久久爱88av| 精品乱码一区二区三区四区| 中文字幕无线精品亚洲乱码一区|