999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C/S架構和RTMP協議的機房教學系統

2019-05-24 14:11:40葉興汪彥肖金琢
電腦知識與技術 2019年4期
關鍵詞:信息化

葉興 汪彥 肖金琢

摘要:為了提高當前高校機房實驗教學的信息化管理水平,改善實驗教學質量,設計了一個機房教學管理系統。該系統利用C/S結構,以Visual Studio 2012作為開發工具,并使用SQL Server 2010作為數據庫。本系統實現了基本的機房實驗教學管理功能,并采用較為新穎的RTMP協議配合FFmpeg工具進行屏幕共享功能的實現,在保證畫面質量的同時,實驗教學效率有了進一步的提高。

關鍵詞:教學系統;信息化;C/S;屏幕共享; RTMP協議;FFmpeg

中圖分類號:TP311.5 文獻標識碼:A 文章編號:1009-3044(2019)04-0091-03

隨著信息時代的高速發展,高校教學思想與教學平臺發生了翻天覆地的變化[1]。越來越多的高校將機房規模擴大以便適應時代潮流,而在高校教學活動當中,機房實踐教學處于突出位置,這使得這種現代化實驗教學面對著十分嚴峻的挑戰。不過囿于人力與資金的關系,現在許多高校仍然在使用比較傳統的教學管理方式,這不但使得教學質量堪憂,也造成了較大的資源浪費。因此,需要一種方便而實用的機房實驗教學系統來解決當前的問題。結合實際機房實驗教學狀況,我們設計和實現了一個機房教學系統,該系統使用Visual Studio 2012作為開發工具,使用SQL Server 2010實現后臺數據庫。

1 目前背景介紹

當前國內外同類的教學軟件大部分為機房實驗教學系統[2-3],大都具有廣播教學、文件傳輸等功能,但有些系統已經不能適應如今信息化教學的潮流和軟硬件環境的變化,筆者認為可以用更高效、更穩定的技術進行機房教學系統基本功能的改進與擴展。

2 系統分析

2.1 需求分析

經調研分析,我們了解到現階段高校機房系統的管理需求主要存在于高效率的屏幕共享、文件傳輸、設備監管與簽到簽退等方面,同時系統需具有良好的可兼容性、可維護性。

2.2 可行性分析

文件傳輸與設備監管等需求可以使用傳統的Socket通信技術來實現,作為授課主要功能的屏幕共享則使用更為穩定、高效的RTMP協議來進行實現,而使用數據庫技術可以進行后臺學生信息管理,實現課堂簽到、簽退等功能。這些技術都是比較成熟和穩定的,因此該系統從技術的角度來看具有可行性。

3 系統設計

3.1 系統構架設計

機房實驗教學系統的總體框架結構分為后臺數據庫、分發服務器、教師端軟件和學生端軟件四部分。后臺網絡數據庫采用SQL Server 2010與分發服務器都運行在Windows操作系統上。教師端軟件運行在教師機上,學生端軟件則運行在學生機上,教師端軟件與學生端軟件之間、運行于不同學生機的學生端軟件之間通過Socket進行網絡通信。教師端和學生端均采用EF(Entity Framework)框架訪問后臺數據庫,EF框架在3.3節闡述。系統整體架構如圖1所示。

3.2 系統功能模塊設計

如構架圖所示,機房教學系統分為后臺數據庫、分發服務器、教師端軟件、學生端軟件四部分。教師可以通過教師端軟件廣播屏幕功能向學生機廣播自己的屏幕,共享文件功能對文件進行發送,在線討論功能與學生進行交流,并可以設置是否允許討論,還可以通過遠程控制對學生端進行遠程控制,如關閉學生機上的某個程序,遠程關機等等。學生通過學生端軟件可以進行簽到,簽退,進行討論,接收教師機共享文件,觀看教師機廣播屏幕等功能。系統功能結構圖如圖2所示。

3.3 數據庫設計

機房教學系統數據庫除了使用功能強大的SQL Server 2010構建外,還使用了微軟的EF(Entity Framework)框架。EF框架是ADO.NET (ActiveX Data Objects 活動數據對象)中的一套支持開發面向數據的軟件應用程序的技術,是微軟的一個ORM(Object Relational Mapping對象關系映射)框架。此框架最大的作用就是夠使用特定于域的對象來處理數據,而無需關注存儲在此數據的基礎數據庫表和列,簡而言之就是使用更少的代碼創建和維護面向數據的應用程序,使得訪問數據庫像使用一個class類一般簡單。

合理利用數據庫可以大量減少日常工作任務,結合實際情況分析,本系統數據庫共設計四張表,分別是教師信息表、學生信息表、實驗記錄表、課堂記錄表。

1)學生信息表用于學生具體信息的記錄,包括學生學號、姓名、班號、性別、登錄密碼和院系名稱。

2)教師信息表用于記錄教師的具體信息,包括教師工號、姓名、性別、登錄密碼和院系名稱。

3)課堂記錄表是記錄本次課堂的詳細信息,包括機房編號、授課時間、教師工號、班號、到課人數、缺勤人數、缺勤學號。

