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

正文內容

基于linux的嵌入式流媒體點播系統(tǒng)畢業(yè)論文(完整版)

2025-04-15 09:57上一頁面

下一頁面
  

【正文】 Linux 支持的文件系統(tǒng)很多,論文采用的是 yaffs2 文件作為根文件系統(tǒng) 。s3c_device_lcd, amp。 //構建 lcd 配置結構體 mini2440_fb_info static struct s3c2410fb_mach_info mini2440_fb_info __initdata = { .displays = amp。s3c_device_lcd, amp。由于MPlayer 是個開源軟件,內置了多種解碼器,可以播放很多主流音視頻文件,被稱為嵌入式 linux 中最好的播放工具。選擇不同的按鈕進入不同的播放模式,上面 角有個 多 選項卡, 選項卡里有 play 和localplay 不同的播放選項以及幫助信息 選項 。 ()。 //定義本地播放指針按鈕 MyButton* B__paly。 ()。 //主界面多選按鈕 QPopupMenu *file=new QPopupMenu。 menusetGeometry(QRect(0,0,268,10))。 //構造網絡播放按鈕名字、坐標及背景圖片 B__play=new MyButton(this,B__play)。 29 connect(B__paly,SIGNAL(clicked()),this,SLOT( _play_clicked()))。 開發(fā)了 加載 引導 程序,移植 了 內核及設計了播放器主界面 。隨著嵌 入式產品的發(fā)展,視頻壓縮算法的進步,嵌入式 Linux 視頻點播系統(tǒng)必然會有廣闊的發(fā)展空間。在后續(xù)的開發(fā)中,可以從以下幾個方面展開工作: ( 1)、設計基于 GPRS 網絡的視頻點播,實現用戶隨時隨地觀看視頻。 系統(tǒng)播放 將設計好的視頻 播放器 交叉編譯后 移植到 ARM平臺嵌入式系統(tǒng)中,啟動開發(fā)板,進入主界面,主界面會有網絡播放和本地播放選擇按鈕。 B__playsetPaletteBackgroundPixmap(QPixmap::fromMimeSource(images/))。 B_local_playsetMinimumSize(QSize(47,47))。 fileinsertItem(Local play,this,SLOT(local_play_clicked()))。 } } 調用函數 實現 主界面 的顯示 Main_vod:: Main_vod ( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { //設置顯示窗體名字、大小及背景圖片 setName(Main_vod)。 網絡播放和本地播放的函數定義如下: //網絡播放 //本地播放 void Main_vod::_play_clicked() void Main_vod::local_play_clicked() { { close()。 播放窗口按鍵 間 通信通過 signal 和slot 來接收信號, QT信號槽機制 signal 和 slot 機制真正實現了封裝的概念,這里 signal 和 slot 在聲明后 通過 connect( )函數來進行調用。 其中 QWidget類是所有用戶界面對象的基類 , 圖形用戶界面應用程序的控制流 就是 該 類 負責 。 由于交叉編譯出來的應用程序具有良好的可移植性,很多使用 Linux 開發(fā)的 Qt 應用程序可以很方便 地移植到相應的嵌入式系統(tǒng)上去。 注意, 上面驅動 修改 好之后, 每一步都要執(zhí)行 make menuconfig 在菜單選項中選中相應的配置項,這樣在編譯時修改的代碼才會起效。 vi +obj$(CONFIG_TOUCHSCREEN_S3C2410) += 22 移植 SD 卡驅動 由于 已經自帶了 S3C2440 芯片的 SD 卡驅動, 所以 只需在初始化代碼中加入 SD 平臺設備結構就可以 。 移植 LCD 顯示驅動 由于 內核已經支持 S3C2440 的 LCD 控制器驅動, LCD 工作中 最關鍵的就是 取決于 時鐘頻率 (Clock frequency)參數 的設置, 內核是通過一個稱為“ pixclock”的參數來 調節(jié)。 static struct platform_device mini2440_device_eth = { .name = dm9000, .id = 1, .num_resources = ARRAY_SIZE(mini2440_dm9k_resource), .resource = mini2440_dm9k_resource, .dev = { .platform_data = amp。s3c_device_i2c0, amp。 18 移植 Nand 驅動 并修改 分區(qū)信息 雖然比較新的內核 在 文件中 自帶了 部分 Nand Flash驅動, 但是系統(tǒng)默認的分區(qū)不是 該 項目 所需的。 17 建立 目標平臺 指定 平臺 交叉編譯變量 cd vi Makefile ARCH ?= $(SUBARCH) CROSS_COMPILE ?= +ARCH ?= arm +CROSS_COMPILE ?= armlinux 這里面的 ARCH ?= arm 是指定目標平臺為 arm 平臺 , CROSS_COMPILE ?= armlinux是指定交叉編譯器是 。第二階段修改初始化代碼 ,主要是 mini2440 平臺初始化。 設置 CPU 為 SVC 關閉看門狗 /禁所有中斷 /設置 cpu 頻率 復制 stage2 可執(zhí)行 映像 到 SDRAM 中 設置堆棧指針 跳轉 stage2 c 入口 Stage2: 加載內核和根文件 設置內核的啟動參數。 而stage2 則一般 用 C 語言來實現,這樣 做 不僅可以實現更加 復雜的功能,而且具有 良好的可讀性和 移植性。 在嵌入式 Linux 中 BootLoader 的重要性 由于 BootLoader 需要直接操作硬件, 所以 想在嵌入式世界建立一個通用的引導 加載 程序是很困難的,因為一般不同的硬件平臺不同的操作系統(tǒng)所需的加載引導程序不同。 所建立的 mini2440 工作目錄如 51所示。 9 圖 42 嵌入式流媒體播放系統(tǒng) 體系結構 實現模式: C/S模型 嵌入式視頻點播系統(tǒng)要實現本地播放和網絡播放的功能,本地播放是讀取 U盤 中預先存在的視頻文件進行播放。 本文是以 mini2440 為開發(fā)板,論文的主要工作集中于系統(tǒng)的移植和應用程序的開發(fā)。 本文的目標就是在 X86 平臺上交叉編譯,產生可以在 ARM 開發(fā)板上運行的二進制文件。 RTCP 是 RTP 的 實時傳輸 控制協議,它用于監(jiān)視網絡的服務質量和在正在進行的與會者會話中傳遞信息。 要 實現 RTSP 的 視頻播放 控 制功能,不但要有協議還要有專門的客戶端播放程序和視頻服務器 [05]。 傳統(tǒng)的視頻播放中主要采用順序傳輸方式,使用這種方式用戶一般只能觀看自己已經下載的視頻,缺乏靈活性。 因此在 MPEG4數字電視、動態(tài)圖像和移動通信等領域得到了普遍應用。 AVI 支持 256 色和 RLE 壓縮, AVI 對視頻文件采用有損壓縮方式。 所以 要實現視頻點播的功能必須對這些要傳輸的視頻數據進行壓縮和解壓縮 。同時嵌入式技術發(fā)展迅速, 隨著嵌入式產品 快速 地 更新換代 ,系統(tǒng)還要有 良好的 擴展性。 論文 介紹了 RTSP 流媒體協議的體系結構和工作原理。 論文主要做了 uboot 移植 、 kernel 移植、以及播放器主界面 設計的 工作。 在遠程醫(yī)療,酒店 VOD,遠程實時視頻會議 上 得到了越來越廣泛的應用 ,并且智能化成為其發(fā)展一大趨勢。 用戶 可以按照自己的需求點播視頻,即播即放,并且可以實現暫停、快進、后退等操作,這種系統(tǒng) 播放等待時間小 并且支持多種流媒體視頻格式。AVI 文件主要參數有影像參數、伴音參數和壓縮參數。 MPEG4標準具有通用的訪問性,適用于無線和有線網絡以及固態(tài)存儲,支持各種帶寬的傳輸信道和接收端。而現在很流行的嵌入式視頻點播系統(tǒng)可以實現即播即放,極大地減少了等待時間,并且在播放時用戶還可以進行相關的交互式操作。 協議 簇 的層次結構如圖 21 所示。 RTP協議 通常 是用 UDP協議來封裝 的, 所以只提供實時的數據傳輸,但是不保證傳輸的可靠性。 典型的 嵌入式 Linux 開發(fā)使用 如圖所示的宿主機 /目標板開發(fā)模式。 服務器主要實現數據流的發(fā)送 ,使用戶可以觀看自己點播的視頻文件。 圖 41嵌入式最小系統(tǒng)構成 GUI 圖形用戶界面 、通信協議棧和 音視頻解碼器 mppalyer 三個 主要 模塊 集 成在一起就構成了論文的嵌入式用戶應用程序 。 圖 44服務器工作流程 開始 監(jiān)聽 TCP 端口 等待客戶連接 請求連接 接受連接 創(chuàng)建新連接 接受客戶消息 關閉連接 執(zhí)行客戶消息 響應客戶消息 結束 N N VOD Server Client RTSP 控制信息( TCP) RTP 音、視頻( UDP) RTCP 分組 (UDP) HTTP 點播請求 11 5 系統(tǒng)的詳細設計 及實現 該部分介紹了系統(tǒng)的實施細節(jié),包括嵌入式系統(tǒng)開發(fā)環(huán)境的搭建, uboot、kernel 移植以及視頻播放主界面的設計。下載模式主要是針對嵌入式開發(fā)人員的 ,因為嵌入式移植過程中的各種調試基本都是這種模式來實現的,下載模式可以通過串口、 NFS、 TFTP 等方式實現。stage1 完成初始化 硬件的工作 ,為 stage2 準備 足夠的 內存空間,并將 stage2可執(zhí)行映像 復制到內存中,設置堆棧,然后轉調到 stage2 的 C入口。 所以移植所要做的就是針 S3C2440 和 SBC2410 的不同,以及 SBC2410 和 mini2440 開發(fā)板的外設不同作相應的修改,并增加新的功能。以上測試通 過后,說明編譯環(huán)境和基本的開發(fā)板 代碼創(chuàng) 16 建都沒有問題。本系統(tǒng)中,嵌入式 Linux 內核選擇 。 編譯測試 cd make mini2440_defconfig //使用 Linux 官方自帶的 mini2440 配置 make zImage //編譯內核,生成 的內核映像 zImage 位于 arch/arm/boot 編譯通過,以上測試通過后,說明編譯環(huán)境和基本的開發(fā)板的代碼創(chuàng)建都沒有問題。 //平臺設備結構體數組, 把 nand flash 設備 添加到目標平臺設備集 中 static struct platform_device *mini2440_devices[] __initdata = { amp。 進入 yaffs2 源代碼目錄執(zhí)行 如下操作 : cd yaffs2 ./ c /opt/FriendlyARM/mini2440/ 再 進入 , 看到 如果 已經多了一個 yaffs2 目錄 ,說明 yaffs2 補丁已經成功打上。s3c_device_iis, amp。mini2440_lcd_cfg, .num_displays = 1, .default_display = 0, .gpccon = 0xaa955699, .gpccon_mask = 0xffc003cc, .gpcup_mask = 0xffffffff, .gpdcon = 0xaa95aaa1, .gpdcon_mask = 0xffc0fff0, .gpdup = 0x0000faff, .gpdup_mask = 0xffffffff, .lpcsel = 0xf82,}。mini2440_device_eth, amp。在交叉編譯時如果不使用默認的庫文件,需要 進行 相關 庫移植 , 以達到音視頻解碼的功能, 屬于做根文件系統(tǒng)模塊 。 主界面如下圖所示。 //打開第一個界 面 .................... } 主 界面 窗體 Main_vod 是繼承 QDialog 類。 //定義網絡播放指針按鈕 public slots: 27 virtual void _play_clicked()。 ()。 QFont f(Helvetica,10)。 menuinsertItem(File,file)。 B__playsetGeometry(QRect(171,113,47,47))。 Main_vod::~ M
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1