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

    基于SocketCluster的移動(dòng)Web視頻會(huì)議設(shè)計(jì)與實(shí)現(xiàn)

    2017-03-24 12:50:47呂海東鄧永康鐘越星肖瑞李文博
    電腦知識(shí)與技術(shù) 2017年1期
    關(guān)鍵詞:視頻會(huì)議線程音頻

    呂海東+鄧永康+鐘越星+肖瑞+李文博

    摘要:針對(duì)使用傳統(tǒng)的軟件架構(gòu)無法使用超大并發(fā)實(shí)時(shí)應(yīng)用的性能需求,采用了全新的異步非阻塞工作模式的Node.js平臺(tái)和在其基礎(chǔ)上的支持集群功能的實(shí)時(shí)傳輸框架SocketCluster實(shí)現(xiàn)了工作在移動(dòng)平臺(tái)上的Web視頻會(huì)議系統(tǒng)。該系統(tǒng)能支持CPU多核以及多服務(wù)器的集群下的可伸縮性,以適應(yīng)實(shí)時(shí)應(yīng)用系統(tǒng)對(duì)性能的需求。測(cè)試證明采用以上平臺(tái)開發(fā)的實(shí)時(shí)系統(tǒng)性能優(yōu)越,為未來實(shí)時(shí)應(yīng)用開發(fā)提供的經(jīng)驗(yàn)和基礎(chǔ)。

    關(guān)鍵詞: 視頻會(huì)議; 實(shí)時(shí)應(yīng)用; Node.js; SocketCluster; 視頻音頻采集

    中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)01-0208-03

    Abstract:Due to the traditional software architecture can not meet the performance requirements of large concurrent real-time applications, using the SocketCluster real-time transmission frame of the new non blocking asynchronous mode of Node.js platform and on the basis of the realization of the function of the cluster support Web video conferencing system work on mobile platform. The system can support the scalability of CPU multi core and multi server cluster, so as to meet the requirement of real-time application system.The test proves that the real time system developed by the above platform is superior to the experience and foundation for the future development of real time application.

    Key words: video conferencing; real-time application; Node.js; SocketCluster; video and audio collection

    1 概述

    目前市場上各個(gè)主流的視頻會(huì)議系統(tǒng)[1]都基于企業(yè)內(nèi)部的平臺(tái)或私有云基礎(chǔ)上,才能保證視頻和音頻的流暢傳輸,尤其是移動(dòng)視頻會(huì)議移動(dòng)端基本上都運(yùn)行在移動(dòng)平臺(tái)的原生App模式,需要會(huì)議參加者在自己的手機(jī)或平板上下載安裝,使得系統(tǒng)的更新難以實(shí)時(shí)完成。同時(shí)在視頻會(huì)議的設(shè)計(jì)與實(shí)現(xiàn)上,傳統(tǒng)視頻會(huì)議都采用基于多線程阻塞模式[2]的服務(wù)器框架如JavaEE或MS.NET,難以滿足在大數(shù)據(jù)量、高并發(fā)情況下對(duì)視頻會(huì)議實(shí)時(shí)性能要求。

    針對(duì)以上問題,本文采用專門支持高并發(fā)和實(shí)時(shí)性的Node.js[3]作為服務(wù)器平臺(tái),使用基于Noded的Express[4] Web框架和SocketCluster[5]實(shí)時(shí)通訊集群框架,結(jié)合客戶端HTML5 Video[6]和Audio API[7]開發(fā)了純Web模式的移動(dòng)視頻會(huì)議系統(tǒng)。

    該系統(tǒng)具有Web應(yīng)用的優(yōu)點(diǎn),同時(shí)服務(wù)器端利用其多核和多CPU的特性,使用Socket集群模式來實(shí)現(xiàn)移動(dòng)視頻會(huì)議的多用戶高并發(fā)和高性能的視頻和音頻傳輸。

    2 系統(tǒng)總體架構(gòu)設(shè)計(jì)

    本移動(dòng)視頻會(huì)議系統(tǒng)采用Web工作模式,服務(wù)器采用Linux Ubuntu Server上運(yùn)行Node.js,在Node平臺(tái)上采用Express為Web服務(wù)器,為移動(dòng)客戶端提供視頻會(huì)議Web頁面的請(qǐng)求和呈現(xiàn)。

    系統(tǒng)的核心功能是參與會(huì)議的每個(gè)成員的視頻和音頻的傳輸,為支持多用戶的實(shí)時(shí)數(shù)據(jù)傳輸,采用能支持Socket傳輸集群的SocketCluster框架在服務(wù)器端和客戶端之間實(shí)現(xiàn)視頻和音頻數(shù)據(jù)的雙向?qū)崟r(shí)傳輸。

    客戶端智能手機(jī)或平臺(tái)利用內(nèi)置的支持HTML5的瀏覽器,結(jié)合Google的Web框架AngularJS[8]和Twitter的Bootstrap[9]框架實(shí)現(xiàn)Web頁面元素的渲染和數(shù)據(jù)綁定,并引入SocketCluster的客戶端負(fù)責(zé)發(fā)送本地用戶的視頻和音頻,以及接收其他用戶發(fā)送的視頻和音頻,并使用HTML5 Audio API實(shí)現(xiàn)音頻的合成和播放。系統(tǒng)的總體架構(gòu)如圖1所示。

    Node.js是基于JavaScript的輕量級(jí)的,高性能的用于開發(fā)現(xiàn)代移動(dòng)和企業(yè)級(jí)應(yīng)用的服務(wù)器平臺(tái)。其核心特點(diǎn)是非阻塞,單線程,異步工作模式,特別適用于開發(fā)大量用戶連接的高并發(fā)應(yīng)用,目的是為解決傳統(tǒng)的應(yīng)用服務(wù)器,如JavaEE,MS.NET, PHP無法適用當(dāng)連接超過10萬的高并發(fā)場合。

    Express是基于Node.js平臺(tái)的web應(yīng)用開發(fā)框架,它基于Node.js的非阻塞和異步模式,可提供超高速的Web請(qǐng)求和響應(yīng)處理,適合開發(fā)各種高并發(fā)的移動(dòng)設(shè)備應(yīng)用。

    SocketCluster是建立在Node.js平臺(tái)的基于WebSocket協(xié)議的支持集群的實(shí)時(shí)通訊開源框架。它既支持豎向伸縮(多核CPU),也支持橫向伸縮性(多個(gè)主機(jī)組建的集群)以適應(yīng)超并發(fā)的密集的數(shù)據(jù)實(shí)時(shí)數(shù)據(jù)傳輸。

    在傳輸對(duì)象上,它既支持客戶-服務(wù)器間傳輸,也支持客戶之間的數(shù)據(jù)傳輸。在傳輸方式上同時(shí)支持請(qǐng)求/響應(yīng)模式的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸,也支持發(fā)布/訂閱模式的群發(fā)群收功能,本系統(tǒng)正是利用此發(fā)布和訂閱模式,在所有會(huì)議的參加者之間群發(fā)和群收視頻和音頻數(shù)據(jù),實(shí)現(xiàn)雙向的實(shí)時(shí)視頻會(huì)議。

    3 服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)

    服務(wù)器端主要實(shí)現(xiàn)Web服務(wù)器和Socket數(shù)據(jù)傳輸服務(wù)器兩個(gè)核心功能。

    Web服務(wù)器采用Express框架,用于實(shí)現(xiàn)系統(tǒng)Web頁面的響應(yīng)服務(wù),系統(tǒng)采用純靜態(tài)HTML5頁面,通過AngularJS框架實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)顯示。

    數(shù)據(jù)傳輸采用SocketCluster5.0.19最新版,其支持Socket集群功能,可使用CPU的多核或多服務(wù)器集群運(yùn)行在Node.js多線程模式,可更好地支持更多參與會(huì)議的用戶的數(shù)據(jù)傳輸。

    Node.js自身工作在單線程工作模式,無法支持多CPU或多內(nèi)核CPU,為能實(shí)現(xiàn)多CPU時(shí)的多線程N(yùn)ode,需要使用Node集群框架,SocketCluster是能支持此類特性的優(yōu)秀集群框架。

    SocketCluster自身工作在如下3種線程下。

    1) 主線程:此線程執(zhí)行SocketCluster的服務(wù)器啟動(dòng)和管理功能。

    2) 工作線程(Workers):啟動(dòng)多個(gè)Node.js實(shí)例對(duì)象,每個(gè)對(duì)象內(nèi)有Event Lopp機(jī)制實(shí)現(xiàn)對(duì)事件的檢測(cè)和處理。每個(gè)CPU內(nèi)核運(yùn)行一個(gè)Node線程,這個(gè)具有2個(gè)CPU且每個(gè)具有8核的服務(wù)器可運(yùn)行16個(gè)Node實(shí)例,如此可處理超大量并發(fā)用戶的請(qǐng)求處理。

    3) 代理線程(Brokers):該線程內(nèi)執(zhí)行一個(gè)代理服務(wù)對(duì)象,用于在各個(gè)工作線程間實(shí)現(xiàn)事件的共享。

    如下代碼簡要演示SocketClutser主線程了啟動(dòng)16個(gè)工作線程和1個(gè)代理線程。

    var SocketCluster = require('socketcluster').Socket Cluster;

    var socketCluster = new SocketCluster({

    workers: 16, brokers: 1, port:8000,

    appName: "mobilemeeting",

    workerController: __dirname + '/worker.js',

    brokerController: __dirname + '/broker.js',});

    在每個(gè)工作線程worker.js中用于啟動(dòng)一個(gè)Node及Express和SocketServer實(shí)例,用于Web服務(wù)和Socket傳輸服務(wù),如下代碼展示了工作線程的實(shí)現(xiàn)。

    var express = require('express');

    var serveStatic = require('serve-static');

    var path = require('path');

    var meetingvideo=require("./business/meetingvideo");

    var meetingaudio=require("./business/meetingaudio");

    module.exports.run = function (worker) {

    var app = express ();

    var httpServer = worker.httpServer; //啟動(dòng)Express Web服務(wù)器

    var scServer = worker.scServer; //啟動(dòng)Socket Server傳輸服務(wù)器

    app.use(serveStatic(path.resolve(__dirname, 'web')));

    httpServer.on('request', app);

    //啟動(dòng)會(huì)議視頻和音頻傳輸模塊

    meetingvideo.start(scServer);

    meetingaudio.start(scServer); };

    工作線程中通過worker對(duì)象創(chuàng)建HTTP服務(wù)器并集成Express,并啟動(dòng)視頻和音頻傳輸服務(wù)器。

    4 視頻采集和傳輸實(shí)現(xiàn)

    SocketCluster內(nèi)部實(shí)現(xiàn)了與Socket.io框架相同的Socket數(shù)據(jù)傳輸機(jī)制,它基于HTTP5的WebSocket協(xié)議實(shí)現(xiàn)雙向?qū)崟r(shí)的數(shù)據(jù)傳輸,用于高性能實(shí)時(shí)應(yīng)用的開發(fā)。

    SocketCluster即支持客戶端-服務(wù)器端的請(qǐng)求-響應(yīng)的點(diǎn)對(duì)點(diǎn)傳輸模式,也支持基于發(fā)布/訂閱模式的群發(fā)群收傳輸模式。本系統(tǒng)因?yàn)橐С侄鄠€(gè)會(huì)議參與者的雙向?qū)崟r(shí)通訊,采用的是發(fā)布/訂閱模式的Socket傳輸,在Socket服務(wù)器上各個(gè)客戶端端都訂閱視頻主題meeting.video和音頻主題meeting.audio,當(dāng)某個(gè)客戶端發(fā)送視頻或音頻數(shù)據(jù)到此主題后,所有參與會(huì)議的客戶端自動(dòng)接收到該主題上的數(shù)據(jù),實(shí)現(xiàn)視頻和音頻的顯示和播放。如下代碼簡要演示了視頻主題的編程,音頻主題編程與之基本類似,不再贅述。

    module.exports.start=function(scServer){

    scServer.on('connection', function (socket) {

    socket.on("meeting.video",function(data){

    scServer.exchange.publish("meetimg.video.data",data);

    }); }); };

    Socket服務(wù)器通過監(jiān)聽數(shù)據(jù)到達(dá)事件,使用exchange.publish方法實(shí)現(xiàn)群發(fā)。由于該服務(wù)器工作在16線程下,可以處理大量的并發(fā)數(shù)據(jù)傳輸,得以實(shí)現(xiàn)高性能的移動(dòng)Web視頻會(huì)議系統(tǒng)。

    5 客戶端視頻采集傳輸接收和顯示實(shí)現(xiàn)

    客戶端視頻的采集使用HTML5的瀏覽器支持的getUserMedia方法取得攝像頭的圖像,并把實(shí)時(shí)采集的數(shù)據(jù)發(fā)送到本地頁面中的

    程序4:視頻采集實(shí)現(xiàn)代碼

    navigator.getUserMedia({video:true },function(stream){

    video.src =window.URL.createObjectURL(stream);

    video.play();

    $scope.$apply();

    視頻數(shù)據(jù)采集到

    $scope.videotimer=$interval(function(){

    canvasContext.drawImage(video, 0, 0, 100, 90);

    meetingVideoData=canvas.toDataURL();

    socket.sendVideoData({meetingNo:$scope.meetingNo,userid:$rootScope.loginuserid,videodata:meetingVideoData}); },1000/60);

    SocketCluster提供了Web客戶端插件,在Web頁面載入后,會(huì)通過此插件實(shí)現(xiàn)與服務(wù)器的SocketCluster的連接,并通過發(fā)送數(shù)據(jù)到主題或監(jiān)聽主題的數(shù)據(jù)到達(dá)事件,將接收數(shù)據(jù)中包含的用戶ID取出,定位該用戶的視頻顯示元素,將視頻數(shù)據(jù)發(fā)送到該元素上,實(shí)現(xiàn)此用戶的視頻顯示,簡要實(shí)現(xiàn)代碼如下所示。

    //監(jiān)聽視頻數(shù)據(jù)到達(dá)事件

    socket.watchVideoData(function(data){

    var senduserid=data.userid;

    var videoimage=document.querySelector("img#img_"+ senduserid);

    videoimage.src=data.videodata;});

    6 客戶端音頻采集傳輸接收和播放實(shí)現(xiàn)

    系統(tǒng)采用視頻和音頻分開采集的方式,將采集的音頻按照最小失真原理,盡可能減少傳輸?shù)臄?shù)據(jù),提高系統(tǒng)的性能。

    客戶端音頻處理過程首先使用HTML5提供的getUserMedia方法采集麥克音頻,并使用Audio API對(duì)其進(jìn)行過濾處理,將解析的音頻數(shù)據(jù)按采樣率打包為二進(jìn)制數(shù)據(jù),通過SocketCluster的群發(fā)模式發(fā)送給所有參加會(huì)議的客戶端,客戶端接收到音頻采樣數(shù)據(jù)后,通過Audio API實(shí)現(xiàn)與揚(yáng)聲器連接進(jìn)行播放。

    音頻采集使用navigator.getUserMedia({ audio: true },function (stream) {}方法取得stream對(duì)象,此對(duì)象包含音頻的所有信息,包括左右聲道數(shù)據(jù)。

    取得音頻數(shù)據(jù)后,創(chuàng)建Audio API的處理對(duì)象audioctx=new window.AudioContext();,將采集的音頻對(duì)導(dǎo)入到此處理對(duì)象var auidoinput = audioctx.createMediaStreamSource(stream);,再使用Audio對(duì)象創(chuàng)建音頻處理緩存對(duì)象var scriptNode = audiocontext.createScriptProcessor(1024, 1, 1); 通過此處理對(duì)象的采樣處理回調(diào)函數(shù),取得采集的音頻數(shù)據(jù),并通過SocketCluster客戶端發(fā)送給指定的主題,這樣所有訂閱此主題的Socket客戶均可接收到傳輸?shù)囊纛l數(shù)據(jù),其示意代碼如下。

    scriptNode.onaudioprocess = function(event) {

    var left = event.inputBuffer.getChannelData(0);

    var leftdata=left;

    socket.publish("meeting.audio",leftdata);};

    為減少傳輸?shù)臄?shù)據(jù)量代碼中只取得左聲道數(shù)據(jù)發(fā)送到Socket主題。

    所有SocketClutser的客戶端會(huì)監(jiān)聽音頻主題的數(shù)據(jù)到達(dá)事件,接收到音頻數(shù)據(jù)后,依然使用Audio API的對(duì)象解析音頻數(shù)據(jù),并與目標(biāo)設(shè)備揚(yáng)聲器連接,將處理的音頻發(fā)送到目標(biāo)對(duì)象實(shí)現(xiàn)音頻的播放,其簡要示意實(shí)現(xiàn)代碼如下。

    msocket.on("meeting.audio",function(data){

    var auidosource = audiocontext.createBufferSource();

    auidosource.buffer = buffer;

    auidosource.connect(audiocontext.destination);

    auidosource.start(0); // 0是當(dāng)前audio context中的同步時(shí)間 });

    系統(tǒng)經(jīng)過測(cè)試證明,基于Node.js的SocketClutser是高性能的數(shù)據(jù)傳輸服務(wù)器,其內(nèi)置的集群支持使得處理能力極大提高。移動(dòng)視頻會(huì)議的運(yùn)行如圖2所示。

    7 結(jié)論

    基于Node.js及其Socket集群框架未來可以開發(fā)出性能出眾的各種實(shí)時(shí)應(yīng)用,這是傳統(tǒng)架構(gòu)的軟件系統(tǒng)無法達(dá)到的,必將成為實(shí)時(shí)應(yīng)用開發(fā)的主流技術(shù)。

    未來將深入探索在Node.js架構(gòu)下以響應(yīng)式微服務(wù)集群模式開發(fā)各種實(shí)時(shí)應(yīng)用的模式和實(shí)現(xiàn)。

    參考文獻(xiàn):

    [1] 聶曉飛. 基于WebRTC的跨平臺(tái)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京交通大學(xué),2014.

    [2] 劉應(yīng)天. 時(shí)鐘共享多線程處理單元的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安郵電大學(xué),2015.

    [3] 王金龍, 宋斌,丁銳. Node.js:一種新的Web應(yīng)用構(gòu)建技術(shù)[J]. 現(xiàn)代電子技術(shù), 2015(06):70-73.

    [4] 楊小嬌. 輕量級(jí)高并發(fā)Web服務(wù)器的研究與實(shí)現(xiàn)[D].南京郵電大學(xué) 2014.

    [5] SocketCluster.io.SocketCluster[EB/OL]. http://socketcluster.io/#!/.

    [6] 張文. 基于HTML5的視頻播控和客戶服務(wù)系統(tǒng)[D]. 西安電子科技大學(xué), 2014.

    [7] 陳迪. 基于HTML5的Web視頻會(huì)議系統(tǒng)的研究與實(shí)現(xiàn)[D]. 華南理工大學(xué), 2015.

    [8] 董英茹. 簡談AngularJS在下一代Web開發(fā)中的應(yīng)用[J].軟件工程師,2015(5):30-31.

    [9] 陳思濛.基于Bootstrap的響應(yīng)式拼車網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[D]. 大連理工大學(xué),2015.

    猜你喜歡
    視頻會(huì)議線程音頻
    省農(nóng)辦主任暨三農(nóng)重點(diǎn)工作推進(jìn)視頻會(huì)議
    必須了解的音頻基礎(chǔ)知識(shí) 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
    民政部召開民政領(lǐng)域社會(huì)工作推進(jìn)視頻會(huì)議
    中國民政(2018年24期)2019-01-18 07:34:26
    基于Daubechies(dbN)的飛行器音頻特征提取
    電子制作(2018年19期)2018-11-14 02:37:08
    音頻分析儀中低失真音頻信號(hào)的發(fā)生方法
    電子制作(2017年9期)2017-04-17 03:00:46
    淺談linux多線程協(xié)作
    淺談遠(yuǎn)程視頻會(huì)議系統(tǒng)的構(gòu)建
    Pro Tools音頻剪輯及修正
    人間(2015年8期)2016-01-09 13:12:42
    云技術(shù)在視頻會(huì)議系統(tǒng)中的應(yīng)用研究
    Linux線程實(shí)現(xiàn)技術(shù)研究
    欧美最黄视频在线播放免费| 两个人的视频大全免费| 久久草成人影院| 一级毛片久久久久久久久女| 日本色播在线视频| 国产伦理片在线播放av一区 | 中文亚洲av片在线观看爽| 精品一区二区三区视频在线| 免费av不卡在线播放| 可以在线观看毛片的网站| 成人av在线播放网站| 免费观看a级毛片全部| 成人永久免费在线观看视频| 国产片特级美女逼逼视频| 菩萨蛮人人尽说江南好唐韦庄 | 乱人视频在线观看| 黄色日韩在线| 日韩在线高清观看一区二区三区| 男人的好看免费观看在线视频| 日本免费a在线| 午夜福利在线在线| 国产精品不卡视频一区二区| 女人被狂操c到高潮| 亚洲欧美精品综合久久99| 久久这里只有精品中国| 久久久久久久久久成人| 亚洲天堂国产精品一区在线| 亚洲欧美日韩高清专用| 少妇人妻一区二区三区视频| 国产精品久久电影中文字幕| 日韩 亚洲 欧美在线| 18禁在线无遮挡免费观看视频| 九九热线精品视视频播放| 婷婷六月久久综合丁香| 国产精品国产高清国产av| 麻豆av噜噜一区二区三区| 久久精品国产亚洲av香蕉五月| 亚洲经典国产精华液单| 国产一区二区三区av在线 | 成人亚洲欧美一区二区av| 国产久久久一区二区三区| 午夜老司机福利剧场| 成人国产麻豆网| 亚洲中文字幕一区二区三区有码在线看| 亚洲欧美日韩高清专用| 亚洲国产精品成人综合色| 精品午夜福利在线看| 亚洲自拍偷在线| 边亲边吃奶的免费视频| 久久人人精品亚洲av| 亚洲国产精品sss在线观看| 97超视频在线观看视频| 校园人妻丝袜中文字幕| videossex国产| 一本一本综合久久| 成人性生交大片免费视频hd| 日韩一区二区三区影片| 中出人妻视频一区二区| 欧美另类亚洲清纯唯美| 国产69精品久久久久777片| 国产男人的电影天堂91| 日韩中字成人| 成人三级黄色视频| 免费观看在线日韩| 亚洲国产精品合色在线| 欧美日本视频| 亚洲欧美精品综合久久99| 久99久视频精品免费| 九色成人免费人妻av| 亚洲自拍偷在线| 亚洲人成网站在线播放欧美日韩| 亚洲欧美日韩高清在线视频| 国产麻豆成人av免费视频| 午夜激情欧美在线| 国产精品久久久久久精品电影| 久久欧美精品欧美久久欧美| 欧美精品一区二区大全| 国产亚洲91精品色在线| 少妇熟女aⅴ在线视频| 久久久国产成人精品二区| 最近手机中文字幕大全| 男人和女人高潮做爰伦理| 69av精品久久久久久| 欧美性猛交黑人性爽| 久久久久久久久久黄片| 久久99热这里只有精品18| 岛国毛片在线播放| 久久人妻av系列| 午夜爱爱视频在线播放| 日本av手机在线免费观看| avwww免费| 三级经典国产精品| 桃色一区二区三区在线观看| 精品久久久久久久久av| 日韩欧美三级三区| 日本色播在线视频| 日韩一本色道免费dvd| 色哟哟哟哟哟哟| 欧美日本亚洲视频在线播放| 中文欧美无线码| 少妇熟女aⅴ在线视频| 中文资源天堂在线| 欧美一级a爱片免费观看看| 男女那种视频在线观看| 一卡2卡三卡四卡精品乱码亚洲| 亚洲成人久久爱视频| 亚洲高清免费不卡视频| 久久精品久久久久久噜噜老黄 | 尤物成人国产欧美一区二区三区| 国产成人a∨麻豆精品| 丰满乱子伦码专区| 国国产精品蜜臀av免费| 国内揄拍国产精品人妻在线| 少妇人妻一区二区三区视频| 亚洲欧美日韩无卡精品| 亚洲欧美日韩无卡精品| 国产熟女欧美一区二区| 久久精品国产亚洲av涩爱 | 国产av在哪里看| 精品久久久久久久久亚洲| 日韩制服骚丝袜av| 久久精品影院6| 国产高清视频在线观看网站| 美女大奶头视频| 久久久久久九九精品二区国产| h日本视频在线播放| 免费av观看视频| 欧美潮喷喷水| 久久久欧美国产精品| 99热精品在线国产| 亚洲国产精品国产精品| 精品久久久久久久人妻蜜臀av| 久久国内精品自在自线图片| 免费看美女性在线毛片视频| 深爱激情五月婷婷| 久久久久久久久久黄片| 国产一区二区在线av高清观看| 日本五十路高清| 一个人看视频在线观看www免费| 极品教师在线视频| 久久国内精品自在自线图片| 亚洲精品影视一区二区三区av| 日韩亚洲欧美综合| 久久久久性生活片| 中国美女看黄片| 丰满乱子伦码专区| 少妇的逼好多水| 九色成人免费人妻av| 日本欧美国产在线视频| 午夜爱爱视频在线播放| 久久精品国产亚洲网站| 高清毛片免费看| 美女被艹到高潮喷水动态| 97超碰精品成人国产| 成人美女网站在线观看视频| 成人亚洲精品av一区二区| 中文字幕久久专区| 欧美潮喷喷水| 国产探花极品一区二区| 亚洲最大成人中文| 久久久久久久久中文| 国产伦在线观看视频一区| 国产午夜精品一二区理论片| 亚洲国产日韩欧美精品在线观看| 99久久精品一区二区三区| 成人欧美大片| av免费观看日本| 一卡2卡三卡四卡精品乱码亚洲| 欧美丝袜亚洲另类| 男人和女人高潮做爰伦理| 国产成人aa在线观看| 国产亚洲欧美98| 久久草成人影院| 99久久人妻综合| 亚洲天堂国产精品一区在线| 亚洲三级黄色毛片| 中文字幕av在线有码专区| 久久鲁丝午夜福利片| 成人亚洲欧美一区二区av| 91久久精品电影网| 中文字幕av成人在线电影| 亚洲欧美精品专区久久| www.色视频.com| 久久精品影院6| 噜噜噜噜噜久久久久久91| 国产黄片视频在线免费观看| 91在线精品国自产拍蜜月| 女人十人毛片免费观看3o分钟| 日韩成人av中文字幕在线观看| 禁无遮挡网站| 亚洲四区av| 可以在线观看的亚洲视频| 狂野欧美白嫩少妇大欣赏| 国产视频内射| 老女人水多毛片| 岛国毛片在线播放| 亚洲中文字幕一区二区三区有码在线看| 国产极品精品免费视频能看的| 自拍偷自拍亚洲精品老妇| 久久99热这里只有精品18| 听说在线观看完整版免费高清| 国产精品久久久久久精品电影小说 | 亚洲精品成人久久久久久| 欧美又色又爽又黄视频| 97超视频在线观看视频| 欧美性感艳星| 免费观看人在逋| 久久久久久大精品| 嫩草影院入口| 精品久久久久久久末码| 男人的好看免费观看在线视频| 性色avwww在线观看| 国产真实乱freesex| 亚洲一区高清亚洲精品| 99热这里只有是精品50| 日本成人三级电影网站| 亚洲精品亚洲一区二区| 波多野结衣高清无吗| 国产亚洲5aaaaa淫片| 精品一区二区免费观看| 亚洲av第一区精品v没综合| 51国产日韩欧美| 国产午夜精品论理片| 国产成人影院久久av| 性欧美人与动物交配| 亚洲av成人精品一区久久| 日韩,欧美,国产一区二区三区 | 一卡2卡三卡四卡精品乱码亚洲| 丝袜喷水一区| 日韩大尺度精品在线看网址| 免费观看精品视频网站| 国产 一区 欧美 日韩| 成年av动漫网址| 在线国产一区二区在线| 九九在线视频观看精品| 久久精品国产自在天天线| 99热只有精品国产| 久久国内精品自在自线图片| 久久久国产成人精品二区| 国产探花在线观看一区二区| www.av在线官网国产| 国内揄拍国产精品人妻在线| 一本久久中文字幕| 少妇熟女欧美另类| 久久久欧美国产精品| 三级经典国产精品| 1000部很黄的大片| 日韩欧美一区二区三区在线观看| 深爱激情五月婷婷| 麻豆国产av国片精品| 精品欧美国产一区二区三| 久久久国产成人免费| 免费看日本二区| av在线老鸭窝| 日韩,欧美,国产一区二区三区 | 欧美日韩乱码在线| 能在线免费观看的黄片| 久久久国产成人免费| 日韩高清综合在线| 国产69精品久久久久777片| 亚洲国产精品国产精品| 免费不卡的大黄色大毛片视频在线观看 | 18禁黄网站禁片免费观看直播| 日韩精品有码人妻一区| 一级毛片电影观看 | 日本色播在线视频| 最近中文字幕高清免费大全6| 在线免费观看不下载黄p国产| 直男gayav资源| 久久久久久久久久久免费av| 久久精品夜夜夜夜夜久久蜜豆| or卡值多少钱| 国产亚洲av嫩草精品影院| 99久久成人亚洲精品观看| 在线国产一区二区在线| 中文字幕av成人在线电影| 亚洲七黄色美女视频| 干丝袜人妻中文字幕| 亚洲丝袜综合中文字幕| 国产欧美日韩精品一区二区| 在线国产一区二区在线| 寂寞人妻少妇视频99o| 一区福利在线观看| 91久久精品国产一区二区三区| 两个人视频免费观看高清| 一本一本综合久久| 精品人妻一区二区三区麻豆| 看片在线看免费视频| 日本熟妇午夜| av在线蜜桃| 成人三级黄色视频| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 啦啦啦观看免费观看视频高清| 美女脱内裤让男人舔精品视频 | 亚洲欧美中文字幕日韩二区| 亚洲av成人精品一区久久| 网址你懂的国产日韩在线| 精品国产三级普通话版| 在线观看美女被高潮喷水网站| 少妇熟女欧美另类| 麻豆成人av视频| 日韩精品青青久久久久久| 亚洲18禁久久av| 91av网一区二区| 青春草亚洲视频在线观看| 人妻系列 视频| 国产免费男女视频| 嫩草影院精品99| 免费黄网站久久成人精品| 国产精品野战在线观看| 成年版毛片免费区| 亚洲精品自拍成人| 美女脱内裤让男人舔精品视频 | 亚洲在久久综合| 国产精品一区二区在线观看99 | ponron亚洲| 国产亚洲5aaaaa淫片| 美女国产视频在线观看| 久久国产乱子免费精品| 欧美性感艳星| 亚洲精品国产av成人精品| 午夜精品国产一区二区电影 | 麻豆国产av国片精品| 国产精品久久电影中文字幕| 伊人久久精品亚洲午夜| 我的老师免费观看完整版| 村上凉子中文字幕在线| 成人特级av手机在线观看| 最近2019中文字幕mv第一页| 99riav亚洲国产免费| 午夜精品国产一区二区电影 | 国产真实乱freesex| 亚洲av中文字字幕乱码综合| 人妻夜夜爽99麻豆av| 成人欧美大片| 97超碰精品成人国产| 亚洲av成人精品一区久久| 岛国毛片在线播放| 97人妻精品一区二区三区麻豆| 国产黄片视频在线免费观看| 精品久久久久久成人av| www.av在线官网国产| 亚洲精品成人久久久久久| 久久久久久大精品| 国产精品一区www在线观看| 欧美成人精品欧美一级黄| 伊人久久精品亚洲午夜| 国产精品福利在线免费观看| 哪里可以看免费的av片| 性色avwww在线观看| 亚洲av不卡在线观看| 尾随美女入室| 久久亚洲精品不卡| 男人和女人高潮做爰伦理| 亚洲美女搞黄在线观看| 国产伦一二天堂av在线观看| 黄片无遮挡物在线观看| 国产精品三级大全| 亚洲欧美精品综合久久99| 日韩欧美 国产精品| 一级毛片电影观看 | 亚洲电影在线观看av| 神马国产精品三级电影在线观看| 久久久精品94久久精品| 一本久久中文字幕| 精品久久久噜噜| 全区人妻精品视频| 久久久久久久久久黄片| 晚上一个人看的免费电影| 久久亚洲精品不卡| videossex国产| 国产欧美日韩精品一区二区| 日韩av不卡免费在线播放| 免费看美女性在线毛片视频| 干丝袜人妻中文字幕| 成人亚洲欧美一区二区av| 九九热线精品视视频播放| 又黄又爽又刺激的免费视频.| 日韩中字成人| 18禁在线无遮挡免费观看视频| 免费看日本二区| 变态另类成人亚洲欧美熟女| 高清日韩中文字幕在线| 免费看美女性在线毛片视频| 午夜激情欧美在线| 可以在线观看毛片的网站| 久久精品人妻少妇| 天美传媒精品一区二区| 亚洲不卡免费看| 永久网站在线| 成年女人永久免费观看视频| 麻豆乱淫一区二区| 伦理电影大哥的女人| 亚洲av男天堂| av女优亚洲男人天堂| 成人欧美大片| 国产精品久久久久久亚洲av鲁大| 一夜夜www| 国产精品久久电影中文字幕| 成人亚洲欧美一区二区av| 久久精品综合一区二区三区| 国产亚洲av嫩草精品影院| 国产午夜精品一二区理论片| 欧美+亚洲+日韩+国产| 乱人视频在线观看| 色视频www国产| 国产白丝娇喘喷水9色精品| 菩萨蛮人人尽说江南好唐韦庄 | 一个人看的www免费观看视频| 亚洲精品日韩av片在线观看| 一级毛片电影观看 | 美女大奶头视频| 女人十人毛片免费观看3o分钟| 亚洲精品乱码久久久v下载方式| 在线观看免费视频日本深夜| 久久久久久久久大av| 真实男女啪啪啪动态图| 女同久久另类99精品国产91| 免费电影在线观看免费观看| 国产成人影院久久av| 天堂网av新在线| 边亲边吃奶的免费视频| 久久精品综合一区二区三区| 99热这里只有是精品在线观看| av天堂中文字幕网| 97超视频在线观看视频| 国产人妻一区二区三区在| 国产精品不卡视频一区二区| av免费观看日本| 日韩 亚洲 欧美在线| 99久久九九国产精品国产免费| 最新中文字幕久久久久| 一本久久中文字幕| 日韩一区二区视频免费看| 91av网一区二区| 99riav亚洲国产免费| 久久久久久久久中文| 色综合亚洲欧美另类图片| 99热全是精品| 亚洲丝袜综合中文字幕| 人人妻人人澡人人爽人人夜夜 | 一级毛片久久久久久久久女| 国产乱人偷精品视频| 国产三级中文精品| 国产成人a∨麻豆精品| 国产午夜精品一二区理论片| 精华霜和精华液先用哪个| 一本久久精品| 在线国产一区二区在线| 亚洲av.av天堂| 校园人妻丝袜中文字幕| 欧美最黄视频在线播放免费| 亚洲成人中文字幕在线播放| 国产亚洲av嫩草精品影院| 亚洲av成人av| 成年免费大片在线观看| 国产免费一级a男人的天堂| 亚洲av熟女| 国产激情偷乱视频一区二区| 26uuu在线亚洲综合色| 插阴视频在线观看视频| 国产 一区 欧美 日韩| 久久精品人妻少妇| 国产精品久久久久久av不卡| 精品久久久噜噜| 成年av动漫网址| 欧美三级亚洲精品| 一级毛片电影观看 | 国产高清激情床上av| 国产精品久久久久久精品电影小说 | 黄色欧美视频在线观看| 国产精品一区二区性色av| 男女边吃奶边做爰视频| 午夜福利成人在线免费观看| av在线蜜桃| 日日干狠狠操夜夜爽| 免费一级毛片在线播放高清视频| 色噜噜av男人的天堂激情| 久久精品夜色国产| 女同久久另类99精品国产91| 舔av片在线| 亚洲国产精品国产精品| 国产三级在线视频| 插阴视频在线观看视频| 亚洲精华国产精华液的使用体验 | 简卡轻食公司| 三级男女做爰猛烈吃奶摸视频| 舔av片在线| 国产色婷婷99| 亚洲欧洲国产日韩| 乱人视频在线观看| 国内久久婷婷六月综合欲色啪| 亚洲激情五月婷婷啪啪| 亚洲欧美日韩卡通动漫| 老女人水多毛片| 男女啪啪激烈高潮av片| 岛国在线免费视频观看| 精品久久久久久久久久免费视频| 中文欧美无线码| 国内精品宾馆在线| av在线亚洲专区| 国产蜜桃级精品一区二区三区| 国产黄色视频一区二区在线观看 | 国产又黄又爽又无遮挡在线| 国产午夜精品久久久久久一区二区三区| 久久久久九九精品影院| 亚洲无线观看免费| 黑人高潮一二区| 国产91av在线免费观看| 日本免费一区二区三区高清不卡| 六月丁香七月| kizo精华| 亚洲av免费在线观看| 成熟少妇高潮喷水视频| 波多野结衣高清无吗| 毛片女人毛片| 99久久九九国产精品国产免费| 丰满乱子伦码专区| 日韩欧美国产在线观看| 欧美日本亚洲视频在线播放| 好男人在线观看高清免费视频| 内射极品少妇av片p| av免费在线看不卡| 亚洲一区高清亚洲精品| 国产午夜福利久久久久久| 卡戴珊不雅视频在线播放| 日韩制服骚丝袜av| 国模一区二区三区四区视频| 欧美日本视频| 国产私拍福利视频在线观看| 成人亚洲精品av一区二区| 最好的美女福利视频网| 禁无遮挡网站| 看免费成人av毛片| 又粗又硬又长又爽又黄的视频 | 日本av手机在线免费观看| 午夜精品一区二区三区免费看| 久久久成人免费电影| 性欧美人与动物交配| av天堂在线播放| 国产精品一区www在线观看| 亚洲国产高清在线一区二区三| av视频在线观看入口| 91狼人影院| 亚洲精品粉嫩美女一区| 又黄又爽又刺激的免费视频.| 欧美bdsm另类| 麻豆成人午夜福利视频| 久久久久国产网址| 久久精品综合一区二区三区| 国产色爽女视频免费观看| 精华霜和精华液先用哪个| 狂野欧美白嫩少妇大欣赏| 久久精品91蜜桃| 美女内射精品一级片tv| 国产免费男女视频| 丰满乱子伦码专区| 日韩大尺度精品在线看网址| 国产高清视频在线观看网站| 精品久久久久久久久久免费视频| 国产私拍福利视频在线观看| 别揉我奶头 嗯啊视频| 成人国产麻豆网| 欧美成人精品欧美一级黄| 2022亚洲国产成人精品| 一进一出抽搐动态| 国产免费一级a男人的天堂| 一本久久中文字幕| h日本视频在线播放| 亚洲七黄色美女视频| 国产精品乱码一区二三区的特点| 有码 亚洲区| 99热全是精品| 国产极品天堂在线| 乱系列少妇在线播放| 亚洲中文字幕日韩| 国内精品宾馆在线| 寂寞人妻少妇视频99o| 99久久精品国产国产毛片| 麻豆久久精品国产亚洲av| 国产美女午夜福利| 国产亚洲5aaaaa淫片| 毛片女人毛片| 男的添女的下面高潮视频| 韩国av在线不卡| 91av网一区二区| 国产精品永久免费网站| 久久久久久久久久黄片| 亚洲经典国产精华液单| 午夜福利视频1000在线观看| 久久热精品热| 成年免费大片在线观看| 26uuu在线亚洲综合色| 十八禁国产超污无遮挡网站| 久久精品影院6| 久久久久久久久中文| 免费大片18禁| 黄色配什么色好看| 一区二区三区免费毛片| 成人亚洲欧美一区二区av| 久久午夜亚洲精品久久| 精品一区二区三区人妻视频| 成人av在线播放网站| 又粗又爽又猛毛片免费看| 性欧美人与动物交配| 男人舔女人下体高潮全视频| 亚洲第一电影网av| 亚洲av免费在线观看| 美女被艹到高潮喷水动态| a级毛片免费高清观看在线播放| av专区在线播放| 18禁在线播放成人免费| 边亲边吃奶的免费视频| 久久人人爽人人片av| 91aial.com中文字幕在线观看|