4)學生實驗記錄表是記錄具體每次上機實驗的信息,包括學號、機房編號、實驗編號、教師工號、班號、實驗分數。

4 系統實現的關鍵技術

4.1 RTMP協議簡介

RTMP (Real Time Messaging Protocol實時消息傳輸協議) 是專門用來傳輸音視頻數據的流媒體。它基于TCP/IP協議,是一個協議族,除了基本協議之外還包含RTMPT/RTMPS/RTMPE等多種變種。它最初由Macromedia公司創建, 后來歸Adobe公司所有, 是一種應用非常廣泛的通信協議,其研發目的是為了更好地完成實時的數據通信任務,實現音頻視頻文件的傳遞接收。但隨著流媒體技術的發展應用,RTMP協議的使用范圍也在不斷擴大,多個在音視頻傳播領域有廣泛影響力的,類似于Flash+AIR(Adobe Integrated Runtime )軟件中,RTMP協議都可以完美支持[4]。

4.2 利用RTMP協議實現屏幕共享

所謂屏幕共享,是指在網絡環境中,遠程客戶端可以在較短的時間延遲內重現主機屏幕界面的顯示內容,并提供給遠程用戶一種如坐在主機旁一樣的虛擬界面環境。屏幕共享是一種重要的數據共享應用,已在視頻會議、遠程教學、遠程監控和股票分析系統等領域中取得到了良好的應用。

屏幕共享最開始源于蘋果公司所提出GUI (Graphic User Interface圖形用戶界面),后因為其成本低、靈活和便于維護等優越性得以迅速發展[5-6]。在本系統中,整個屏幕共享功能的簡要流程如圖3所示。

其中本系統的分發服務器部分,利用SRS(Simple RTMP Server)搭建RTMP服務器,在配置方面較為簡單方便,利于后面使用FFmpeg工具進行推流與拉流。FFmpeg是一套非常強大的視頻、音頻開源轉換程序,能將視頻、音頻轉換成流,FFmpeg內置的gdigrab就可以進行基于Win32 GDI(Graphics Device Interface圖形設備接口)的屏幕捕獲,只要一條ffmpeg -f gdigrab -i desktop指令即可,在采集教師端的桌面畫面后進行壓縮轉碼操作,將其轉換成流。至此之后就是進行推流的準備,將流封裝成RTMP格式,且在傳輸時需要拆分成一個個的Chunk塊。RTMP流的傳輸不是用Message劃分的,而是用Chunk塊,接下來使用FFmpeg即可進行推流,把利用RTMP協議封裝好后的RTMP流傳輸到服務器上。其具體操作可概括為初始化、握手、建立連接和建立流等環節,此處以本機服務器地址為例,FFmpeg工具的推流的啟動指令為ffmpeg -f gdigrab -i desktop–b4M –r 10 –preset ultrafast –turezerlatency–fflvrtmp:localhost:1935/live/room,在學生端同樣利用FFmpeg進行拉流,此時也需要進行轉碼操作。值得一提的是使用FFmpeg的C# BindingFFmpeg.AutoGen直接用指針來操縱流,所造成的延遲較低,大概在1秒左右。在整個屏幕共享過程中RTMP流的轉碼是重中之重,視頻文件的輸出轉碼過程如圖:

所謂轉碼即為視頻信號從一種格式轉換成另一種格式。這里即為視頻流與RTMP流之間的相互轉換,學生端只有正確地將RTMP流進行轉碼才能觀看到教師端的畫面。

學生端轉碼的部分核心代碼如下:

_pFormatContext=ffmpeg.avformat_alloc_context();//創建一個內存

varpFormatContext = _pFormatContext;

//寫入

ffmpeg.avformat_open_input(&pFormatContext, url, null, null).ThrowExceptionIfError();

ffmpeg.avformat_find_stream_info(_pFormatContext, null).ThrowExceptionIfError();

//查找第一個視頻流

AVStream* pStream = null;

for(vari = 0;i< _pFormatContext->nb_streams; i++)

//判斷是否為視頻流

if(_pFormatContext->streams[i]->codec->codec_type == AVMediaType.AVMEDIA_TYPE_VIDEO)

{

pStream = _pFormatContext->streams[i];

break;

}

//沒有找到視頻流就拋出異常

If(pStream == null) throw new InvalidOperationException("Could not found video stream.");

//設定流

_streamIndex = pStream->index;

_pCodecContext = pStream->codec;

//查找編碼和解碼

varcodecId = _pCodecContext->codec_id;

varpCodec=ffmpeg.avcodec_find_decoder(codecId);

if (pCodec==null)throw new

InvalidOperationException("Unsupported codec.");//不支持編碼類型

//解碼

ffmpeg.avcodec_open2(_pCodecContext, pCodec, null).ThrowExceptionIfError();

//設置解碼名

CodecName=ffmpeg.avcodec_get_name(codecId);

//設置幀的大小

FrameSize=new Size(_pCodecContext->width, _pCodecContext->height);

//設置像素格式

PixelFormat = _pCodecContext->pix_fmt;

