【正文】
或者點擊全屏幕按鈕,就可以將視頻畫面設(shè)為全屏幕。 視頻的進度條和快進快退的定位由FFMPEG提供的APIav_seek_frame(AVFormatContext *s, int stream_index,int64_t timestamp,int flags)。視頻快進、快退狀態(tài)為視頻的加速解碼,設(shè)置一個定時器,當(dāng)選中快進或者這快退后,定時器快開始工作,在解碼完當(dāng)前幀后,跳過幾幀后,再解碼一次,并刷新圖像,刷新時間。以此往復(fù)。順序播放,單曲循環(huán)和全部循環(huán)。播放劉表下面實時顯示播放時間于總時常。中間欄右側(cè),為播放列表,列出在指定目錄下所有的音視頻文件。 emit thisvaluechange(thisnowtime)。datasize,)。 avcodec_decode_video(pCodecCtx,pFrame,amp。 thisnowtime=((int)thisnowtimetmp+)。}。 public slots: void time_out()。 signals: void threadstop()。 void play(int timestamp)。 int nowtime。 float maxtime。 uint8_t *buffer。 int datasize。 int audioStream。 AVCodec *pCodec。 AVPacket packet。使用多線程技術(shù)來實現(xiàn)解碼工作。libfaad libfaac、解碼aac音頻格式libx264 libxvid開放源代碼的MPEG4視頻編解碼器FFMPEG交叉編譯環(huán)境的配置如下./configure \crossprefix=/usr/local/\disablestatic disableyasm disablearmv6 disablearmv6t2 disablearmvfp disableasm disableoptimizations disableffmpeg disableffplay disableffserver disabledoc \disableffprobe disablenetwork targetos=linux arch=arm enablelibfaac \enablelibfaad enablelibfaadbin enablelibxvid enablelibx264 enablelibmake amp。因此,很難做到一次寫代碼不用修改的就在各個版本之間實現(xiàn)。其中l(wèi)ibavcodec用于存放各個encode/decode模塊,libavformat用于存放 muxer/demuxer模塊,libavutil用于存放內(nèi)存操作等常用模塊。根據(jù)我們的目的,每個包包含了完整的幀或者對于音頻來說是許多格式的完整幀。編解碼器 描 述了實際的數(shù)據(jù)是如何被編碼Coded和解碼DECoded的,因此它的名字叫做CODEC。接著,你有一組流,例如,你經(jīng)常有的是一個音頻流和一個視頻流。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多codec都是從頭開發(fā)的。而是使用usb鼠標(biāo)進行控制??梢垣@得其他編碼標(biāo)準(zhǔn)向UNICODE的轉(zhuǎn)換支持,從而在Qfont類中得以轉(zhuǎn)換與顯示。Qt/Embedded中對于鍵盤響應(yīng)的實際函數(shù)位于src/kernel/中,定義了鍵盤類設(shè)備接口的基類QWSKeyboardHandler。在FrameBuffer驅(qū)動程序調(diào)試通過后,配置Qt/Embedded的編譯選項,可以保證Qt/Embedded的圖形引擎正常工作。Qt/Embedded能夠較好地根據(jù)系統(tǒng)已有的FrameBuffer驅(qū)動接口構(gòu)建上層的圖形引擎。有了操作系統(tǒng)對于V4L,UDP,無線網(wǎng)卡等驅(qū)動就簡單了很多。交叉編譯環(huán)境工具鏈一般包括binutils(含AS匯編器,LD鏈接器等),armlinuxgcc,glibc等。把它打到我們的 Linux 內(nèi)核上,再進行交叉編譯就行。而通常對 Linux源碼的改寫工作難度較大,它要求不僅對 Linux 內(nèi)核結(jié)構(gòu)要非常熟悉,還要求您對目標(biāo)平臺的硬件結(jié)構(gòu)要非常熟悉。使用戶應(yīng)用程序的可靠性得以提高,降低了用戶的開發(fā)難度。此智能家居系統(tǒng)不但出于安全性的考慮增加了安防系統(tǒng)。用戶刷卡,然后由系統(tǒng)自動識別ID卡,是否開門等。避免了受固定數(shù)值的影響。當(dāng)傳感器溫度在27攝氏度以下時,空調(diào)停止工作。附錄部分展示了程序的主要部分源代碼。以及其與主控部分的通信。第三章從技術(shù)角度將QT和FFMPEG構(gòu)建的嵌入式播放器進行了表述。第二章主要從整體的軟硬件構(gòu)建流程進行詳盡的描述。各個功能模塊采用物聯(lián)網(wǎng)的思想進行構(gòu)建。并且利用了IP網(wǎng)和串口進行通信。但智能家居最終會獨立出來成為一個自成體系和系統(tǒng),作為住宅的主人完全可以自由選擇智能家居系統(tǒng),即使是小區(qū)配套來統(tǒng)一安裝,也應(yīng)該可以根據(jù)需要自由選擇相應(yīng)產(chǎn)品和功能、可以要求升級、甚至你對整個設(shè)計不感興趣,完全可以獨立安裝一套。歐美由于獨體別墅的居住模式流行,因此住宅多散布城鎮(zhèn)周邊,沒有一個很集中的規(guī)模,當(dāng)然也就沒有類似國內(nèi)的小區(qū)這一級,住宅多與市鎮(zhèn)相關(guān)系統(tǒng)直接相連。關(guān)鍵詞:智能家居;網(wǎng)絡(luò)通信;實時監(jiān)控;QT;FFMPEGIIIAbstractIntelligent household is for the platform, and using of prehensive housing muting technology, network munication technology and intelligent household the system design scheme security presentation technology, automatic control technology, audio and video technology will household life relevant facilities integration, constructing efficient residential facilities and family affairs of the schedule management system management sys tem, ascending household safety, convenience, fort, artistic, and realize environmental protection and energy saving living environment. This system USES S3C2410,PXA270, AT89S52 devices such as chips for system control. Using IP nets and serial interface munication. Realize the realtime monitoring, realtime temperature control, entrance guard system, etc. And in entertainment use QT FFMPEG developed with the video player, support embedded documents are H264, decoding of AVI, mpeg4, 3GP, etc. But also provides text reading, electronic albums and theme transform, and other functions. Key words: Intelligent household;network munication;realtime monitoring;QT;FFMPEG 目 錄基于物聯(lián)網(wǎng)的智能家居系統(tǒng) I摘 要 IAbstract II目 錄 3第一章 緒論 1 智能家居的現(xiàn)狀與開發(fā)意義 1 論文主要內(nèi)容 1第二章 智能家居的總體設(shè)計方案 3 系統(tǒng)核心控制軟件流程及其說明 3 Linux內(nèi)核移植 4 QT Embedded移植 5第三章 智能家居多功能娛樂系統(tǒng) 7 基于QT和FFMPEG的嵌入式播放器 7 FFMPEG簡介 7 FFMPEG及其編解碼庫的移植 8 FFMPEG解碼流程 9 基于Qt的嵌入式播放器的實現(xiàn) 9 播放器的邏輯結(jié)構(gòu) 13 基于QtNetwork和V4L的視頻監(jiān)控系統(tǒng) 16 V4L簡介 16 基于V4L的視頻采集與傳輸 19 基于QT MVC結(jié)構(gòu)的電子相冊 22 QT的MVC結(jié)構(gòu) 22 相冊的文件遍歷 23 相冊的漸變效果 24 多功能電子書 24第四章 智能家居的控制系統(tǒng) 26 基于博創(chuàng)UPSTAR2410的無線遙控器 26第五章 特色 27附錄A 28第一章 緒論 智能家居的現(xiàn)狀與開發(fā)意義20世紀(jì)80年代初,隨著大量采用電子技術(shù)的家用電器面市,住宅電子化(HE,Homen Electronics)出現(xiàn)。利用IP網(wǎng)和串口進行通信。本系統(tǒng)采用S3C24PXA270、AT89S52等芯片進行系統(tǒng)控制。而且提供了文本閱讀、電子相冊與主題變換等功能。中國人口眾多,城市住宅也多選擇密集型的住宅小區(qū)方式,因此很多房地產(chǎn)商會站在整個小區(qū)智能化的角度來看待家居的智能化,也就出現(xiàn)了一統(tǒng)天下、無所不包的智能小區(qū)。而國內(nèi)習(xí)慣上已將它當(dāng)作智能小區(qū)的子系統(tǒng)考慮,這種做法在前一階段應(yīng)該是可行的,而且是實用的,因為以前設(shè)計選用的智能家居功能系統(tǒng)多是小區(qū)配套的系統(tǒng)。包括相關(guān)的移植和應(yīng)用技術(shù)。這要可以保證家居系統(tǒng)的穩(wěn)定運行。第一章介紹了智能家居的現(xiàn)狀和與當(dāng)今的開發(fā)意義。并且將Linux和QT的移植進行了簡要的介紹?;赒tNetwork和V4L的視頻采集傳輸系統(tǒng)。第七章簡明扼要的概括了本系統(tǒng)的優(yōu)點以及特色。一旦溫度升高,超過了27攝氏度,這時候空調(diào)將自動開啟,進行制冷。這時候我們選擇了25至27攝氏度這個范圍內(nèi)。因此我們采用了門禁系統(tǒng)。這使得家庭的安全得到了保障。圖 22 智能家居核心控制軟件流程 Linux內(nèi)核移植對于 PXA270 這樣的基于 ARM10 系列的 CPU和S3C2410這樣基于ARM9系列的CPU, 支持內(nèi)存管理單元, 可以采用傳統(tǒng)的 Linux 內(nèi)核,對進程進行保護,提高了嵌入式系統(tǒng)中多進程的保護能力。其基本內(nèi)容是:獲取某一版本的 Linux 內(nèi)核源碼,根據(jù)我們的具體目標(biāo)平臺對這源碼進行必要的改寫(主要是修改體系結(jié)構(gòu)相關(guān)部分),然后添加一些外設(shè)的驅(qū)動,打造一個適合于我們目標(biāo)平臺的新操作系統(tǒng),對該系統(tǒng)進行針對我們目標(biāo)平臺的交叉編譯,生成一個內(nèi)核映象文件,最后通過一些手段把該映像文件燒寫(安裝)到我們目標(biāo)平臺中。比如說針對目前嵌入式系統(tǒng)中最流行的ARM平臺,它的這部分工作就是由英國ARM公司的工程師完成的,我們所要做的就是從其網(wǎng)站上下載相關(guān)版本 Linux內(nèi)核的補丁(Patch)。3)準(zhǔn)備交叉編譯環(huán)境。 6)以上可