楊公義
(北京大學(xué) 教師教學(xué)發(fā)展中心,北京 100871)
基于Flash流媒體服務(wù)器的北大視頻資源庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
楊公義
(北京大學(xué) 教師教學(xué)發(fā)展中心,北京100871)
自主研發(fā)視頻資源庫(kù)更易于和校內(nèi)第三方系統(tǒng)集成。北大采用Flash流媒體服務(wù)器研發(fā)了視頻資源庫(kù),功能模塊包括用戶(hù)管理,院系管理,課程管理,視頻管理。攝像機(jī)的直播流能通過(guò)分布式轉(zhuǎn)碼自動(dòng)存入北大視頻資源庫(kù)。后期經(jīng)過(guò)非線性編輯的教學(xué)錄像能通過(guò)自主研發(fā)的大文件上傳控件從前臺(tái)以web方式存入北大視頻資源庫(kù)。通過(guò)流權(quán)限控制保證了只有經(jīng)過(guò)授權(quán)的攝像機(jī)才能向服務(wù)器端發(fā)送視頻流,只有經(jīng)過(guò)授權(quán)的第三方系統(tǒng)才能引用流媒體服務(wù)器的視頻資源。北大視頻資源庫(kù)為校內(nèi)七大系統(tǒng)提供RTMP協(xié)議的視頻流支持、元數(shù)據(jù)管理和內(nèi)容發(fā)布。
視頻資源庫(kù);流媒體服務(wù)器;大文件上傳控件;流權(quán)限控制
本文著錄格式:楊公義. 基于Flash流媒體服務(wù)器的北大視頻資源庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2016,37(8):05-10
視頻資源庫(kù)是高校網(wǎng)絡(luò)教學(xué)、遠(yuǎn)程教育、公開(kāi)課等系統(tǒng)的重要基礎(chǔ)。在北大自主研發(fā)視頻資源庫(kù)之前,北大曾經(jīng)使用過(guò)Real公司“Helix Server”和確然公司的“視頻服務(wù)系統(tǒng)”。隨著Adobe公司的Flash流媒體服務(wù)器的興起,Real流媒體技術(shù)的不足之出明顯暴露出來(lái),比如它要求客戶(hù)端必須安裝RealPlayer,同時(shí)RealPlayer會(huì)和客戶(hù)端的Flash Player沖突,而客戶(hù)端90%以上的用戶(hù)已經(jīng)安裝了Flash Player。北大大學(xué)英語(yǔ)網(wǎng)絡(luò)測(cè)試表明并發(fā)用戶(hù)過(guò)多時(shí)Helix Server服務(wù)器會(huì)死機(jī)。
確然公司的“視頻服務(wù)系統(tǒng)”因?yàn)槭褂玫氖撬接辛髅襟w協(xié)議,技術(shù)上相對(duì)封閉,二次開(kāi)發(fā)難度較大,委托公司開(kāi)發(fā)費(fèi)用太高。而北大教學(xué)網(wǎng)采用的是Blackboard,而B(niǎo)lackboard中缺少流媒體及視頻管理模塊,教學(xué)視頻在網(wǎng)絡(luò)教學(xué)中具有圖文內(nèi)容所不可替代的作用。通過(guò)自主研究并與Blackboard合作,北大具備了Blackboard的二次開(kāi)發(fā)能力,同時(shí)北大視頻公開(kāi)課、北大網(wǎng)絡(luò)教育電視臺(tái)、北大講座網(wǎng)等七大系統(tǒng)也需要視頻資源庫(kù)的支持,為此,我們基于Adobe Flash流媒體服務(wù)器自主研發(fā)了北大視頻資源庫(kù)。
北大視頻資源庫(kù)的功能模塊包括:用戶(hù)管理,院系管理,課程管理,視頻管理,每個(gè)模塊都開(kāi)發(fā)了增、刪、改、查功能[1]。
1.1用戶(hù)管理模塊
管理員有三級(jí):①“最高級(jí)管理員”,可以管理所有院系、所有課程、所有課程中的所有視頻,“視頻刪除”功能是真正的刪除。能為所有課程指定相應(yīng)的“課程管理員”。②“全部課程視頻管理員”,可以管理所有課程中的視頻,“視頻刪除”功能只是打一個(gè)標(biāo)記,并不是真正刪除。③“部分課程視頻管理員”,只能管理部分課程的視頻[2]。
如圖1所示,用戶(hù)(User)實(shí)體的屬性包括:用戶(hù)ID(主鍵),用戶(hù)名(唯一約束),真實(shí)姓名,密碼,電子郵箱,院系名稱(chēng),聯(lián)系電話(huà),角色(通過(guò)數(shù)據(jù)字典把管理員分成三個(gè)級(jí)別),備注,院系編號(hào),創(chuàng)建者的用戶(hù)名,創(chuàng)建者用戶(hù)ID(外鍵關(guān)聯(lián)自身實(shí)體User),院系ID(外鍵關(guān)聯(lián)院系實(shí)體Department),時(shí)間。
1.2院系管理模塊
可管理北大所有的院系。管理員登錄后單擊“院系管理”進(jìn)入本模塊,如圖2所示。首先得到按照“課程數(shù)量”降序排列的院系列表?!罢n程統(tǒng)計(jì)”功能能自動(dòng)統(tǒng)計(jì)出每個(gè)院系在系統(tǒng)中的“課程數(shù)量”。院系(Department)實(shí)體的屬性包括:院系ID,院系編號(hào),院系名稱(chēng),課程數(shù)量。
1.3課程管理模塊
從圖2“院系管理”的“院系列表”頁(yè)面,單擊任意一個(gè)院系名稱(chēng)進(jìn)入本模塊,如圖3所示??梢怨芾碓撛合档乃姓n程。首先得該院系的課表列表,在新增、刪除某個(gè)課程時(shí),會(huì)級(jí)聯(lián)更新“院系管理”模塊中本課程所在院系的“課程數(shù)量”字段。在新增課程時(shí),用程序保證“課程id+教師id”不能重復(fù)。課程(Course)實(shí)體的屬性包括:課程ID(主鍵),課程名稱(chēng),教師姓名,教師ID,院系ID(外鍵關(guān)聯(lián)院系實(shí)體Department),院系名稱(chēng),北大教學(xué)網(wǎng)對(duì)應(yīng)ID,管理員帳號(hào),是否是公開(kāi)課,一級(jí)學(xué)科名稱(chēng),課程縮略圖地址,本碩標(biāo)志位,視頻數(shù)量,課程訪問(wèn)量[3]。
圖2 院系管理
圖3 課程管理
1.4視頻管理模塊
在圖3“課程管理”的“課程列表”頁(yè)面,單擊任意一個(gè)課程名稱(chēng)進(jìn)入本模塊,如圖4所示。首先得到該課程的視頻列表。單擊任意一個(gè)視頻的“播放按鈕”,可以播放該視頻。
“假刪除”功能:為了防止視頻資源的誤刪除,假刪除功能只是對(duì)視頻打個(gè)刪除標(biāo)志,同時(shí)把要?jiǎng)h除的文件改名為“_時(shí)間戳”,并以新文件名更新數(shù)據(jù)庫(kù)。為避免多次假刪除后,導(dǎo)致文件名很長(zhǎng),從程序上規(guī)定一個(gè)文件只能被假刪除一次。在假刪除后,還能保證序號(hào)像真刪除一樣排列。在圖3中單擊“查詢(xún)假刪除視頻”,能查詢(xún)出所有課的已經(jīng)假刪除的視頻。查出的視頻標(biāo)題命名為“課程名稱(chēng)_視頻標(biāo)題”?!耙曨l管理”模塊的視頻列表是按第幾次課,第幾講排序,因?yàn)椤安樵?xún)假刪除視頻”功能是查詢(xún)所有課程的已刪除視頻,就不能再按第幾次課,第幾講排序了,所以程序按照id降序排列,采用的技術(shù)為用url傳數(shù)組。對(duì)于普通用戶(hù)假刪除視頻后,該記錄自動(dòng)隱藏,對(duì)于最高級(jí)管理員,可以看到已經(jīng)假刪除的視頻,并且可以實(shí)施真正的刪除操作。
圖4 視頻管理
在圖4“視頻管理”頁(yè)面,單擊“添加”進(jìn)行視頻新增操作,如圖5所示。第幾次課和第幾段的智能自動(dòng)設(shè)置:首先查詢(xún)數(shù)據(jù)庫(kù)得出下一個(gè)是第幾講、第幾段并自動(dòng)填入。因?yàn)橐淮握n把視頻最多分成3段,實(shí)現(xiàn)了下列幾種情況。①如果一門(mén)課是第一次添加視頻,則默認(rèn)為第1次課第1段。②如果一門(mén)課已經(jīng)存在n次課的第03段,則新增視頻時(shí),“次數(shù)”n加1,“段數(shù)”置1,錄制日期置空。③如果一門(mén)課已經(jīng)存在第n次課01段,則新增視頻時(shí),次數(shù)n不變,段數(shù)加1,錄制日期不變。④單擊“下一次”按鈕時(shí),則“次數(shù)”n加1,“段數(shù)”置1,錄制日期置空。因?yàn)楫?dāng)前瀏覽器都限制從表單input type=file中獲取操作系統(tǒng)文件的真實(shí)路徑,我通過(guò)編碼突破了這一限制,實(shí)現(xiàn)了能從form的input type=file字段取得視頻文件的真實(shí)路徑,并支持中文路徑。進(jìn)而以參數(shù)形式將路徑交給applet進(jìn)行FTP方式上傳。通過(guò)代碼優(yōu)化和FTP服務(wù)器的參數(shù)配置實(shí)現(xiàn)多用戶(hù)并發(fā)大文件上傳。向大文件上傳控件applet傳遞參數(shù)時(shí)采用了加密機(jī)制,并通過(guò)算法優(yōu)化提高加密和解密速度。允許上傳的文件的格式包括flv、mp4、f4v和m4v,這與flash流媒體服務(wù)器支持的類(lèi)型一致,對(duì)其他類(lèi)型的文件,給出警示對(duì)話(huà)框的同時(shí)給出轉(zhuǎn)碼工具的鏈接。添加錄制日期時(shí),輸入框可以直接輸入日期,也可以用時(shí)間選擇器。對(duì)用戶(hù)的表單輸入作了前后臺(tái)雙重驗(yàn)證。
在圖5中單擊下一步,啟動(dòng)JavaApplet,這是基于FTP協(xié)議自主研發(fā)的大文件視頻上傳控件,如圖6和圖7所示。前臺(tái)用戶(hù)能以web方式將大于5 G的大視頻文件上傳到指定目錄中,上傳目錄和Flash流媒體服務(wù)器的媒體目錄關(guān)聯(lián),該上傳控件能提取視頻長(zhǎng)度等媒體元數(shù)據(jù),能返回供外部系統(tǒng)調(diào)用的RTMP流路徑。系統(tǒng)把元數(shù)據(jù)信息自動(dòng)存入數(shù)據(jù)庫(kù)中,元數(shù)據(jù)信息包括院系、課程、第幾講、第幾段、文件路徑、視頻時(shí)長(zhǎng)等,視頻上傳有進(jìn)度條。視頻上傳成功后,可按院系、課程、第幾講、第幾段導(dǎo)航視頻資源,并可以播放、編輯和刪除。
如圖8所示,文件的目錄結(jié)構(gòu)和文件命名是根據(jù)用戶(hù)輸入的元數(shù)據(jù)自動(dòng)創(chuàng)建的,程序保證如果元數(shù)據(jù)信息相同則不允許再次上傳。視頻(Video)實(shí)體的屬性包括:視頻ID,視頻標(biāo)題,第幾次課,第幾段,顯示用的標(biāo)題(課程名稱(chēng)-第幾講:視頻標(biāo)題),視頻地址,視頻縮略圖,是否刪除,是否顯示,是否是申報(bào)視頻,視頻訪問(wèn)量,錄制日期。
圖5 元數(shù)據(jù)的采集與自動(dòng)處理
圖6 基于JavaApplet的視頻上傳控件
圖7 支持5G以上的大文件并帶進(jìn)度條
圖8 由元數(shù)據(jù)生成文件的目錄結(jié)構(gòu)
圖9 北大視頻資源庫(kù)的流程圖
圖10 對(duì)Flash流媒體服務(wù)器二次開(kāi)發(fā)實(shí)現(xiàn)流權(quán)限控制
如圖9所示,北大資源庫(kù)的視頻資源來(lái)自?xún)煞矫妫孩贁z像機(jī)的直播流通過(guò)分布式轉(zhuǎn)碼自動(dòng)存入庫(kù)中。②后期經(jīng)過(guò)非線性編輯后的教學(xué)錄像通過(guò)自主研發(fā)的多媒體上傳控件從前臺(tái)以web方式存入庫(kù)中。分布式轉(zhuǎn)碼采用Apple公司的Podcast Producer進(jìn)行,實(shí)現(xiàn)自動(dòng)轉(zhuǎn)碼、添加片頭片尾水印、自動(dòng)備份管理、自動(dòng)發(fā)布等。北大視頻資源庫(kù)和Oracle數(shù)據(jù)庫(kù)、文件服務(wù)器協(xié)同工作:教學(xué)錄像存入文件服務(wù)器的同時(shí)把文件地址等元數(shù)據(jù)信息存入Oracle數(shù)據(jù)庫(kù),并把文件地址與北大視頻資源庫(kù)的流媒體目錄關(guān)聯(lián)起來(lái),并保證各個(gè)服務(wù)器之間協(xié)同工作與權(quán)限控制。
為保障Flash流媒體服務(wù)器的安全,需要保證只有經(jīng)過(guò)授權(quán)的攝像機(jī)才能向服務(wù)器端發(fā)送視頻流,還要保證只有經(jīng)過(guò)授權(quán)的第三方系統(tǒng)才能引用流媒體服務(wù)器的視頻資源[4]。采用腳本語(yǔ)言對(duì)Flash流媒體服務(wù)器二次開(kāi)發(fā)實(shí)現(xiàn)[5]:①如圖10所示,移動(dòng)攝像機(jī)通過(guò)Flash Media Live Encoder向服務(wù)器發(fā)送直播流時(shí),采用用戶(hù)名和密碼的方式進(jìn)行權(quán)限控制,因?yàn)橐苿?dòng)攝像機(jī)的IP地址不固定。②針對(duì)固定攝像機(jī)的直播流和第三方系統(tǒng)點(diǎn)播流采用黑白名單權(quán)限控制。
流權(quán)限控制的關(guān)鍵技術(shù)如下:在Flash流媒體服務(wù)器的媒體目錄(/usr/keieproject/adobe/fms/applications)中創(chuàng)建若干個(gè)文件夾作為直播頻道,如dianjiao104、dianjiao114等。在每個(gè)頻道下面部署如下關(guān)鍵文件:allowedHTML、domains.txt、allowed-SWFdomains.txt、Application.xml、main.ase。在文件allowedHTMLdomains.txt和allowedSWFdomains.txt中輸入允許調(diào)用本Flash流媒體服務(wù)器的第三方系統(tǒng)的服務(wù)器IP地址列表,一行輸入一個(gè)IP地址。main.ase文件是由main.asc編譯得到的。main.asc關(guān)鍵代碼如下:
4.1JavaApplet多媒體上傳控件在jsp頁(yè)面中的調(diào)用方法與接口參數(shù)
4.1.1jsp頁(yè)面中applet回調(diào)的js函數(shù)
function myFunction(text) {document.forms[0]. accessory.value =text; document.forms[0].submit(); }該函數(shù)通過(guò)參數(shù)text能接受applet傳回的成功上傳的文件地址,并將該地址存入jsp頁(yè)面中名為accessory的表單域,并觸發(fā)表單提交事件
4.1.2applet嵌入jsp頁(yè)面的方法和接收的參數(shù)
4.1.3參數(shù)說(shuō)明
param_host,param_user, param_pass分別為ftp服務(wù)器的主機(jī)地址、用戶(hù)名、密碼;這3個(gè)參數(shù)在jsp頁(yè)面?zhèn)魅隺pplet之前按自定義算法加密,在applet中對(duì)接收的參數(shù)值再按相應(yīng)的算法解密。param_allowFileType:允許上傳的文件類(lèi)型;param_path:文件要存儲(chǔ)的相對(duì)于ftp帳戶(hù)根目錄的路徑;param_saveAsFileName:文件將另存的文件名;param_postscript:文件上傳成功后回調(diào)的jsp頁(yè)面中的js函數(shù)。
4.2Zupload.java實(shí)現(xiàn)的關(guān)鍵技術(shù)
4.2.1父類(lèi)及實(shí)現(xiàn)的接口
2018年11月4日,面對(duì)新疆隊(duì)的比賽,易建聯(lián)因傷缺陣,周鵬、威姆斯被禁賽,三巨頭無(wú)緣面對(duì)新疆第二戰(zhàn),無(wú)勝負(fù)之壓力的年輕球員獲得更多出場(chǎng)時(shí)間。
包括ConnectionListener和ActionListener。
4.2.2實(shí)現(xiàn)ConnectionListener接口中的方法
//程序調(diào)用chdir()時(shí)觸發(fā)。
updateRemoteDirectory(BasicConnection con){}
//當(dāng)建立ftp連接時(shí)調(diào)用。
connectionInitialized(BasicConnection con) {connected = true;}
//每成功傳輸bytes的數(shù)據(jù)就調(diào)用。
//更新進(jìn)度條并重繪窗體
updateProgressBar();repaint();
//當(dāng)連接失敗時(shí)調(diào)用
connectionFailed(BasicConnection con, String why)。
//上傳完成一個(gè)文件后觸發(fā)該事件,如果所有文件alFiles非空,繼續(xù)上傳下一個(gè)文件,否則調(diào)用jsp接口中的js函數(shù)。
actionFinished(BasicConnection con){}
4.2.3實(shí)現(xiàn)ActionListener接口中的唯一的方法:actionPerformed(ActionEvent e)。
因?yàn)楸绢?lèi)有該方法,所以在init()方法中可為按鈕Add Files、Remove Files、Upload Files增加事件監(jiān)聽(tīng)者.addActionListener(this);這里通過(guò)e.getSource()判斷事件源,進(jìn)而調(diào)用相應(yīng)的代碼塊。如果事件源是bAddFile就通過(guò)彈出一個(gè)打開(kāi)文件的文件選擇器對(duì)話(huà)框,選擇一個(gè)文件。如果事件源是bRemov-eFile從將要上傳的所有文件alFiles動(dòng)態(tài)數(shù)組中刪除指定位置的文件,并更新需要上傳的所有文件大小。如果事件源是bUpload就調(diào)用uploadFiles()將所有的文件一個(gè)接一個(gè)地上傳。uploadFiles():如果alFiles所有文件為空,就退出該方法,否則創(chuàng)建一個(gè)FtpConnection對(duì)象con,利用con對(duì)象將所有的文件一個(gè)接一個(gè)地上傳,調(diào)用con的方法addConnectionListener(this)增加事件監(jiān)聽(tīng)者;login(…)登錄;chdir()切換目錄;mkdir()創(chuàng)建目錄;con.handleUpload(…)進(jìn)行文件上傳;con.abort()終止文件傳輸;con.disconnect()斷開(kāi)連接。通過(guò)下面的代碼塊實(shí)現(xiàn)斷點(diǎn)續(xù)傳while(!connected){try {Thread.sleep (10);}catch(Exception ex) { ex.printStackTrace(); }} 4.2.4重載Applet類(lèi)的下列方法:init(),start(),stop(), destroy()
init():當(dāng)Applet第一次load的時(shí)候調(diào)用這個(gè)函數(shù),在Applet的生存周期中只調(diào)用一次。構(gòu)造圖7所示的applet界面并增加按鈕的事件監(jiān)聽(tīng)者this。用到的組件有文件選擇器JfileChooser、按鈕Jbutton、水平進(jìn)度條JprogressBar、列表框Jlist、JScrollPane滾動(dòng)條、抽象窗口工具箱容器Container、布局管理器GridBagLayout、布局管理器的約束GridB-agConstraints。通過(guò)getParameter()得到上述jsp頁(yè)面中的接口參數(shù),需要解密的參數(shù)在這里進(jìn)行解密。
start():init()初始化之后,緊接著自動(dòng)調(diào)用start()方法。當(dāng)用戶(hù)離開(kāi)包含Applet的主頁(yè)后又再返回時(shí),系統(tǒng)都會(huì)自動(dòng)再執(zhí)行一遍start()方法,該方法在Applet的生存周期中可能被調(diào)用多次。如何jsp頁(yè)面中的接口參數(shù)非空,就把名為bParamsSet的類(lèi)成員變量設(shè)為true.
stop()和destroy():進(jìn)行ftp連接資源(con)的銷(xiāo)毀,如果con非空,就執(zhí)行con.abort(); con.disconnect(); con=null。當(dāng)瀏覽器離開(kāi)Java Applet所在的頁(yè)面轉(zhuǎn)到其他頁(yè)面時(shí),stop()方法被調(diào)用。當(dāng)用戶(hù)關(guān)閉瀏覽器時(shí),destroy()方法被調(diào)用。
“基于Flash流媒體服務(wù)器的北大視頻資源庫(kù)”為北大如下七大系統(tǒng)提供RTMP協(xié)議的視頻流支持、元數(shù)據(jù)管理和內(nèi)容發(fā)布:北大公開(kāi)課、全校大學(xué)英語(yǔ)一二三級(jí)網(wǎng)絡(luò)測(cè)試、北大組織部的黨課、北大教學(xué)網(wǎng)、北大講座網(wǎng)、北大網(wǎng)絡(luò)教育電視臺(tái)、北大移動(dòng)課堂視頻終端。北大視頻資源庫(kù)目前有視頻課程114門(mén),教學(xué)視頻3364講,與基于Blackboard的北大教學(xué)網(wǎng)進(jìn)行了嵌入式完美無(wú)縫對(duì)接,與北京大學(xué)移動(dòng)課堂視頻終端無(wú)縫對(duì)接[5]。
[1] 楊公義. 大學(xué)生創(chuàng)新能力培養(yǎng)的網(wǎng)絡(luò)平臺(tái)設(shè)計(jì)與開(kāi)發(fā)[J].遠(yuǎn)程教育雜志, 2008, (01): 59-62. YANG Gongyi. The Design of Network Platform for Undergr aduate’s Cr eative Talents Cultivation[J]. Distance Education Journal, 2008, (01): 59-62. (in Chinese).
[2] 楊公義, 張亦工. 北京大學(xué)教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代教育技術(shù), 2015, (4): 115-120. YANG Gongyi, ZHANG Yigong. Design and Implementation of Peking University Classroom Management System[J]. Modern Educational Technology, 2015, (4): 115-120. (in Chinese).
[3] 楊公義. 基于SSH的播客資源平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代遠(yuǎn)程教育研究, 2009, (1): 66-68. YANG Gongyi. A Podcast Resource Platform Basing on SSH[J]. Modern Distance Education Research, 2009, (1): 66-68. (in Chinese).
[4] 楊公義, 張亦工. 基于Red5的網(wǎng)絡(luò)教育電視臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代教育技術(shù), 2012. (8): 109-112. YANG Gongyi, ZHANG Yigong. Design and Implementation of Red5-Based Net Education TV Station, 2012. (8): 109-112. (in Chinese).
[5] 陳飛, 楊公義, 李志剛, 等. 基于Blackboard系統(tǒng)的“北大教學(xué)網(wǎng)”擴(kuò)展開(kāi)發(fā)研究[J]. 北京大學(xué)教育評(píng)論, 2013, (12): 201-211. CHEN Fei, YANG Gongyi, Li Zhigang, et al. Extension and Development of Peking University Academic Online Based on Blackboard System[J], 2013, (12): 201-211. (in Chinese).
Design and Implementation of Peking University Video Resource Library Based on Flash Streaming Media Server
YANG Gong-yi
(Center for Excellent Teaching and Learning, Peking University, Beijing 100871, China)
Video resource library made by independent research and development integrates more easily to the third party system in school. Flash streaming media server has been used to develop the video resource library in Peking University. The function modules include: user management, department management, curriculum management, video management. The live stream of the video camera can be stored in this library. The teaching video after the nonlinear editing can be uploaded to this library in browser through large file upload component which are independent research and development. Streaming permission control ensures that the camera can't send the video stream to the library until it passes through the authorization. Only the authorized third party system can reference the video resources of the streaming media server. For the school's seven major systems this library provides RTMP protocol video stream support, metadata management and content distribution.
Video resource library; Streaming media server; Large file upload component; Streaming permission control
TP315
A
10.3969/j.issn.1003-6970.2016.08.002
中國(guó)下一代互聯(lián)網(wǎng)示范工程CNGI項(xiàng)目的子項(xiàng)目(CNGI2008-129-116);教育部項(xiàng)目
楊公義(1978-),男,工程師,主要研究方向:基于流媒體的視頻資源庫(kù)開(kāi)發(fā)、基于SSH的輕量級(jí)J2EE應(yīng)用開(kāi)發(fā)。