




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 基于mooc視頻的增強(qiáng)交互性的研究與實(shí)現(xiàn) 張成林+路宏摘 要:為解決mooc在線學(xué)習(xí)課程缺乏交互性的問題,文章設(shè)計(jì)并搭建了一套基于hls協(xié)議的增強(qiáng)交互性的流媒體服務(wù)器,采用基于opencv的sift和orb算法對(duì)教學(xué)視頻的圖像內(nèi)容進(jìn)行識(shí)別和處理,生成與學(xué)習(xí)內(nèi)容相關(guān)的信息數(shù)據(jù),再使用python、html5和javascript語言將信息數(shù)據(jù)嵌入到視頻及網(wǎng)頁(yè)中,形成具有交互性的學(xué)習(xí)內(nèi)容,實(shí)現(xiàn)增強(qiáng)教學(xué)內(nèi)容的交互視頻。關(guān)鍵詞:樹莓派;交互視頻;opencv;python:g434 文獻(xiàn)標(biāo)志碼:a :2095-2945(2018)03-0157-0
2、3abstract: in order to cope with the lack of interactive mooc online learning course, this paper designs and builds a set of enhanced interactive streaming media server based on hls protocol. the image content of teaching video is recognized and processed by sift and orb algorithm based on opencv, a
3、nd the information data related to learning content are generated. then using python, html5 and javascript language, the information data were embedded into the video and web pages, forming interactive learning content, so as to enhance the teaching content of interactive video.keywords: raspberry p
4、ie; interactive video: opencv; python引言目前,在線學(xué)習(xí)已經(jīng)成了一種新興的學(xué)習(xí)方式,并吸引著廣大的學(xué)習(xí)愛好者,其中最有影響力的當(dāng)屬mooc(massive open online courses)。然而由于網(wǎng)絡(luò)課程和實(shí)體課程在授課形式上的不同,就導(dǎo)致mooc這種在線學(xué)習(xí)課程和實(shí)體課程相比有一個(gè)很大的不足交互性的缺失,這也是在線課程雖然廣泛流行,卻沒有顯著地提高學(xué)習(xí)效率的主要原因。為解決這一問題,本文將設(shè)計(jì)并搭建一套基于hls協(xié)議的增強(qiáng)交互性的流媒體服務(wù)器,實(shí)現(xiàn)增強(qiáng)教學(xué)內(nèi)容的在線交互視頻。1 系統(tǒng)的總體設(shè)計(jì)本文搭建了一套基于hls協(xié)議的增強(qiáng)視頻交互性的流媒體服
5、務(wù)器,系統(tǒng)整體框架如圖1所示。該系統(tǒng)以樹莓派(raspberry pi開發(fā)板),搭載raspbian操作系統(tǒng),作為基本的視頻服務(wù)器,采用基于hls協(xié)議的nginx、ffmpeg和mysql的視頻服務(wù)器構(gòu)建方案。在服務(wù)器后臺(tái),使用python語言進(jìn)行程序設(shè)計(jì),自動(dòng)生成嵌入交互元素和教學(xué)內(nèi)容的動(dòng)態(tài)網(wǎng)頁(yè),處理流程如圖2所示。首先,采用基于opencv的sift和orb圖像匹配算法,并結(jié)合教學(xué)視頻的內(nèi)容和特點(diǎn),對(duì)教學(xué)視頻進(jìn)行預(yù)處理,提取出關(guān)鍵圖像的基本內(nèi)容和信息;之后,對(duì)視頻進(jìn)行預(yù)處理得到的基本數(shù)據(jù),結(jié)合交互形式以及原始網(wǎng)頁(yè)的信息自動(dòng)生成動(dòng)態(tài)網(wǎng)頁(yè)。在web前端,對(duì)服務(wù)器后臺(tái)自動(dòng)生成的動(dòng)態(tài)網(wǎng)頁(yè),基于在線
6、視頻的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)方法采用html5、javascript語言來嵌入交互元素,實(shí)現(xiàn)具有多種交互方式和內(nèi)容的動(dòng)態(tài)網(wǎng)頁(yè),以使用戶在網(wǎng)絡(luò)課程的學(xué)習(xí)中,能夠提高學(xué)習(xí)效果與效率。2 硬件系統(tǒng)組成2.1 硬件設(shè)備2.1.1 樹莓派。raspberry pi是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì),只有信用卡大小的微型電腦,其系統(tǒng)基于linux,具有視頻及音頻功能。2.1.2 sd卡。樹莓派中沒有像臺(tái)式機(jī)硬盤一樣的硬件設(shè)備,取而代之的是sd卡,它的作用類似于固態(tài)硬盤,樹莓派從sd卡中啟動(dòng)。2.1.3 電源適配器。樹莓派的電源采用5v micro-usb輸入,同一般手機(jī)或平板的電源一致。實(shí)際上,一般手機(jī)的充電器均可為樹莓
7、派供電。2.2 樹莓派的基本配置本文中,樹莓派充當(dāng)了hls流媒體服務(wù)器的功能。其基本搭建如下:首先,從樹莓派官網(wǎng)下載raspbian鏡像,并采用win32diskimager軟件將獲得的鏡像文件寫入sd卡,這里采用的是最新版raspbian stretch with desktop鏡像。然后,將sd卡插入樹莓派并連接好其他外部設(shè)備,接通電源即可工作。3 軟件搭建及設(shè)計(jì)3.1 流媒體服務(wù)器的搭建采用基于hls協(xié)議的nginx、ffmpeg、mysql方案搭建流媒體服務(wù)器。nginx是一款輕量級(jí)的web 服務(wù)器/反向代理服務(wù)器及電子郵件(imap/pop3)代理服務(wù)器,其特點(diǎn)是占有內(nèi)存少,并發(fā)能力
8、強(qiáng)。nginx最大的特點(diǎn)是可以進(jìn)行多模塊的整合,它可以整合其他的開發(fā)模塊實(shí)現(xiàn)更加復(fù)雜的功能。例如,ngx_cache_purge緩存模塊,gnosek_nginx_upstream傳輸?shù)霓D(zhuǎn)換模塊,echo-nginx-module回應(yīng)模塊,zlib壓縮模塊,不過,編譯的時(shí)候需設(shè)置很多模塊才能正常使用,否則相應(yīng)的配置項(xiàng)無法使用。nginx配合ffmpeg搭建流媒體服務(wù)器的原理是: nginx通過rtmp模塊提供rtmp服務(wù),ffmpeg推送一個(gè)rtmp流到nginx, 然后客戶端通過訪問nginx來收看實(shí)時(shí)視頻流.。hls也是差不多的原理,只是最終客戶端是通過http協(xié)議來訪問的,但是ffmpe
9、g推送流仍然是rtmp的。endprintmysql是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)系數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。mysql所使用的 sql 語言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語言。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 mysql 作為網(wǎng)站數(shù)據(jù)庫(kù)。3.2 服務(wù)器后臺(tái)設(shè)計(jì)開發(fā)3.2.1 教學(xué)視頻的預(yù)處理。在服務(wù)器后臺(tái)使用python語言進(jìn)行程序設(shè)計(jì),采用opencv的sift和orb圖像匹配算法,并結(jié)合教學(xué)視頻的內(nèi)容和特點(diǎn),對(duì)教學(xué)視頻進(jìn)行預(yù)處理,提取出關(guān)鍵圖像的基本數(shù)據(jù)。(1)si
10、ft圖像匹配算法。sift(scale-invariant feature transform)算法是一種著名的尺度不變特征檢測(cè)算法。sift特征正如其名稱一樣是縮放不變的。sift在一點(diǎn)處檢測(cè)主要梯度方向,根據(jù)這個(gè)方向記錄局部梯度直方圖結(jié)果,所以sift也是旋轉(zhuǎn)不變的。sift特征包括興趣點(diǎn)檢測(cè)器和描述子。sift描述子具有非常強(qiáng)的穩(wěn)健性。該算法檢測(cè)特征時(shí),采用圖像空間和尺度空間的局部最大值,通過求一幅圖中的興趣點(diǎn)(interest points or corner points)及其有關(guān)尺度和方向的描述子得到特征并進(jìn)行圖像特征點(diǎn)匹配,具有良好效果。python中調(diào)用方法如下:sift =
11、cv2.xfeatures2d.sift_create()kp, des = sift.detectandcompute(img, none)(2)orb圖像匹配算法。orb(oriented fast and rotated brief)算法是對(duì)非免費(fèi)的sift和surf算法的一種替代算法。orb代表定向fast和旋轉(zhuǎn)brief。這個(gè)縮寫的第一層意思表示關(guān)鍵點(diǎn)檢測(cè),第二層意思表示orb算法提供的描述子。orb首先創(chuàng)建一個(gè)圖像金字塔。它由一批圖層組成,每個(gè)圖層都是用固定的縮放因子對(duì)前一個(gè)圖層下采樣得到(典型情況是用8個(gè)尺度,縮放因子為1.2,這些參數(shù)可在cv2.orb_create()函數(shù)中設(shè)
12、置)。在具有關(guān)鍵點(diǎn)評(píng)分的位置,接受n個(gè)強(qiáng)度最大的關(guān)鍵點(diǎn)。其中關(guān)鍵點(diǎn)評(píng)分用的是harris角點(diǎn)強(qiáng)度衡量方法(這個(gè)方法的作者發(fā)現(xiàn)harris評(píng)分是更可靠的衡量方法)。orb檢測(cè)器的原理基于一個(gè)現(xiàn)象,即每個(gè)被檢測(cè)的興趣點(diǎn)總是關(guān)聯(lián)了一個(gè)方向。這個(gè)信息可用于校準(zhǔn)不同圖像中檢測(cè)到的關(guān)鍵點(diǎn)描述子。orb算法建議使用關(guān)鍵點(diǎn)周圍的圓形鄰域的重心的方向。因?yàn)楦鶕?jù)定義,fast關(guān)鍵點(diǎn)肯定有一個(gè)偏離中心點(diǎn)的重心,中心點(diǎn)與重心的連線的角度總是非常明確的。python中調(diào)用方法如下:orb = cv2.orb_create()kp = orb.detect(img, none)kp, des = pute(img, kp
13、)3.2.2 動(dòng)態(tài)網(wǎng)頁(yè)的生成在服務(wù)器后臺(tái)使用python語言進(jìn)行程序設(shè)計(jì),將對(duì)視頻進(jìn)行預(yù)處理后得到的基本數(shù)據(jù),結(jié)合原始網(wǎng)頁(yè)與交互形式自動(dòng)生成動(dòng)態(tài)網(wǎng)頁(yè)。所謂的動(dòng)態(tài)網(wǎng)頁(yè),是指跟靜態(tài)網(wǎng)頁(yè)相對(duì)的一種網(wǎng)頁(yè)編程技術(shù)。靜態(tài)網(wǎng)頁(yè),隨著html代碼的生成,頁(yè)面的內(nèi)容和顯示效果就基本上不會(huì)發(fā)生變化。而動(dòng)態(tài)網(wǎng)頁(yè)則不然,頁(yè)面代碼雖然沒有變,但是顯示的內(nèi)容卻是可以隨著時(shí)間、環(huán)境或者數(shù)據(jù)庫(kù)操作的結(jié)果而發(fā)生改變的。具體在操作的時(shí)候,我們可以使用python下的爬蟲程序,如scrap、bs4、requests等,但我們初期只是解析一些簡(jiǎn)單的視頻網(wǎng)頁(yè),所以用不上scrap這樣的重型武器,只需requests這種簡(jiǎn)單輕便的即可。
14、requests模塊不包含在標(biāo)準(zhǔn)庫(kù)中,需要安裝,windows和linux下都可以使用pip安裝:$ pip install requests在http相關(guān)處理中,requests模塊更能簡(jiǎn)約的支持完整的簡(jiǎn)單用例:import requestsreq = requests.get('https:/ 'password')print req.status_codeprint req.headers'content-type'print req.encodingprint req.contentprint req.json()'login'3
15、.3 web前端設(shè)計(jì)開發(fā)基于在線視頻的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)采用html5、javascript語言來嵌入交互元素(鼠標(biāo)懸停、鍵盤交互以及攝像頭等),實(shí)現(xiàn)具有多種交互方式和內(nèi)容的交互式視頻。所謂交互式視頻,即通過各種技術(shù)手段,將交互體驗(yàn)融入到線性的視頻的新型視頻。在前端視頻網(wǎng)頁(yè)的設(shè)計(jì)上,我們使用最基本的html語言來播放視頻,css用作排版和美化,但這兩個(gè)都只是作為最基本的靜態(tài)網(wǎng)頁(yè)框架的搭建,本網(wǎng)頁(yè)前端的設(shè)計(jì)中,真正開發(fā)最多的還是javascript。javascript作為世界上最流行的腳本語言,它是屬于web的語言,廣泛適用于 pc、筆記本電腦、平板電腦和移動(dòng)電話,所以在此被用來向html頁(yè)面增加交互性。許多 html 開發(fā)者都不是程序員,因?yàn)閖avascript擁有非常簡(jiǎn)單的語法,幾乎每個(gè)人都有能力將小的javascript片段添加到網(wǎng)頁(yè)中。在網(wǎng)頁(yè)交互的設(shè)計(jì)上,我們實(shí)現(xiàn)的鼠標(biāo)隱藏與識(shí)別、懸停事件的發(fā)生,以及浮動(dòng)畫布的顯示等,就是用javascript調(diào)用函數(shù)來實(shí)現(xiàn)的。參考文獻(xiàn):1gary bradski,adrian kaehler.學(xué)習(xí)opencvm.于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2009:355-356.2jan erik solem.python計(jì)算機(jī)視覺編程m.朱文濤,袁勇,譯.北京:人民郵電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信陽(yáng)涉外職業(yè)技術(shù)學(xué)院《工程中的數(shù)值方法C》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)安大學(xué)興華學(xué)院《小語課程標(biāo)準(zhǔn)與教材研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連理工大學(xué)城市學(xué)院《復(fù)合材料界面》2023-2024學(xué)年第二學(xué)期期末試卷
- 統(tǒng)編版語文二年級(jí)下冊(cè)語文園地二《鳥鳴澗》課件
- 云南經(jīng)濟(jì)管理學(xué)院《大數(shù)據(jù)分析理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 格賓籠石攔沙坎施工方案
- 湖南冶金職業(yè)技術(shù)學(xué)院《信息分析方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海戲劇學(xué)院《理論力學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 撫州職業(yè)技術(shù)學(xué)院《建筑設(shè)計(jì)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海電影藝術(shù)職業(yè)學(xué)院《學(xué)科知識(shí)與教學(xué)能力綜合訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- DL∕T 1094-2018 電力變壓器用絕緣油選用導(dǎo)則
- 【我國(guó)農(nóng)村數(shù)字普惠金融的發(fā)展問題及完善策略12000字(論文)】
- DL-T-5115-2016混凝土面板堆石壩接縫止水技術(shù)規(guī)范
- 全國(guó)川教版信息技術(shù)八年級(jí)下冊(cè)第二單元第1節(jié)《設(shè)計(jì)文創(chuàng)作品》教學(xué)設(shè)計(jì)
- 危貨押運(yùn)員考試答案(題庫(kù)版)
- QCT267-2023汽車切削加工零件未注公差尺寸的極限偏差
- 2022-2023學(xué)年浙江省紹興市高一(下)期末數(shù)學(xué)試卷含答案
- 租房協(xié)議書 租房協(xié)議書范本
- GB/T 43646-2024陸生野生動(dòng)物廊道設(shè)計(jì)要求
- 吊籃施工風(fēng)險(xiǎn)分級(jí)管控與隱患排查治理(匯編)
- 內(nèi)蒙古呼和浩特市2023年中考?xì)v史試題(附真題答案)
評(píng)論
0/150
提交評(píng)論