在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 基于S3C6410的視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

            基于S3C6410的視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

            作者: 時間:2012-02-08 來源:網(wǎng)絡(luò) 收藏

            下面列出編碼部分的關(guān)鍵代碼。
            hOpen=open(MFC_DEV_NAME,O_RDWR | O_NDELAY);
            上一行代碼打開MFC設(shè)備。由預(yù)定義的宏MFC_DEV_NAME指定MFC設(shè)備文件路徑。
            模塊的初始化部分需要指定編碼幀的長寬,編碼幀的速率等參數(shù)。初始化的這些信息并沒有直接應(yīng)用于設(shè)備,而是存儲于一個編碼參數(shù)的結(jié)構(gòu)體類型參數(shù)pCTX中,然后用下面的代碼進(jìn)行參數(shù)設(shè)置,也即將參數(shù)應(yīng)用于實際的設(shè)備。
            ioctl(pCTX->hOpen,cmd_init,&mfc_args);
            編碼部分用下一行代碼
            ioetl(pCTX->hOpen,cmd_exe,&mfc_args);
            在編碼完成后,可以通過函數(shù)獲取編碼后幀的內(nèi)存地址。函數(shù)原型為:
            void*SsbSipMPEG4EncodeGetOutBuf(vold*openHandle,long*size)。
            最后關(guān)閉設(shè)備文件。
            close(pCTX->hOpen);
            同樣,對于一些流程控制部分的代碼,限于篇幅,沒有進(jìn)行詳細(xì)的描述。
            3.3 網(wǎng)絡(luò)傳輸程序
            網(wǎng)絡(luò)部分采用RTP實時傳輸協(xié)議進(jìn)行數(shù)據(jù)的傳輸。RTP(Real-time Transport Protocol)是用于網(wǎng)絡(luò)多媒體數(shù)據(jù)流的一種傳輸協(xié)議。為了使系統(tǒng)的更簡單和穩(wěn)定,采用已有的RTP庫進(jìn)行程序的開發(fā)。本系統(tǒng)選用開源的C語言庫oRTP進(jìn)行開發(fā)。
            oRTP庫是對RTP協(xié)議的一種,完全采用C語言編寫。oRTP庫使用簡單易用的接口,實現(xiàn)了RTP協(xié)議,可以工作于Linux,Windows等多個
            平臺。
            系統(tǒng)網(wǎng)絡(luò)傳輸模塊的流程比較簡單。模塊首先初始化oRTP庫,然后傳輸數(shù)據(jù),在傳輸完成后釋放oRTP庫資源。由于模塊流程較簡單,在此就不列出系統(tǒng)的流程圖,僅針對具體的實現(xiàn)進(jìn)行說明。下面列出網(wǎng)絡(luò)傳輸模塊的關(guān)鍵代碼。在傳輸數(shù)據(jù)之前,要對oRTP庫進(jìn)行一些基本的初始化操作。首先對時間戳進(jìn)行初始化,采用下面的一行代碼實現(xiàn)。
            m_nUser-Timestamp=0;
            然后,調(diào)用oRTP庫提供的初始化接口函數(shù):
            ortp_init();
            ortp_scheduler_init();
            在完成基本的初始化后,創(chuàng)建一個新的rtp會話對象,并且設(shè)置會話對象的一些參數(shù)和屬性。
            session=rtp_session_new(RTP_SESSION_SENDONLY);
            上面的代碼創(chuàng)建了一個新的rtp會話對象,接下來用下面的函數(shù)對session進(jìn)行參數(shù)和屬性的設(shè)置。
            rtp_session_set_scheduling_mode(); rtp_session_set_blocking_mode(); rtp_session_set_remote_addr();rtp_session_set _payload_type();
            上面的函數(shù)依次對rtp會話對象的調(diào)度管理、阻塞模式、發(fā)送目的地址和負(fù)載類型進(jìn)行設(shè)置。限于篇幅,略去了調(diào)用參數(shù)。
            發(fā)送數(shù)據(jù)調(diào)用庫函數(shù):
            rtp_session_send_wlth_ts();
            在發(fā)送數(shù)據(jù)完成后,銷毀rtp會話對象,然后釋放oRTP庫的資源。
            rtp_session_destroy(session);
            ortp_exit();
            在網(wǎng)絡(luò)傳輸模塊中需要注意的是,由于RTP協(xié)議對數(shù)據(jù)包的大小是有限制的,所以如果傳輸?shù)囊曨l幀過大,需要進(jìn)行分包傳輸處理。

            4 結(jié)語
            本文在微處理器的開發(fā)平臺上,實現(xiàn)了一種MPEG-4編碼的視頻。利用內(nèi)部集成的MFC模塊進(jìn)行視頻編碼,實現(xiàn)了很高的編碼效率。最后,通過RTP協(xié)議進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸。采用模塊化的之后,使得系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)傳輸部分與具體的有線或者無線傳輸方式無關(guān)。文章在描述各部分實現(xiàn)流程的基礎(chǔ)上,詳細(xì)地說明了關(guān)鍵部分的代碼實現(xiàn)。實驗測試中,數(shù)據(jù)編碼效率很高。采用了
            MPEG-4編碼方式,在正常網(wǎng)絡(luò)情況下,傳輸視頻質(zhì)量較好,系統(tǒng)運(yùn)行穩(wěn)定。實驗證實了系統(tǒng)的可行性較高。

            本文引用地址:http://www.biyoush.com/article/165899.htm

            上一頁 1 2 3 4 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