//創建視頻

_pPacket = ffmpeg.av_packet_alloc();

_pFrame = ffmpeg.av_frame_alloc();

5 結束語

在計算機技術普及的時代,實驗教學系統遇到更多的挑戰是必然的。想要有效提升高校機房教學管理水平,需要對網絡通信、數據庫和機房教學等方面有著比較深刻的認知,了解機房具體管理運作和系統功能塊上的優缺點,并結合日常機房實踐管理案例,針對性地將系統進行修改與擴展。本文所介紹的系統,提高了實驗課堂教學質量,簡化了日常教學工作, 也使機房實驗教學工作更加井然有序,這對當前高校信息化教學有著重要的現實意義和推動作用。

參考文獻:

[1] 邱兆新.基于機房教學模式下大學計算機基礎教學改革[J].廣西民族師范學院學報,2016,33(3):38-40,43.

[2] 孫濤,焦媛.提升機房教學效果的措施分析[J].黑龍江教育:理論與實踐,2016(Z1):83-84.

[3] 汪彥,劉智勇,龍振球.機房實驗教學系統的優化研究與實現[J].計算機時代,2017(2):49-51,54.

[4] 黃波,張先輝.基于RTMP協議的IPTV監測系統設計與實現[J].廣播電視信息,2018(7) .

[5] 張宗飛.VB中屏幕共享系統的設計與實現[J].計算機系統應用,2008(4):83-86,111.

[6] 汪彥,黃雪華,涂立.一種改進的應用于機房教學的屏幕共享方案[J].計算機與現代化,2011(9):82-85.

【通聯編輯:朱寶貴】

猜你喜歡
信息化
月“睹”教育信息化
月“睹”教育信息化
幼兒教育信息化策略初探
甘肅教育(2020年18期)2020-10-28 09:06:02
水利信息化
“云會計”在中小企業會計信息化中的應用分析
活力(2019年21期)2019-04-01 12:16:40
論述金融管理信息化的創新與應用實踐
消費導刊(2018年8期)2018-05-25 13:20:02
基于會計信息化下的企業內部審計探討
消費導刊(2017年20期)2018-01-03 06:27:29
如何構建交通信息化的防護墻?
中國公路(2017年10期)2017-07-21 14:02:37
法律為信息化護航
中國公路(2017年10期)2017-07-21 14:02:37
醫院會計信息化 路怎么走?
中國衛生(2015年7期)2015-11-08 11:10:00
主站蜘蛛池模板: 2021国产精品自产拍在线| 一区二区自拍| 欧美亚洲欧美| 国产伦精品一区二区三区视频优播 | 日韩在线第三页| 三上悠亚精品二区在线观看| 在线不卡免费视频| 99re在线视频观看| 久久国产精品波多野结衣| 欧美精品色视频| 国产主播一区二区三区| a网站在线观看| 欧美一区精品| 国产在线精品美女观看| 在线精品欧美日韩| 免费人成在线观看成人片| 极品私人尤物在线精品首页| 亚洲视频免费播放| 亚洲综合激情另类专区| 天堂在线视频精品| 国产剧情国内精品原创| 亚洲精品无码久久久久苍井空| 92午夜福利影院一区二区三区| 国产高清在线观看91精品| 日韩在线视频网| 国产成人欧美| 国产91九色在线播放| 亚洲天堂区| 国产亚洲欧美在线中文bt天堂| 99精品在线看| 欧美A级V片在线观看| 国产免费人成视频网| 看你懂的巨臀中文字幕一区二区| 中国精品自拍| 伊在人亚洲香蕉精品播放| 欧美国产中文| 日韩在线欧美在线| 免费一级毛片不卡在线播放| 国产免费怡红院视频| 91久久国产综合精品女同我| 青草国产在线视频| 国产精品嫩草影院视频| 91最新精品视频发布页| 四虎国产永久在线观看| 亚洲色图狠狠干| 久久黄色免费电影| 国产精品三级专区| 91视频区| 999国产精品永久免费视频精品久久| 视频二区亚洲精品| 日本亚洲欧美在线| 中美日韩在线网免费毛片视频| 在线免费观看AV| 东京热高清无码精品| 刘亦菲一区二区在线观看| 99激情网| 久久国产毛片| 9966国产精品视频| 国产色爱av资源综合区| 99re热精品视频中文字幕不卡| 国产欧美日韩va另类在线播放| 在线va视频| 国产成人高清在线精品| 综合亚洲网| 亚洲AV无码久久精品色欲| 欧美亚洲欧美| 国产成人无码AV在线播放动漫| 国产亚洲精久久久久久无码AV| 国产福利小视频高清在线观看| a天堂视频| 看看一级毛片| 黄色网页在线观看| 亚洲免费福利视频| 日韩成人在线一区二区| av在线无码浏览| 精品国产免费第一区二区三区日韩| 狠狠色噜噜狠狠狠狠奇米777| 免费人成黄页在线观看国产| 成人国产精品网站在线看| 91精品国产91久无码网站| 中文字幕1区2区| 麻豆精品视频在线原创|