• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Nodejs平臺(tái)下遠(yuǎn)程視頻和信號(hào)監(jiān)控系統(tǒng)的融合

    2019-02-20 06:42:36李丹清韓利峰李嘉曾吳麗梅張立園陳永忠
    儀器儀表用戶 2019年3期
    關(guān)鍵詞:系統(tǒng)

    李丹清,韓利峰,李嘉曾,吳麗梅,張立園,陳永忠

    (1.上海交通大學(xué) 軟件工程學(xué)院,上海 200240;2.中國(guó)科學(xué)院上海應(yīng)用物理研究所 系統(tǒng)工程部,上海 201800)

    0 引言

    視頻監(jiān)控系統(tǒng)經(jīng)歷了由模擬到數(shù)字的轉(zhuǎn)變,目前發(fā)展到第三代,通過利用多媒體壓縮算法,網(wǎng)絡(luò)通訊以及人工智能,更加趨向于網(wǎng)絡(luò)化和智能化[1]。

    伴隨著網(wǎng)絡(luò)通訊技術(shù)的進(jìn)步,大型SCADA(Supervisory Control And Data Acquisition)系統(tǒng)和視頻監(jiān)控系統(tǒng)的平臺(tái)融合、信號(hào)聯(lián)動(dòng)[2-4]逐漸成為可能。

    在電力行業(yè)和軌道交通行業(yè)初步解決了系統(tǒng)間人為切換,但沒有互動(dòng)的情況[5,6]。解決方案是SCADA系統(tǒng)的操作處理,通過事件的方式觸發(fā)執(zhí)行機(jī)構(gòu)動(dòng)作,同時(shí)通過聯(lián)動(dòng)服務(wù)器彈出視頻畫面,觀察事件處理狀況。這種簡(jiǎn)單的互動(dòng)不具有視頻監(jiān)控系統(tǒng)縱深層次的優(yōu)化和橫向平臺(tái)擴(kuò)展的設(shè)計(jì)理念,況且越來越多的需求體現(xiàn)在視頻、環(huán)境、生產(chǎn)、運(yùn)行等全面信息的深度融合。

    解決平臺(tái)間信息的深度融合需要解決以下問題:統(tǒng)一的平臺(tái)下能同時(shí)支持SCADA通訊協(xié)議和視頻傳輸通訊協(xié)議;擁有事件處理機(jī)制,能實(shí)現(xiàn)兩系統(tǒng)之間的事件傳遞;擁有可靠的數(shù)據(jù)傳輸通道,解決客戶端信號(hào)數(shù)據(jù)和視頻數(shù)據(jù)的傳輸;擁有前端的數(shù)據(jù)渲染能力,能同時(shí)渲染實(shí)時(shí)變量數(shù)據(jù)和視頻流數(shù)據(jù);具有深度融合所需要的數(shù)據(jù)處理,圖像處理、智能算法能力。

    Nodejs平臺(tái)具有以上描述的系統(tǒng)集成和深度融合的能力。首先,它是一個(gè)讓JavaScript運(yùn)行在服務(wù)端的開發(fā)平臺(tái),采用Google-V8引擎作為編譯器,使得JavaScript的執(zhí)行速度遠(yuǎn)超Ruby、Python等腳本語言;另外,Nodejs具有開發(fā)實(shí)時(shí)監(jiān)控系統(tǒng)的能力,它采用事件驅(qū)動(dòng)、異步編程、非阻塞模式的IO處理工作機(jī)制,為其帶來在相對(duì)低系統(tǒng)資源耗用下的高性能與出眾的負(fù)載能力,非常適合用作依賴各種IO資源的中間層服務(wù),可完美解決數(shù)據(jù)IO密集型、分布式部署環(huán)境下的實(shí)時(shí)應(yīng)用系統(tǒng)[7-9]。

    其次,Nodejs具有強(qiáng)大軟件包管理工具npm,它的在線代碼庫(kù)包含功能齊全的代碼模塊,如項(xiàng)目中使用的Web網(wǎng)站架設(shè)模塊Express,WebSocket通訊模塊socket.io,EPICS libCA接口模塊,node-epics、OpenCV算法模塊等都可以通過npm管理器安裝[10,11]。

    再者,Nodejs可以通過FFI(Foreign Function Interface)調(diào)用本地C/C++鏈接庫(kù),把視頻采集、解碼、算法處理等集成到平臺(tái)之下[12,13]。

    本系統(tǒng)的開發(fā)就是基于Nodejs平臺(tái),把Web網(wǎng)站服務(wù),EPICS監(jiān)控系統(tǒng),視頻采集融合在一起。結(jié)合中科院TMSR(Thermal Molten Salt Reactor)核能項(xiàng)目,完成一套綜合實(shí)驗(yàn)室安全監(jiān)控系統(tǒng)的開發(fā)。該系統(tǒng)實(shí)現(xiàn)了對(duì)項(xiàng)目?jī)?nèi)的放射化學(xué)、熔鹽化學(xué)、高溫材料、同步輻照、電解制氫、集熱傳熱等實(shí)驗(yàn)室內(nèi)環(huán)境、設(shè)備安全、火警、視頻等信息的一站式監(jiān)控[14]。

    1 系統(tǒng)結(jié)構(gòu)

    如圖1所示,本系統(tǒng)中使用Express框架建立Web網(wǎng)站。Express是由Nodejs提供的一款精簡(jiǎn)、靈活的Web開發(fā)框架。它提供了路由,模塊支持,模板引擎,以及中間件等相關(guān)功能[15]。

    系統(tǒng)服務(wù)器通過兩種方式與客戶端進(jìn)行通信:一種是HTTP協(xié)議。客戶端發(fā)送Get請(qǐng)求或者Post請(qǐng)求,HTTP服務(wù)器在接受到請(qǐng)求時(shí),通過路由機(jī)制以及中間件處理,來傳送頁面靜態(tài)數(shù)據(jù);另一種是WebSocket協(xié)議。這種協(xié)議通過一次握手,建立瀏覽器和服務(wù)器之間一條可復(fù)用的通道,可以讓服務(wù)器主動(dòng)并且不斷推送信息,來傳送實(shí)時(shí)性動(dòng)態(tài)數(shù)據(jù)[16,17]。

    圖1 實(shí)驗(yàn)室監(jiān)控系統(tǒng)軟件架構(gòu)Fig.1 Laboratory monitoring system software architecture

    系統(tǒng)通過socket.io建立客戶端與服務(wù)端的TCP連接對(duì)象,通過IP地址和端口號(hào),規(guī)定目標(biāo)服務(wù)器。服務(wù)器在接受到來自客戶端的請(qǐng)求之后就會(huì)建立相應(yīng)的長(zhǎng)連接來發(fā)送實(shí)時(shí)數(shù)據(jù)。

    系統(tǒng)服務(wù)器端與第三方實(shí)時(shí)系統(tǒng)通信來獲取實(shí)時(shí)的數(shù)據(jù),其中包括火災(zāi)警報(bào)系統(tǒng),EPICS實(shí)時(shí)信號(hào)監(jiān)控系統(tǒng)和視頻監(jiān)控系統(tǒng)。與火災(zāi)警報(bào)系統(tǒng)的通信依賴于Modbus接口,與EPICS實(shí)時(shí)信號(hào)監(jiān)控系統(tǒng)的通信依賴于libCA接口,而與視頻監(jiān)控系統(tǒng)的通信依賴于視頻軟件供應(yīng)商提供的SDK[18]。

    node-ffi是一個(gè)Nodejs的第三方功能模塊,本質(zhì)上是一個(gè)已經(jīng)將Google-V8封裝好的專門用來調(diào)用動(dòng)態(tài)庫(kù)/靜態(tài)庫(kù)的功能插件。本系統(tǒng)所使用的node-modbus和node-epics模塊的內(nèi)部機(jī)制就是利用node-ffi對(duì)相應(yīng)接口的封裝,使其能在Nodejs環(huán)境下運(yùn)行。但是本系統(tǒng)的視頻軟件的SDK并沒有可以在Nodejs環(huán)境下運(yùn)行的API,所以必須手動(dòng)利用node-ffi對(duì)相應(yīng)的SDK進(jìn)行封裝并加以利用。

    系統(tǒng)在客戶端通過JQuery、Angular、Echart、DataTable等基于JavaScript的框架進(jìn)行數(shù)據(jù)可視化,通過Canvas來進(jìn)行視頻圖像的顯示。

    圖2 實(shí)時(shí)預(yù)覽流程圖Fig.2 Real-time preview flowchart

    圖3 實(shí)時(shí)視頻監(jiān)測(cè)實(shí)現(xiàn)流程圖Fig.3 Real-time video monitoring implementation flowchart

    2 系統(tǒng)實(shí)現(xiàn)

    2.1 SDK視頻接口封裝

    本系統(tǒng)的視頻軟件SDK提供了視頻圖像采集和視頻播放控制的軟件開發(fā)包。它們提供了可以供C/C++、C#和Java調(diào)用的API,但并沒有提供JavaScript調(diào)用的API。因此,需要通過node-ffi封裝相應(yīng)的API以供JavaScript調(diào)用。封裝好的API就可以在Nodejs平臺(tái)上直接調(diào)用并且進(jìn)行功能模塊的開發(fā)。

    2.1.1 程序?qū)崿F(xiàn)流程

    SDK提供了設(shè)備網(wǎng)絡(luò)SDK和播放庫(kù)SDK。設(shè)備網(wǎng)絡(luò)SDK主要提供了實(shí)時(shí)碼流預(yù)覽、錄像文件下載、云臺(tái)控制、日志管理、格式化硬盤、參數(shù)配置等相關(guān)功能的開發(fā)模塊。播放庫(kù)SDK主要用于播放控制的相關(guān)功能的開發(fā)。

    如圖2所示,本系統(tǒng)主要起到實(shí)時(shí)監(jiān)測(cè)的功能,故調(diào)用SDK中的實(shí)時(shí)預(yù)覽功能開發(fā)流程。根據(jù)實(shí)時(shí)預(yù)覽流程完成程序?qū)崿F(xiàn)流程,如圖3所示。

    首先,需要通過NET_DVR_Init函數(shù)完成對(duì)設(shè)備的初始化,包括網(wǎng)絡(luò)初始化和內(nèi)存預(yù)分配等。之后設(shè)置設(shè)備連接時(shí)間(NET_DVR_SetConnectTime)和設(shè)置設(shè)備重連次數(shù)與時(shí)間(DVR_SetReconnect)。

    運(yùn)行注冊(cè)函數(shù)(NET_DVR_Login_V30)需要傳入設(shè)備IP、端口號(hào)、用戶名、密碼等參數(shù)以供完成相應(yīng)的設(shè)備注冊(cè),從而獲取相應(yīng)設(shè)備的使用權(quán)限。

    NET_DVR_SetExceptionCallBack_V30函數(shù)用來捕捉異常信號(hào)。此函數(shù)基于事件驅(qū)動(dòng),如果產(chǎn)生異常信號(hào)則觸發(fā)其回調(diào)函數(shù)fExceptionCallBack來進(jìn)一步處理異常信息。

    NET_DVR_RealPlay_V40接口函數(shù)用于啟動(dòng)預(yù)覽,此函數(shù)通過傳入注冊(cè)設(shè)備時(shí)返回的句柄來獲取需要播放的視頻數(shù)據(jù)的內(nèi)存空間,也是基于事件驅(qū)動(dòng),每當(dāng)產(chǎn)生視頻流數(shù)據(jù)時(shí),觸發(fā)其內(nèi)部回調(diào)函數(shù)fRealDataCallBack。

    為了便于視頻圖像的顯示與傳送,要求所有的視頻幀圖像數(shù)據(jù)以JPEG格式進(jìn)行編碼,同時(shí)JPEG格式數(shù)據(jù)必須存于內(nèi)存中,SDK提供了相應(yīng)的內(nèi)存抓圖接口函數(shù)PlayM4_GetJPEG。

    為了調(diào)用此接口函數(shù),需調(diào)用播放庫(kù)接口函數(shù)PlayM4_SetDecCallBack,此函數(shù)將圖像幀數(shù)據(jù)轉(zhuǎn)交給內(nèi)部回調(diào)函數(shù)DecCBFUN來處理,在DecCBFUN內(nèi)部調(diào)用PlayM4_GetJPEG將視頻圖像數(shù)據(jù)編碼成JPEG格式。

    2.1.2 數(shù)據(jù)類型封裝

    Nodejs是基于JavaScript運(yùn)行的平臺(tái)。JavaScript的變量基于弱類型,變量在聲明時(shí)并不需要說明其類型。它的變量類型只有在初始化時(shí),才得以確定。同理,它的函數(shù)的返回類型以及參數(shù)類型在函數(shù)聲明時(shí)不需要確定,只有調(diào)用函數(shù),傳入實(shí)參時(shí),類型才能夠確定。而C/C++的變量是基于強(qiáng)類型,也就是變量在聲明時(shí)就必須指明具體的類型。對(duì)于函數(shù)聲明也是如此,函數(shù)的返回類型以及參數(shù)類型在函數(shù)聲明時(shí)也必須確定。因此,通過JavaScript調(diào)用基于C/C++編寫的接口函數(shù)時(shí),首先需要解決的是變量類型的封裝與預(yù)聲明的問題。

    為了完成變量類型的封裝,首先必須引入3個(gè)第三方功能模塊,分別是ref、ref-array與ref-struct。

    安裝完畢后,3個(gè)模塊的文件包置入Express框架的modules文件夾下,通過require函數(shù)引入即可使用。其中,ref模塊用于變量基本類型與指針類型的封裝,ref-array模塊用于數(shù)組類型的數(shù)據(jù)封裝與預(yù)聲明,而ref-struct模塊則用于結(jié)構(gòu)體的類型封裝與預(yù)聲明。

    動(dòng)態(tài)庫(kù)調(diào)用:

    通過ref、ref-array與ref-struct模塊完成數(shù)據(jù)類型的封裝與預(yù)聲明后,就可以調(diào)用node-ffi模塊封裝相應(yīng)的動(dòng)態(tài)庫(kù)的接口函數(shù)。

    通用格式如下:

    var NewFun=new ffi.Library(“動(dòng)態(tài)庫(kù)路徑”,{

    ‘調(diào)用函數(shù)名1’:[‘函數(shù)返回類型1’,[‘形參類型1’,‘形參類型2’,‘形參類型3’…]})

    封裝動(dòng)態(tài)庫(kù)接口函數(shù)需要輸入以下參數(shù):

    1)動(dòng)態(tài)庫(kù)路徑:SDK動(dòng)態(tài)庫(kù)所在路徑。

    2)調(diào)用函數(shù)名:為SDK動(dòng)態(tài)庫(kù)對(duì)應(yīng)API的函數(shù)名。

    3)函數(shù)返回類型:通過數(shù)據(jù)封裝后,預(yù)聲明的數(shù)據(jù)類型,用于定義函數(shù)返回類型。

    4)形參類型:通過數(shù)據(jù)封裝后,預(yù)聲明的數(shù)據(jù)類型,用于定義形參類型。

    封裝后的動(dòng)態(tài)庫(kù)利用之前聲明的JavaScript實(shí)例(NewFun)進(jìn)行調(diào)用。

    通過這種通用格式,封裝實(shí)時(shí)預(yù)覽開發(fā)模塊中需要的API,通過這些API完成實(shí)時(shí)預(yù)覽的功能開發(fā),將功能模塊封裝成JavaScript庫(kù),對(duì)外生成可以直接調(diào)用的API(getVideo),通過向此函數(shù)中傳入設(shè)備IP、端口號(hào)、用戶名以及密碼,直接通過它的回調(diào)函數(shù)輸出JPEG格式的視頻圖像數(shù)據(jù)并加以處理。

    2.2 TCP/WebSocket建立

    如圖4所示,系統(tǒng)使用基于Nodejs的第三方功能模塊socket.io建立TCP/WebSocket連接。連接需要從客戶端和服務(wù)器兩方面進(jìn)行建立,在兩者之間建立一個(gè)可以雙向傳送數(shù)據(jù)的通道,該通道在一次連接之后便可以復(fù)用,完成數(shù)據(jù)實(shí)時(shí)推送,事件的監(jiān)聽或者事件的發(fā)射。

    圖4 WebSocket連接建立流程Fig.4 WebSocket Connection establishment process

    在服務(wù)器方面,先實(shí)例化socket.io,生成對(duì)象io。利用io提供的API(io.listen)監(jiān)聽HTTP服務(wù)器,等待客戶端的連接信號(hào)。在連接完成之后,根據(jù)客戶端的Get請(qǐng)求,調(diào)用JavaScript庫(kù)的API(getVideo),完成相應(yīng)設(shè)備的視頻圖像數(shù)據(jù)的獲取并編碼(成為JPEG格式的圖像)。然后通過io對(duì)象的API(emit)發(fā)射圖像數(shù)據(jù),將圖像數(shù)據(jù)發(fā)送到客戶端。最后在接收客戶端發(fā)來的停止信號(hào)后,調(diào)用io的監(jiān)聽函數(shù)進(jìn)行事件獲取和視頻推送停止處理。

    在客戶端方面,通過在腳本中引入socket.io.js來初始化WebSocket協(xié)議,之后創(chuàng)建Connect類用于連接服務(wù)器,并且在實(shí)例化Connect對(duì)象時(shí)通過傳入IP和端口號(hào)的方式確定需要連接的目標(biāo)服務(wù)器,在Connect類內(nèi)部創(chuàng)建監(jiān)聽函數(shù)用于監(jiān)聽來自于服務(wù)器的連接成功事件和視頻圖像數(shù)據(jù)傳送成功事件,在播放確認(rèn)(submit)后,發(fā)送基于HTTP的Get請(qǐng)求至服務(wù)器,HTTP服務(wù)器在接收到Get請(qǐng)求后,調(diào)用相應(yīng)的庫(kù)函數(shù),并利用WebSocket協(xié)議發(fā)送視頻圖像數(shù)據(jù)到客戶端,客戶端接收到視頻圖像數(shù)據(jù)后,調(diào)用Socket.on(‘Canvas’,fun(data))所定義的事件回調(diào)函數(shù),對(duì)收到的視頻圖像數(shù)據(jù)進(jìn)行處理和顯示。如希望停止播放,發(fā)送停止信號(hào)至服務(wù)器,對(duì)應(yīng)的調(diào)用Socket.on(‘disconnect’,fun())來做停止播放后的后續(xù)處理。

    2.3 視頻數(shù)據(jù)顯示

    圖5 信號(hào)聯(lián)動(dòng)交互圖Fig.5 Signal linkage interaction diagram

    Canvas是HTML5的新引進(jìn)的一個(gè)標(biāo)簽,主要是提供了畫布的功能,開發(fā)者可以使用Canvas以及其提供的API,在畫布上繪制想要繪制的圖像,也可以將BMP圖像以及JPEG圖像,直接在Canvas畫布上直接顯示。當(dāng)然Canvas本身沒有畫圖的屬性,它是通過獲取繪制上下文(Rendering Context),并利用這種繪制上下文來進(jìn)行繪圖或圖像顯示。Canvas的繪制上下文,現(xiàn)今有兩種:Canvas2D所提供的API和WebGL所提供的API,前者往往用于繪制2D圖像和2D圖片顯示,后者主要應(yīng)用于繪制3D圖形[19]??紤]到實(shí)時(shí)視頻監(jiān)控系統(tǒng)本身特點(diǎn),這里選用Canvas2D來顯示圖像。

    在服務(wù)器接收到來自攝像頭的視頻圖像數(shù)據(jù)后,為了方便Nodejs進(jìn)行調(diào)用和處理,系統(tǒng)利用Nodejs所提供緩沖區(qū)技術(shù)(buffer)來接收并封裝視頻圖像數(shù)據(jù)。通過buffer提供的編碼功能將視頻圖像數(shù)據(jù)轉(zhuǎn)化成base64格式的字符串,以方便客戶端顯示和數(shù)據(jù)推送。

    在客戶端接收到base64格式的JPEG圖像數(shù)據(jù)后,利用Canvas提供的API進(jìn)行圖像實(shí)時(shí)顯示。

    基本實(shí)現(xiàn)流程如下:

    1)通過標(biāo)簽的ID獲取canvas對(duì)象

    var canvas=document.getElementById(‘videostream’)

    2)獲取Canvas2D的繪制上下文

    var context=canvas.getContext(‘2d’)

    3)創(chuàng)建圖像對(duì)象來接收來自服務(wù)端的視頻數(shù)據(jù)

    var imageObj=new Image()

    4)通過圖像源的方式,將base64編碼的JPEG格式的圖像數(shù)據(jù)嵌入到圖像對(duì)象中

    imageObj.src=“data:image/jpeg;base64,”+data

    5)將圖像數(shù)據(jù)通過Canvas2D的繪制上下文進(jìn)行顯示

    context.drawImage(imageobj,0,0,context.width,context.height)

    圖6 TMSR視頻監(jiān)測(cè)系統(tǒng)頁面圖Fig.6 TMSR Video monitoring system page diagram

    2.4 信號(hào)聯(lián)動(dòng)與系統(tǒng)實(shí)現(xiàn)

    如圖5所示,本系統(tǒng)基于Nodejs集成火災(zāi)警報(bào)系統(tǒng),EPICS信號(hào)監(jiān)控系統(tǒng)以及視頻監(jiān)控系統(tǒng),在客戶端登陸后,系統(tǒng)需獲取火災(zāi)警報(bào)信號(hào),EPICS實(shí)時(shí)數(shù)據(jù)以及實(shí)時(shí)視頻圖像數(shù)據(jù)。通過HTML5,CSS等渲染工具,以網(wǎng)頁的形式將數(shù)據(jù)顯示以供給用戶查看。在火災(zāi)警報(bào)系統(tǒng)或EPICS實(shí)時(shí)系統(tǒng)發(fā)出異常信號(hào)時(shí),系統(tǒng)通過Nodejs服務(wù)器將信號(hào)加工之后發(fā)送給客戶端,客戶端瀏覽器彈出新的瀏覽界面,之后新的瀏覽界面發(fā)送Get信號(hào)給Nodejs服務(wù)器,在服務(wù)器獲取到發(fā)送出異常信號(hào)的實(shí)驗(yàn)室視頻數(shù)據(jù)后,通過WebSocket協(xié)議將實(shí)時(shí)視頻圖像數(shù)據(jù)發(fā)送給客戶端。客戶端新界面接收到圖像數(shù)據(jù)后,通過Canvas顯示實(shí)時(shí)視頻,如圖6所示。

    3 小結(jié)

    本文著重闡述Nodejs平臺(tái)下兩系統(tǒng)融合的方法,網(wǎng)絡(luò)攝像頭通訊接口的封裝,基于WebSokcet技術(shù)的實(shí)時(shí)視頻數(shù)據(jù)傳輸,以及基于Canvas前端視頻流的顯示等。在TMSR研究堆的實(shí)驗(yàn)室安全監(jiān)控系統(tǒng)中的應(yīng)用,為核能項(xiàng)目的實(shí)驗(yàn)開展提供了安全保障。

    猜你喜歡
    系統(tǒng)
    Smartflower POP 一體式光伏系統(tǒng)
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    基于PowerPC+FPGA顯示系統(tǒng)
    基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開發(fā)
    半沸制皂系統(tǒng)(下)
    FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    一德系統(tǒng) 德行天下
    PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
    久久国产精品人妻蜜桃| 视频在线观看一区二区三区| 日韩欧美一区视频在线观看| 蜜桃国产av成人99| 国产精品久久久久成人av| 国产日韩一区二区三区精品不卡| 国产精品秋霞免费鲁丝片| 久久午夜亚洲精品久久| 国产免费福利视频在线观看| 宅男免费午夜| 亚洲欧美日韩另类电影网站| 老司机福利观看| 亚洲人成伊人成综合网2020| 久久久精品免费免费高清| 国产高清视频在线播放一区| 久久精品亚洲精品国产色婷小说| 成人影院久久| 久久久久久亚洲精品国产蜜桃av| 桃红色精品国产亚洲av| 一二三四社区在线视频社区8| 老汉色∧v一级毛片| 中文字幕高清在线视频| 狂野欧美激情性xxxx| 一级片免费观看大全| 99国产精品免费福利视频| 日本五十路高清| 一边摸一边抽搐一进一出视频| 两个人看的免费小视频| 日韩中文字幕视频在线看片| 国产精品一区二区在线观看99| 久久中文看片网| 欧美黑人精品巨大| 少妇粗大呻吟视频| 精品高清国产在线一区| 老司机福利观看| 欧美一级毛片孕妇| 一本—道久久a久久精品蜜桃钙片| 老鸭窝网址在线观看| 中文字幕人妻丝袜制服| 欧美黄色片欧美黄色片| 亚洲第一青青草原| 午夜福利欧美成人| 亚洲一区中文字幕在线| 男女高潮啪啪啪动态图| 一区二区av电影网| 精品久久久久久电影网| 中文字幕人妻熟女乱码| 国产在线视频一区二区| 国产高清激情床上av| 久久人人97超碰香蕉20202| 建设人人有责人人尽责人人享有的| 久久精品国产综合久久久| 91精品国产国语对白视频| 法律面前人人平等表现在哪些方面| 久久九九热精品免费| 久久亚洲真实| 精品久久久久久久毛片微露脸| 精品少妇黑人巨大在线播放| 日韩三级视频一区二区三区| 人妻一区二区av| 国产野战对白在线观看| 成年人午夜在线观看视频| 免费一级毛片在线播放高清视频 | www.999成人在线观看| 啦啦啦免费观看视频1| 动漫黄色视频在线观看| 久久精品亚洲精品国产色婷小说| 精品第一国产精品| 亚洲avbb在线观看| 一区二区av电影网| 99精品久久久久人妻精品| 这个男人来自地球电影免费观看| 大陆偷拍与自拍| 搡老岳熟女国产| 在线观看一区二区三区激情| 少妇 在线观看| 咕卡用的链子| 色视频在线一区二区三区| 欧美日韩亚洲国产一区二区在线观看 | 国产精品美女特级片免费视频播放器 | 久久精品国产99精品国产亚洲性色 | 国产精品久久久av美女十八| 老司机靠b影院| 亚洲精品在线美女| 国产成人欧美| 国产成+人综合+亚洲专区| 国产激情久久老熟女| 无人区码免费观看不卡 | 国产精品亚洲一级av第二区| 欧美激情久久久久久爽电影 | 亚洲综合色网址| 国产单亲对白刺激| 亚洲人成伊人成综合网2020| 国产一区二区三区在线臀色熟女 | 亚洲综合色网址| 夫妻午夜视频| 亚洲第一欧美日韩一区二区三区 | 可以免费在线观看a视频的电影网站| 精品熟女少妇八av免费久了| 亚洲一卡2卡3卡4卡5卡精品中文| 天天操日日干夜夜撸| 在线观看免费日韩欧美大片| 欧美日韩福利视频一区二区| 亚洲一卡2卡3卡4卡5卡精品中文| 男女下面插进去视频免费观看| 51午夜福利影视在线观看| 在线天堂中文资源库| 高清视频免费观看一区二区| 亚洲久久久国产精品| 国产成人精品在线电影| 日韩熟女老妇一区二区性免费视频| 欧美在线黄色| 亚洲专区中文字幕在线| 三上悠亚av全集在线观看| videos熟女内射| 亚洲自偷自拍图片 自拍| 人人澡人人妻人| 大片电影免费在线观看免费| 欧美成人免费av一区二区三区 | 精品人妻熟女毛片av久久网站| 国产伦理片在线播放av一区| 午夜福利视频在线观看免费| 91字幕亚洲| 两性午夜刺激爽爽歪歪视频在线观看 | 国产xxxxx性猛交| 老熟女久久久| 悠悠久久av| 妹子高潮喷水视频| 亚洲欧美日韩另类电影网站| 激情在线观看视频在线高清 | 精品国内亚洲2022精品成人 | 午夜福利在线观看吧| 精品国产一区二区三区久久久樱花| 国产欧美亚洲国产| 黑丝袜美女国产一区| 日韩三级视频一区二区三区| 久久人妻福利社区极品人妻图片| 免费看十八禁软件| 国产一区二区在线观看av| e午夜精品久久久久久久| 老司机福利观看| 黄色a级毛片大全视频| 丰满少妇做爰视频| 午夜免费鲁丝| 最新美女视频免费是黄的| 2018国产大陆天天弄谢| 国产亚洲欧美精品永久| 精品少妇久久久久久888优播| 国产99久久九九免费精品| 欧美久久黑人一区二区| 少妇猛男粗大的猛烈进出视频| 91九色精品人成在线观看| 欧美日韩精品网址| 亚洲精品成人av观看孕妇| 女性被躁到高潮视频| 亚洲va日本ⅴa欧美va伊人久久| 超碰成人久久| 蜜桃国产av成人99| 国产xxxxx性猛交| 男女床上黄色一级片免费看| 欧美激情 高清一区二区三区| 18禁国产床啪视频网站| 十八禁网站网址无遮挡| 在线看a的网站| 母亲3免费完整高清在线观看| 久久亚洲真实| 91老司机精品| 亚洲情色 制服丝袜| 午夜免费鲁丝| 日韩免费高清中文字幕av| 老司机深夜福利视频在线观看| 国产精品99久久99久久久不卡| 超碰97精品在线观看| tube8黄色片| 国产在线免费精品| 国产伦人伦偷精品视频| 久久99一区二区三区| 精品免费久久久久久久清纯 | 热99久久久久精品小说推荐| 中文字幕人妻丝袜制服| 精品国产乱码久久久久久男人| cao死你这个sao货| 纵有疾风起免费观看全集完整版| 亚洲国产欧美一区二区综合| 桃红色精品国产亚洲av| 国产av又大| 色婷婷av一区二区三区视频| 午夜激情久久久久久久| 黑人欧美特级aaaaaa片| 丝袜美足系列| 国产视频一区二区在线看| 亚洲熟女毛片儿| 亚洲成人免费电影在线观看| 亚洲精品国产区一区二| 成人av一区二区三区在线看| 在线亚洲精品国产二区图片欧美| 丁香六月天网| 中文字幕人妻丝袜一区二区| 亚洲av日韩在线播放| 欧美在线一区亚洲| 一区二区三区精品91| 夜夜夜夜夜久久久久| 高清在线国产一区| 在线观看舔阴道视频| 丰满饥渴人妻一区二区三| 久久人人97超碰香蕉20202| 每晚都被弄得嗷嗷叫到高潮| 少妇精品久久久久久久| 18禁国产床啪视频网站| 性高湖久久久久久久久免费观看| 国产午夜精品久久久久久| 日本黄色日本黄色录像| 久久中文字幕一级| 久久精品91无色码中文字幕| bbb黄色大片| 两个人看的免费小视频| 国产免费视频播放在线视频| av电影中文网址| 国产亚洲一区二区精品| 狠狠精品人妻久久久久久综合| 欧美在线黄色| 天堂动漫精品| 国产成人精品无人区| 亚洲人成伊人成综合网2020| 成人18禁高潮啪啪吃奶动态图| 丝袜美足系列| 午夜两性在线视频| 久久精品国产a三级三级三级| 国产不卡一卡二| 国产欧美日韩精品亚洲av| 欧美精品一区二区大全| 亚洲成国产人片在线观看| 精品国产乱子伦一区二区三区| 欧美乱码精品一区二区三区| 亚洲专区字幕在线| 一边摸一边做爽爽视频免费| 午夜福利欧美成人| 免费高清在线观看日韩| 99热国产这里只有精品6| 少妇的丰满在线观看| 成人18禁在线播放| 国产成人免费无遮挡视频| 免费日韩欧美在线观看| 纯流量卡能插随身wifi吗| 亚洲久久久国产精品| 久久亚洲真实| 久久精品91无色码中文字幕| 日韩一卡2卡3卡4卡2021年| av天堂久久9| 夜夜骑夜夜射夜夜干| 亚洲精品中文字幕在线视频| 久久精品熟女亚洲av麻豆精品| 五月开心婷婷网| 久久久久国内视频| 日本撒尿小便嘘嘘汇集6| 久久久久精品国产欧美久久久| 啦啦啦在线免费观看视频4| 在线十欧美十亚洲十日本专区| 久久久久久免费高清国产稀缺| 在线观看人妻少妇| 午夜福利,免费看| 欧美激情高清一区二区三区| 最新的欧美精品一区二区| 99热网站在线观看| 黄色a级毛片大全视频| 精品久久久精品久久久| 动漫黄色视频在线观看| 两个人免费观看高清视频| 性色av乱码一区二区三区2| 亚洲一卡2卡3卡4卡5卡精品中文| 可以免费在线观看a视频的电影网站| 免费在线观看日本一区| 国产精品1区2区在线观看. | xxxhd国产人妻xxx| 变态另类成人亚洲欧美熟女 | 久久影院123| 亚洲一区中文字幕在线| 免费黄频网站在线观看国产| 国产av精品麻豆| 亚洲人成电影免费在线| 成人18禁高潮啪啪吃奶动态图| 欧美精品啪啪一区二区三区| 免费在线观看影片大全网站| 搡老岳熟女国产| 久久久国产精品麻豆| 黄色片一级片一级黄色片| 中文字幕高清在线视频| 另类精品久久| 久久精品国产亚洲av香蕉五月 | 91麻豆精品激情在线观看国产 | 99久久99久久久精品蜜桃| 天天躁夜夜躁狠狠躁躁| 天堂动漫精品| 中文欧美无线码| www.熟女人妻精品国产| 亚洲成人手机| 99久久人妻综合| 日韩三级视频一区二区三区| 黄片大片在线免费观看| 亚洲欧洲精品一区二区精品久久久| 亚洲精品一卡2卡三卡4卡5卡| h视频一区二区三区| 大型av网站在线播放| 国产成人一区二区三区免费视频网站| 一本—道久久a久久精品蜜桃钙片| 午夜福利视频精品| 老汉色∧v一级毛片| 99re6热这里在线精品视频| 欧美日韩一级在线毛片| 黑人猛操日本美女一级片| 又黄又粗又硬又大视频| 丝瓜视频免费看黄片| 国产精品免费一区二区三区在线 | 国产欧美日韩一区二区三区在线| 18禁国产床啪视频网站| 一级片免费观看大全| 婷婷丁香在线五月| 一区二区三区乱码不卡18| 国产亚洲精品第一综合不卡| 99在线人妻在线中文字幕 | 亚洲欧美一区二区三区黑人| 国产av又大| 国产aⅴ精品一区二区三区波| 国产老妇伦熟女老妇高清| 成人av一区二区三区在线看| a级片在线免费高清观看视频| 国产亚洲精品久久久久5区| 日本一区二区免费在线视频| 国产一区二区 视频在线| 老熟妇乱子伦视频在线观看| 伊人久久大香线蕉亚洲五| 亚洲,欧美精品.| 啪啪无遮挡十八禁网站| 亚洲成a人片在线一区二区| 亚洲精品av麻豆狂野| 12—13女人毛片做爰片一| 99精品欧美一区二区三区四区| 成年人黄色毛片网站| 日日摸夜夜添夜夜添小说| 悠悠久久av| 十八禁网站网址无遮挡| a在线观看视频网站| 国产亚洲午夜精品一区二区久久| 757午夜福利合集在线观看| 一区二区日韩欧美中文字幕| a在线观看视频网站| 日本av手机在线免费观看| 日本黄色视频三级网站网址 | 国产xxxxx性猛交| 久久天躁狠狠躁夜夜2o2o| av天堂久久9| 国产精品久久久久久精品电影小说| 在线观看免费视频网站a站| 国产福利在线免费观看视频| 亚洲成国产人片在线观看| www日本在线高清视频| 欧美变态另类bdsm刘玥| 日本av免费视频播放| www.熟女人妻精品国产| 久久久久久人人人人人| 成在线人永久免费视频| 狂野欧美激情性xxxx| 国产精品久久久久久精品电影小说| 美女午夜性视频免费| 久久人妻福利社区极品人妻图片| e午夜精品久久久久久久| 亚洲专区字幕在线| 国产又色又爽无遮挡免费看| 日韩大码丰满熟妇| 青青草视频在线视频观看| 18禁观看日本| 天堂中文最新版在线下载| 多毛熟女@视频| 在线观看www视频免费| 捣出白浆h1v1| 99热国产这里只有精品6| 精品国产国语对白av| 免费少妇av软件| 亚洲黑人精品在线| 亚洲欧洲精品一区二区精品久久久| 麻豆乱淫一区二区| 99在线人妻在线中文字幕 | 夜夜爽天天搞| 亚洲情色 制服丝袜| 每晚都被弄得嗷嗷叫到高潮| 国产精品自产拍在线观看55亚洲 | 免费不卡黄色视频| 欧美精品亚洲一区二区| 亚洲av美国av| 制服诱惑二区| 在线观看免费高清a一片| 精品人妻1区二区| 极品教师在线免费播放| 精品午夜福利视频在线观看一区 | 新久久久久国产一级毛片| 国产一区二区三区在线臀色熟女 | 波多野结衣av一区二区av| 天堂中文最新版在线下载| 正在播放国产对白刺激| 每晚都被弄得嗷嗷叫到高潮| 国产伦人伦偷精品视频| 夫妻午夜视频| 激情视频va一区二区三区| 国产在线视频一区二区| 18禁黄网站禁片午夜丰满| netflix在线观看网站| 丝袜喷水一区| 久久99一区二区三区| 久久久精品94久久精品| 变态另类成人亚洲欧美熟女 | 欧美黑人精品巨大| 丝袜人妻中文字幕| 人人妻人人添人人爽欧美一区卜| 999精品在线视频| 极品教师在线免费播放| 91麻豆av在线| 天堂俺去俺来也www色官网| 91成年电影在线观看| 亚洲精品国产一区二区精华液| 变态另类成人亚洲欧美熟女 | 午夜福利一区二区在线看| 汤姆久久久久久久影院中文字幕| 免费在线观看日本一区| 国产一区有黄有色的免费视频| 十八禁人妻一区二区| 精品国产国语对白av| 久久精品熟女亚洲av麻豆精品| 高清毛片免费观看视频网站 | 欧美日韩亚洲高清精品| 国产亚洲精品久久久久5区| 夫妻午夜视频| aaaaa片日本免费| 九色亚洲精品在线播放| 久久久欧美国产精品| 国产一区二区在线观看av| 国产精品久久久久久精品电影小说| 一本一本久久a久久精品综合妖精| 亚洲人成伊人成综合网2020| 亚洲欧美精品综合一区二区三区| 美女高潮到喷水免费观看| 老司机福利观看| 在线亚洲精品国产二区图片欧美| 国内毛片毛片毛片毛片毛片| 欧美精品av麻豆av| 极品少妇高潮喷水抽搐| 69av精品久久久久久 | 亚洲国产看品久久| 香蕉国产在线看| 欧美人与性动交α欧美软件| 91麻豆精品激情在线观看国产 | 在线观看66精品国产| 亚洲熟妇熟女久久| 精品午夜福利视频在线观看一区 | 欧美变态另类bdsm刘玥| 免费在线观看黄色视频的| 国产精品久久久久成人av| 深夜精品福利| 亚洲第一欧美日韩一区二区三区 | 国产精品麻豆人妻色哟哟久久| 制服诱惑二区| 不卡av一区二区三区| 欧美黄色片欧美黄色片| 国产成人一区二区三区免费视频网站| 五月天丁香电影| 十八禁网站网址无遮挡| www.精华液| 久久国产精品男人的天堂亚洲| 亚洲人成伊人成综合网2020| 老熟妇仑乱视频hdxx| 欧美亚洲 丝袜 人妻 在线| 9热在线视频观看99| 国产91精品成人一区二区三区 | 成人特级黄色片久久久久久久 | 国产精品美女特级片免费视频播放器 | 欧美日韩亚洲高清精品| 亚洲精品中文字幕一二三四区 | 国产高清激情床上av| 日本一区二区免费在线视频| 一边摸一边抽搐一进一出视频| 日韩三级视频一区二区三区| 成人三级做爰电影| 久久久久久人人人人人| 亚洲精品自拍成人| 老司机深夜福利视频在线观看| 在线天堂中文资源库| 大码成人一级视频| 成人国产一区最新在线观看| 亚洲一区二区三区欧美精品| 午夜福利视频精品| 少妇被粗大的猛进出69影院| 99热网站在线观看| 不卡一级毛片| 满18在线观看网站| 大片免费播放器 马上看| 欧美黑人欧美精品刺激| 国产成人啪精品午夜网站| 色在线成人网| 波多野结衣一区麻豆| 精品福利观看| 中文字幕另类日韩欧美亚洲嫩草| 怎么达到女性高潮| 少妇被粗大的猛进出69影院| 精品欧美一区二区三区在线| 99国产极品粉嫩在线观看| 国产精品98久久久久久宅男小说| 热99久久久久精品小说推荐| 亚洲av日韩在线播放| 欧美大码av| 一个人免费看片子| 亚洲人成电影免费在线| 亚洲熟女毛片儿| 国产福利在线免费观看视频| 王馨瑶露胸无遮挡在线观看| 亚洲精品美女久久av网站| 色尼玛亚洲综合影院| 国产精品麻豆人妻色哟哟久久| 久9热在线精品视频| 久热爱精品视频在线9| 亚洲精品中文字幕一二三四区 | 亚洲视频免费观看视频| 免费久久久久久久精品成人欧美视频| 国产男靠女视频免费网站| 最黄视频免费看| 国产日韩欧美视频二区| 大型av网站在线播放| 中文字幕精品免费在线观看视频| 国产男女超爽视频在线观看| 日日夜夜操网爽| 国产91精品成人一区二区三区 | 蜜桃国产av成人99| 亚洲黑人精品在线| av电影中文网址| 啦啦啦 在线观看视频| 国产片内射在线| 欧美在线黄色| 欧美一级毛片孕妇| 日本五十路高清| 极品人妻少妇av视频| 999久久久国产精品视频| 成人手机av| 国产视频一区二区在线看| 精品福利永久在线观看| av不卡在线播放| 色94色欧美一区二区| 久久人人爽av亚洲精品天堂| 考比视频在线观看| 欧美国产精品一级二级三级| 国产淫语在线视频| 亚洲国产欧美在线一区| 国产成人系列免费观看| 女人精品久久久久毛片| 女人被躁到高潮嗷嗷叫费观| 免费看十八禁软件| 欧美精品啪啪一区二区三区| 欧美激情高清一区二区三区| 精品卡一卡二卡四卡免费| 久久久水蜜桃国产精品网| 黄色a级毛片大全视频| 日韩欧美三级三区| 制服人妻中文乱码| kizo精华| 中文字幕最新亚洲高清| 久久毛片免费看一区二区三区| 法律面前人人平等表现在哪些方面| 国产xxxxx性猛交| 亚洲第一欧美日韩一区二区三区 | a级片在线免费高清观看视频| 国产精品欧美亚洲77777| 在线观看免费视频网站a站| 亚洲国产欧美在线一区| 欧美av亚洲av综合av国产av| 女人精品久久久久毛片| 日韩欧美国产一区二区入口| 国产精品成人在线| 日韩中文字幕欧美一区二区| 麻豆av在线久日| 一二三四在线观看免费中文在| 99国产精品一区二区蜜桃av | 99国产精品99久久久久| 在线天堂中文资源库| 日本av手机在线免费观看| 一本一本久久a久久精品综合妖精| 国产人伦9x9x在线观看| 另类亚洲欧美激情| 丰满人妻熟妇乱又伦精品不卡| h视频一区二区三区| 国产精品久久电影中文字幕 | 国产亚洲精品一区二区www | 国产在线免费精品| 日日夜夜操网爽| 在线天堂中文资源库| 日日爽夜夜爽网站| av有码第一页| 国产1区2区3区精品| 国产精品.久久久| 高潮久久久久久久久久久不卡| 国产精品二区激情视频| 啦啦啦中文免费视频观看日本| 亚洲精品国产精品久久久不卡| 少妇猛男粗大的猛烈进出视频| 国产成人精品在线电影| 美女福利国产在线| 女人久久www免费人成看片| 啦啦啦视频在线资源免费观看| 19禁男女啪啪无遮挡网站| 99精品在免费线老司机午夜| 女性生殖器流出的白浆| 色播在线永久视频| 肉色欧美久久久久久久蜜桃| 亚洲一区中文字幕在线| 午夜福利在线观看吧| 国产日韩欧美视频二区| 亚洲天堂av无毛| 国产深夜福利视频在线观看| 桃花免费在线播放|