freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux的嵌入式流媒體點(diǎn)播系統(tǒng)畢業(yè)論文-在線瀏覽

2025-05-01 09:57本頁面
  

【正文】 師: 完成日期: 2021 年 04 月 25 日 2 摘 要 隨著 嵌入式 系統(tǒng) 以及 計(jì)算機(jī)網(wǎng)絡(luò)通信 技術(shù)、多媒體應(yīng)用 程序的快速發(fā)展, 基于嵌入式 linux 的家庭娛樂中心、 視頻點(diǎn)播和實(shí)時(shí)會(huì)議 系統(tǒng) 已經(jīng)成為一個(gè)開發(fā) 的熱點(diǎn)。這種系統(tǒng)因其體積小、功耗低 、 使用 方便 而廣受青睞。內(nèi)核采用 ,針對(duì) mini2440 開發(fā)板對(duì)內(nèi)核 做 了板級(jí)的 定制 。 論文 介紹了 RTSP 流媒體協(xié)議的體系結(jié)構(gòu)和工作原理。 該視頻點(diǎn)播 系統(tǒng)提供了美觀、友好的 TQ圖形用戶界面,可以進(jìn)行本地播放和網(wǎng)絡(luò)播放, 實(shí)現(xiàn)了視頻點(diǎn)播的 基本 功能。 在現(xiàn)代 計(jì)算機(jī) 網(wǎng)絡(luò)技術(shù)快速發(fā)展的基礎(chǔ)上, 多媒體計(jì)算機(jī)技術(shù)和多媒體網(wǎng)絡(luò)技術(shù) 越 來越廣泛地應(yīng)用到 視頻點(diǎn)播系統(tǒng)。 研究意義 在 這個(gè)信息化的時(shí)代, 嵌入 視頻 VOD系 統(tǒng)正在融入人們的生活,比如 KTV點(diǎn)播系統(tǒng)、智能電視等等, 這些都 使人們 能 更加高效便捷的享受信息資源 ,極大地方便了人們的生活, 這使得嵌入式 VOD 系統(tǒng)開發(fā) 成為一個(gè)熱點(diǎn)。同時(shí)嵌入式技術(shù)發(fā)展迅速, 隨著嵌入式產(chǎn)品 快速 地 更新?lián)Q代 ,系統(tǒng)還要有 良好的 擴(kuò)展性。視頻點(diǎn)播是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)發(fā)展的產(chǎn)物 [01]。 視頻點(diǎn)播系統(tǒng)不僅可以為用戶提供豐富的網(wǎng)絡(luò)信息資源而且在遠(yuǎn)程教育、智能家電等領(lǐng)域得到越來越廣泛的應(yīng)用。 隨著 智能家電 、 智能汽車 的快速發(fā)展,嵌入式 VOD 必將得到越來越廣泛的 應(yīng)用 。 所以 要實(shí)現(xiàn)視頻點(diǎn)播的功能必須對(duì)這些要傳輸?shù)囊曨l數(shù)據(jù)進(jìn)行壓縮和解壓縮 。 AVI AVI 是將語音和影像同步組合在一起的文件格式, 是微軟公司 1992 年推出的視頻格式 ,可以將視頻和音頻交織在一起進(jìn)行同步播放 。 AVI 格式文件結(jié)構(gòu)由文件頭、索引塊和數(shù)據(jù)塊組成。影像參數(shù)的視窗大小和幀率可以根據(jù)播放環(huán)境的硬件能力和處理速度進(jìn)行調(diào)整,窗口越大視頻文件越大。 AVI 支持 256 色和 RLE 壓縮, AVI 對(duì)視頻文件采用有損壓縮方式。 MPEG4 MPEG4是一種包含音頻和圖像的壓縮技術(shù),對(duì)圖像的壓縮算法提供的壓縮比可達(dá)到 200:1。它支持固定和可變速率視頻編碼,具有高效的壓縮性, 其編碼系統(tǒng)是開放的,隨時(shí)可以加入新的有效的算法模塊??梢岳煤苷膸捦ㄟ^幀的重建技術(shù)壓縮和傳輸數(shù)據(jù),從 而能以最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。 因此在 MPEG4數(shù)字電視、動(dòng)態(tài)圖像和移動(dòng)通信等領(lǐng)域得到了普遍應(yīng)用。流是對(duì)在網(wǎng)絡(luò)上所傳輸?shù)慕?jīng)過一定編碼的多媒體信息的一種描述 [04]。傳統(tǒng)視頻播放時(shí)必須整個(gè)視頻文件必須全部下載下來才能觀看,這會(huì)使得播放延時(shí)非常大。 這種觀看方式 大大地滿足了用戶的需求。 傳統(tǒng)的視頻播放中主要采用順序傳輸方式,使用這種方式用戶一般只能觀看自己已經(jīng)下載的視頻,缺乏靈活性。現(xiàn) 對(duì)于傳統(tǒng)的 順序傳輸方式 視頻播放,實(shí)時(shí)流 傳輸更能滿足用戶需求,逐漸成為視頻點(diǎn)播 的主流 方式 。其中 RTSP 提供控制功能, 如 播放器 客戶端播放、暫停、前進(jìn)等功能, RTP 協(xié)議負(fù)責(zé)流媒體 數(shù)據(jù)的 實(shí)時(shí) 傳輸, RTCP 負(fù)責(zé)檢查 反饋 網(wǎng)絡(luò)狀況 以進(jìn)行相應(yīng)的調(diào)整 。 圖 21 RTSP協(xié)議棧 RTSP RTSP 協(xié)議 屬于應(yīng)用層協(xié)議 , 是一個(gè)多媒體播放控制協(xié)議, 以 C/S 方式工作 。 要 實(shí)現(xiàn) RTSP 的 視頻播放 控 制功能,不但要有協(xié)議還要有專門的客戶端播放程序和視頻服務(wù)器 [05]。 如圖 22所示 。 在數(shù)據(jù)包中封裝了發(fā)送數(shù)據(jù)的 序列計(jì)數(shù) 、 標(biāo)識(shí)符 和時(shí)間戳等信息。 所以視頻播放時(shí)會(huì)出現(xiàn)視頻模糊,視頻質(zhì)量不佳的現(xiàn)象。 RTCP 是 RTP 的 實(shí)時(shí)傳輸 控制協(xié)議,它用于監(jiān)視網(wǎng)絡(luò)的服務(wù)質(zhì)量和在正在進(jìn)行的與會(huì)者會(huì)話中傳遞信息。 RTCP 是 通過 周期性地向會(huì)話的所有參加者進(jìn)行通信 來實(shí)現(xiàn)這樣的功能的 , 根據(jù)會(huì)話者的數(shù)量來調(diào)整發(fā)包率 。 即 先在計(jì)算機(jī)上編寫 源 程序,然后 通過 編譯工具 交叉編譯,生成 可以 在 目標(biāo)平臺(tái)上 運(yùn)行的二進(jìn)制代碼文件,下載到目標(biāo)平臺(tái)上的相應(yīng) 位置 [06]。開發(fā)模型如圖 24 所示 。 本文的目標(biāo)就是在 X86 平臺(tái)上交叉編譯,產(chǎn)生可以在 ARM 開發(fā)板上運(yùn)行的二進(jìn)制文件。所以在 移植時(shí) 系統(tǒng)需要加入 對(duì)網(wǎng)卡、觸摸屏等的支持。 客戶端主要實(shí)現(xiàn)視頻播放功能, 用戶啟動(dòng)系統(tǒng)后進(jìn)入視頻點(diǎn)播系統(tǒng)主界面,為用戶提供 網(wǎng)絡(luò)點(diǎn)播和本地點(diǎn)播服務(wù),播放時(shí)用戶可以進(jìn)行相關(guān)的交互式操作。 嵌入式流媒體客戶端 需要具備的基本功能如下 : 1) 提供有好的 播放界面和交互式界面; 1) 能讀取視頻文件,實(shí)現(xiàn)實(shí)時(shí)解碼及音視頻同步實(shí)時(shí) 播放 ; 2) 可以播放 U盤中 本地視頻文件; 3) 可以撥號(hào)連接服務(wù)器,讀取服務(wù)器視頻文件 ; 4) 能夠 實(shí)現(xiàn)交互操作 ,實(shí)現(xiàn)對(duì)流媒體 播放 的 暫停、快進(jìn) 、快退 等功能 ; 嵌入式流媒體 服務(wù)器端 需要具備的基本功能如下 [07]: 1)能夠提供種類豐富的視頻文件 :如 AVI, RMVB 等; 2)以流式協(xié)議將視頻文件發(fā)送給客戶端,使用戶可以觀看其點(diǎn)播的視頻文件 ; 3)實(shí)現(xiàn)和客戶端的同步交互式操作,比如實(shí)現(xiàn)同步的暫停、快進(jìn)等操作 。 本文是以 mini2440 為開發(fā)板,論文的主要工作集中于系統(tǒng)的移植和應(yīng)用程序的開發(fā)。 經(jīng)過 嵌入式 uboot 的移植、 armlinux 內(nèi)核的配置與編譯以及嵌入式根文件系統(tǒng)的創(chuàng)建,基于 ARM 處理器平臺(tái)的最小 嵌入式 系統(tǒng) 就完成了 。 典型 的Bootloader、 bootloader 參數(shù)、內(nèi)核映像和嵌入式根文件系統(tǒng)在 FLASH 上的存儲(chǔ) 如下圖所示。 與 前面的最小 嵌入式系統(tǒng)結(jié)合一起 就構(gòu)成了視頻點(diǎn)播系統(tǒng) 體系 。 9 圖 42 嵌入式流媒體播放系統(tǒng) 體系結(jié)構(gòu) 實(shí)現(xiàn)模式: C/S模型 嵌入式視頻點(diǎn)播系統(tǒng)要實(shí)現(xiàn)本地播放和網(wǎng)絡(luò)播放的功能,本地播放是讀取 U盤 中預(yù)先存在的視頻文件進(jìn)行播放。 C/S 工作模型如圖 43所示。 播放器的 RTSP 服務(wù)器工作流程 [11]主要步驟如圖 44 所 示 。 嵌入式系統(tǒng)開發(fā)環(huán)境的 搭建 建立工作目錄 mkdir p /opt/FriendltARM/mini2440 //mini2440 工作目錄 mkdie p /tmp/linux //各種所需源文件都拷貝到該目錄下 建立交叉編譯環(huán)境 cd /opt/FriendltARM/mini2440 解壓 安裝 編譯器 tar xvzf /tmp/linux/ – C / 添加系統(tǒng)環(huán)境變量如下 gedit /root/.bashrc export PATH=$PATH: /opt/FriendlyARM/toolschain/ 解壓安裝 內(nèi)核源代碼 tar xvzf /tmp/linux/ 解壓安裝嵌入式圖形系統(tǒng) armqtopia 和 x86qtopia 源代碼 tar xvzf /tmp/linux/ tar xvzf /tmp/linux/ 解壓安裝嵌入式圖形系統(tǒng) tar xvzf /tmp/linux/ 解壓安裝 源代碼 tar xvzf /tmp/linux/ 解壓安裝 Linux 示例程序 tar xvzf /tmp/linux/ 解壓安裝 uboot 工作目錄 12 tar xvzf /tmp/linux/ 創(chuàng)建 bootloader 工作 目錄,里 有 vivi 和 uboot 源代碼 tar xvzf /tmp/linux/ – C / 改變工作目錄后會(huì) 被安裝到 /usr/sbin 目錄下, 自動(dòng) 生成 mkyaffs2image 和 mkyaffs2image128M。 所建立的 mini2440 工作目錄如 51所示。 其作用 類似于 PC 中的 BIOS,BootLoader 就是在 13 操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。 Bootloader 一般有兩種啟動(dòng)模式即啟動(dòng)加載模式和下載模式。 在下載模式下, uboot為用戶提供一個(gè)命令行接口,通過接口可以使用 uboot 提供的一些命令進(jìn)行相應(yīng)操作 。 在嵌入式 Linux 中 BootLoader 的重要性 由于 BootLoader 需要直接操作硬件, 所以 想在嵌入式世界建立一個(gè)通用的引導(dǎo) 加載 程序是很困難的,因?yàn)橐话悴煌挠布脚_(tái)不同的操作系統(tǒng)所需的加載引導(dǎo)程序不同。 Uboot 就是支持多平臺(tái)多操作系統(tǒng)的 優(yōu)秀 引導(dǎo) 加載 程序,這也 是Uboot 的優(yōu)勢(shì) 。 uboot 引導(dǎo)流程 Bootloader啟動(dòng)流程大多經(jīng)過兩個(gè)階段,即啟動(dòng)可以分為 stage1和 stage2。 Stage2 一般包括以下幾個(gè) 步驟,初始化本階段要用到的硬件設(shè)備,將 制作好的 內(nèi)核映像和根文件系統(tǒng)從 Flash 讀到 RAM 中,調(diào)用內(nèi)核 , 跳轉(zhuǎn)到 MEMSTART+0x8000地址處,一般是 使用 x030008000 地址。 而stage2 則一般 用 C 語言來實(shí)現(xiàn),這樣 做 不僅可以實(shí)現(xiàn)更加 復(fù)雜的功能,而且具有 良好的可讀性和 移植性。 兩個(gè)階段的引導(dǎo)的主要流程如下所示。 UBoot 還 沒有支持 三星S3C2440 微處理器 ,移植仍是用 UBoot 支持的友善之臂 SBC2410 的文件作藍(lán)本來移植,因?yàn)?SBC2410 和 mini2440 硬件配置最為接近 ,使用一個(gè)模板可以加快移植的速度和效率 。S3C2440 和 S3C2410 的區(qū)別主要是 S3C2440 的主頻更高 , 其他 內(nèi)部 寄存器基本都 是兼容 的。 設(shè)置 CPU 為 SVC 關(guān)閉看門狗 /禁所有中斷 /設(shè)置 cpu 頻率 復(fù)制 stage2 可執(zhí)行 映像 到 SDRAM 中 設(shè)置堆棧指針 跳轉(zhuǎn) stage2 c 入口 Stage2: 加載內(nèi)核和根文件 設(shè)置內(nèi)核的啟動(dòng)參數(shù)。 約定:代碼中 +和 號(hào)表示增刪 vi Makefile +CROSS_COMPILE = armnonelinuxgnueabi +mini2440_config : unconfig + $(MKCONFIG) $(:_config=) arm arm920t mini2440 andywsg s3c24x0 在 /board 中建立 mini2440 目錄和文件 在 /board 目錄中建立開發(fā)板 mini2440 的目錄,并復(fù)制 sbc2410x 的文件到此,做適當(dāng)修改。 cd board mkdir andywsg/mini2440 cp arf sbc2410x/* andywsg/mini2440/ cd andywsg/mini2440/ mv 在 include/configs/中建立開發(fā)板配置文件 目的 :制作 mini2440 所需頭文件 cp include/configs/ include/configs/ 測(cè)試編譯環(huán)境 在 uboot 頂層目錄執(zhí)行 make mini2440_config make 編譯通過 如 圖 53 所示 。下面所做 工作就是針對(duì) mini2440 進(jìn)行修改,以滿足項(xiàng)目需求 。第二階段修改初始化代碼 ,主要是 mini2440 平臺(tái)初始化。 第四階段修改編譯配置文件,在所有有編譯條件的地方加入對(duì) mini2440 的編譯 支持 ,這樣前面修改的代碼才會(huì)在編譯時(shí)編譯進(jìn)來。 圖 53 uboot 編譯結(jié)果 linux 內(nèi)核配置與編譯 內(nèi)核 簡(jiǎn)介 內(nèi)核是所有 linux 系統(tǒng)的核心軟件組件,其性能很大程度上決定了整個(gè)系統(tǒng)的性能。 本身已經(jīng)提供了對(duì) mini2440 的部分支持。 17 建立 目標(biāo)平臺(tái) 指定 平臺(tái) 交叉編譯變量 cd vi Makefile ARCH ?= $(SUBARCH) CROSS_COMPILE ?= +ARCH ?= arm +CROSS_COMPILE ?= armlinux 這里面的 ARCH ?= arm 是指定目標(biāo)平臺(tái)為 arm 平臺(tái) , CROSS_COMPILE ?= armlinux是指定交叉編譯器是 。 修定 開發(fā)板 時(shí)鐘源頻率 在 ( 就是 剛剛通過復(fù)制 得到的 )static void __init smdk2440_map_io(void)函數(shù)中,把原來 的 16934400(代表原 SMDK2440 目標(biāo)板上的晶振是 )改為 mini2440 開發(fā)板上實(shí)際使用的 12021000(代表 mini2440 開發(fā)板上的晶振 12MHz)。這里 使用批 處理命令在 命令模式下輸入: %s/smdk2440/mini2440/g。 下載到內(nèi)核, 從串口可以看到 可以啟動(dòng) 信息 ,但是大部分的定制的驅(qū)動(dòng)還沒有添加,根文件系統(tǒng)也沒有制作。 18 移植 Nand 驅(qū)動(dòng) 并修改 分區(qū)信息 雖然比較新的內(nèi)核 在 文件中
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1