日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

海康威视频监控设备Web查看系统(二):服务器篇

發布時間:2024/2/2 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 海康威视频监控设备Web查看系统(二):服务器篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:本系列文章只提供交流與學習使用。文章中所有涉及到海康威視設備的SDK均可在海康威視官方網站下載得到。文章中所有除官方SDK意外的代碼均可隨意使用,任何涉及到海康威視公司利益的非正常使用由使用者自己負責,與本人無關。

前言:

上一篇文章《海康威視頻監控設備Web查看系統(一):概要篇》籠統的介紹了關于海康視頻中轉方案的思路,本文將一步步實現方案中的視頻中轉服務端。文中會涉及到一些.net socket處理和基礎的多線程操作。我用的是SDK版本是SDK_Win32_V4.2.8.1 。大家根據自己實際情況想在相應的SDK,頁面的說明里有詳細的設備型號列表。

分析官方SDK的Demo:

首先來看看官方SDK中的C#版本的Demo,官方Demo分為兩個版本,分別是“實時預覽示例代碼一”和“實時預覽示例代碼二”,因為有現成的C#版本,所以我們使用示例代碼一中的內容。首先關注名為CHCNetSDK的類,這個類封中裝了SDK中的所有非托管方法接口,我們需要來把這個類以及SDK中的DLL文件一起引入到我們的項目中,如果有對C#調用C++類庫不了解的朋友請自己Google一下,資料非常多,博客園里也有很多作者寫過這一類的文章,本文就不就這個內容做深入討論。

調用SDK沒有問題了,接下來看看SDK的使用,根據SDK使用文檔,SDK接口的調用需要通過一個標準流程,流程圖如下:

按照這個流程,我們第一步要做的是初始化SDK,然后是三個可選回調函數的設置,接著要做用戶注冊設備即設備登錄,緊接著就是核心的部分了,根據上一篇文章中講的思路,除了預覽模塊外其他幾個模塊的調用不在我們要解決的問題范疇,因此不予考慮。最后一步是注銷設備,釋放SDK資源。所以,最后根據我們的需求,流程簡化如下:

雖然標準流程如此,但是我們的服務端程序只有一個單一的任務,所以也沒有必要對為托管資源進行釋放,因為如果退出程序以后資源就會釋放,不退出程序的話,SDK資源就不應該被釋放。因此再簡化一下流程每個節點都有相應的代碼實現如如下所示:

 1 //初始化SDK
 2 CHCNetSDK.NET_DVR_Init();
 3 
 4 //用戶登錄
 5 CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();
 6 CHCNetSDK.NET_DVR_Login_V30(設備IP地址, 設備端口, 用戶名, 密碼, ref DeviceInfo);
 7 //說明:關于設備IP、端口、用戶名及密碼信息請根據自己要訪問設備的設置正確填寫
 8 
 9 //預覽模塊
10 CHCNetSDK.NET_DVR_CLIENTINFO lpClientInfo = new CHCNetSDK.NET_DVR_CLIENTINFO();
11 lpClientInfo.lChannel = channel;
12 lpClientInfo.lLinkMode = 0x0000;
13 lpClientInfo.sMultiCastIP = "";
14 m_fRealData = new CHCNetSDK.REALDATACALLBACK(RealDataCallBack);
15 IntPtr pUser = new IntPtr();
16 CHCNetSDK.NET_DVR_RealPlay_V30(m_lUserID, ref lpClientInfo, m_fRealData, pUser, 1);
17 //說明:這里的NET_DVR_CLIENTINFO類中缺少預覽窗口的句柄,需要預覽時,要根據自己的項目設置NET_DVR_CLIENTINFO對象的hPlayWnd屬性

可能有朋友看到這里已經忍受不了了,說好的視頻中轉功能在哪呢?別著急,一切的處理都在回調函數RealDataCallBack中,先耐心看一下這個回調函數的簽名

void RealDataCallBack(Int32 lRealHandle, UInt32 dwDataType, IntPtr pBuffer, UInt32 dwBufSize, IntPtr pUser)

第一個lRealHandle是預覽控件的句柄,第二個參數dwDataType說明回調接收到的數據類型,pBuffer 存放數據的緩沖區指針, dwBufSize 緩沖區大小 ,pUser 用戶數據的句柄。我做的這個視頻的中轉功能其實就是在這個回調函數中實現的。

好了,核心的代碼都摘出來了,大家按照SDK提供的Demo照貓畫虎就可以把預覽功能實現出來了。

服務端設計:

  實現了預覽功能,下面看看中轉服務的實現。其中包含三個類:Server,Client以及ClientList類。

Server類主要負責從設備讀取數據并將數據緩存到服務器上,并且作為Socket監聽服務端;ClientList維護一個客戶端列表,并在Server獲取到設備數據時便利客戶端列表發送數據到客戶端;Client類主要負責將服務端緩存的數據分發到各個終端請求上。

三個類的關系及主要成員請看下圖:

Server類:

  1 class Server
  2     {
  3         int m_lUserID = -1;
  4         //頭數據
  5         byte[] headStream;
  6 
  7         ClientList clientList = ClientList.GetClientList();
  8         CHCNetSDK.REALDATACALLBACK m_fRealData;
  9         Socket listenSocket;
 10         Semaphore m_maxNumberAcceptedClients;
 11         /// <summary>
 12         /// Server構造函數,啟動服務端Socket及海康SDK獲取設備數據
 13         /// </summary>
 14         /// <param name="ipPoint">服務端IP配置</param>
 15         /// <param name="numConnections">最大客戶端連接數</param>
 16         /// <param name="channel">設備監聽通道</param>
 17         public Server(IPEndPoint ipPoint, int numConnections, int channel)
 18         {
 19             if (!InitHK())
 20             {
 21                 return;
 22             }
 23             RunGetStream(channel);
 24 
 25             listenSocket = new Socket(ipPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
 26             listenSocket.Bind(ipPoint);
 27             m_maxNumberAcceptedClients = new Semaphore(numConnections, numConnections);
 28             listenSocket.Listen(100);
 29             Console.WriteLine("開始監聽客戶端連接......");
 30             StartAccept(null);
 31         }
 32 
 33         #region HKSDK
 34 
 35         private void RunGetStream(int channel)
 36         {
 37             if (m_lUserID != -1)//初始化成功
 38             {
 39                 CHCNetSDK.NET_DVR_CLIENTINFO lpClientInfo = new CHCNetSDK.NET_DVR_CLIENTINFO();
 40                 lpClientInfo.lChannel = channel;
 41                 lpClientInfo.lLinkMode = 0x0000;
 42                 lpClientInfo.sMultiCastIP = "";
 43                 m_fRealData = new CHCNetSDK.REALDATACALLBACK(RealDataCallBack);
 44                 IntPtr pUser = new IntPtr();
 45                 int m_lRealHandle = CHCNetSDK.NET_DVR_RealPlay_V30(m_lUserID, ref lpClientInfo, m_fRealData, pUser, 1);
 46                 Console.WriteLine("開始獲取視頻數據......");
 47             }
 48             else//初始化 失敗,因為已經初始化了
 49             {
 50                 Console.WriteLine("視頻數據獲取失敗......");
 51             }
 52         }
 53 
 54         private bool InitHK()
 55         {
 56             bool m_bInitSDK = CHCNetSDK.NET_DVR_Init();
 57             if (m_bInitSDK == false)
 58             {
 59                 return false;
 60             }
 61             else
 62             {
 63                 Console.WriteLine("設備SDK初始化成功.......");
 64                 CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();
 65                 m_lUserID = CHCNetSDK.NET_DVR_Login_V30("設備IP", 連接端口, "連接用戶名", "連接密碼", ref DeviceInfo);
 66                 if (m_lUserID != -1)
 67                 {
 68                     Console.WriteLine("監控設備登錄成功.......");
 69                     return true;
 70                 }
 71                 else
 72                 {
 73                     Console.WriteLine("監控設備登錄失敗,稍后再試.......");
 74                     return false;
 75                 }
 76             }
 77         }
 78 
 79         private void RealDataCallBack(Int32 lRealHandle, UInt32 dwDataType, IntPtr pBuffer, UInt32 dwBufSize, IntPtr pUser)
 80         {
 81             byte[] data = new byte[dwBufSize];
 82             Marshal.Copy(pBuffer, data, 0, (int)dwBufSize);
 83             Console.WriteLine("監控設備連接正常......");
 84             if (dwDataType == CHCNetSDK.NET_DVR_SYSHEAD)
 85             {
 86                 headStream = data;
 87             }
 88             clientList.SetSendData(data);
 89             return;
 90         }
 91 
 92         #endregion
 93 
 94         #region Socket
 95         /// <summary>
 96         /// 監聽客戶端
 97         /// </summary>
 98         /// <param name="acceptEventArg"></param>
 99         private void StartAccept(SocketAsyncEventArgs acceptEventArg)
100         {
101             if (acceptEventArg == null)
102             {
103                 acceptEventArg = new SocketAsyncEventArgs();
104                 acceptEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(IO_Completed);
105             }
106             else
107             {
108                 acceptEventArg.AcceptSocket = null;
109             }
110 
111             m_maxNumberAcceptedClients.WaitOne();
112             bool willRaiseEvent = listenSocket.AcceptAsync(acceptEventArg);
113             if (!willRaiseEvent)
114             {
115                 ProcessAccept(acceptEventArg);
116             }
117         }
118         /// <summary>
119         /// 增加客戶端列表
120         /// </summary>
121         /// <param name="e"></param>
122         private void ProcessAccept(SocketAsyncEventArgs e)
123         {
124             clientList.AddClient(new Client(e.AcceptSocket, headStream));
125             StartAccept(e);
126         }
127 
128         /// <summary>
129         /// Socket回調函數
130         /// </summary>
131         /// <param name="sender"></param>
132         /// <param name="e"></param>
133         private void IO_Completed(object sender, SocketAsyncEventArgs e)
134         {
135             switch (e.LastOperation)
136             {
137                 case SocketAsyncOperation.Accept:
138                     ProcessAccept(e);
139                     break;
140                 default:
141                     throw new ArgumentException("The last operation completed on the socket was not a receive or send");
142             }
143         }
144 
145         #endregion
146 
147     }

ServerClass

這里有個細節問題要說明一下,當服務端每次注冊到設備時,設備第一次返回的數據里面的前40個字節是頭數據,在解碼階段時需要將這40字節數據先發送給解碼程序,否則解碼程序將無法正常操作。所以在Server類中單獨保存了這40字節的頭數據以備分發給各個客戶端。

另外,由于我們的客戶端只需要不停的從服務端接收數據,所以服務端設計時只需要將數據分發給客戶端即可,無需在Server類中維護客戶端狀態,因此,服務端Socket只進行監聽操作,當監聽到有客戶端連接時,將客戶端連接添加到ClientList即可。下面看看ClientList類的實現:

class ClientList
{
    private static ClientList list = null;
    private ClientList() { }
    private List<Client> socketList = new List<Client>();

    /// <summary>
    /// 獲取ClientList單例
    /// </summary>
    /// <returns></returns>
    public static ClientList GetClientList()
    {
        if (list == null)
            list = new ClientList();
        return list;
    }
    /// <summary>
    /// 將客戶端增加到ClientList中
    /// </summary>
    /// <param name="client"></param>
    public void AddClient(Client client)
    {
        this.socketList.Add(client);
    }
    /// <summary>
    /// 遍歷發送數據到客戶端
    /// </summary>
    /// <param name="data"></param>
    public void SetSendData(byte[] data)
    {
        socketList.RemoveAll((s) => { return s.SocketError != SocketError.Success; });
        PerformanceCounter p = new PerformanceCounter("Processor", "% Processor Time", "_Total");
        for (int i = 0; i < socketList.Count; i++)
        {
            socketList[i].SetData(data);
            if (p.NextValue() > 50)
                Thread.Sleep(10);
        }
    }
}

ClientListClass

在SetSendData方法中遍歷客戶端列表發送數據時,用到了PerformanceCounter對象來控制服務器CPU的使用率,防止CPU資源過載。在實際運行過程中需要對PerformanceCounter對象獲取的使用率的條件和線程等待時間做適當的微調來達到想要的效果。我這里的參數是我在PC Server上部署的時候采用的,如果是高CPU配置的話,需要把CPU使用率的判斷條件改小一些,否則會出現服務端單次從設備讀取數據時間過長的問題,在客戶端顯示時出現延時。

最后看看Client類的實現:

  1 class Client
  2 {
  3     /// <summary>
  4     /// 客戶端連接Socket
  5     /// </summary>
  6     private Socket socket;
  7     /// <summary>
  8     /// 發送的數據類型
  9     /// </summary>
 10     private BufferType type = BufferType.Head;
 11     /// <summary>
 12     /// 頭數據
 13     /// </summary>
 14     private byte[] headStream;
 15     private SocketError socketError = SocketError.Success;
 16     /// <summary>
 17     /// 控制數據發送順序信號量
 18     /// </summary>
 19     private ManualResetEvent sendManual = new ManualResetEvent(false);
 20     private byte[] sendData;
 21     /// <summary>
 22     /// 發送數據線程
 23     /// </summary>
 24     private Thread sendThread;
 25     /// <summary>
 26     /// 客戶端構造函數
 27     /// </summary>
 28     /// <param name="socket"></param>
 29     /// <param name="headStream"></param>
 30     public Client(Socket socket, byte[] headStream)
 31     {
 32         this.headStream = headStream;
 33         this.socket = socket;
 34         sendThread = new Thread((object arg) =>
 35         {
 36 
 37             while (true)
 38             {
 39                 sendManual.WaitOne();
 40                 if (socketError == SocketError.Success)
 41                 {
 42                     try
 43                     {
 44                         Console.WriteLine(sendData.Length);
 45                         socket.Send(sendData);
 46                     }
 47                     catch (Exception)
 48                     {
 49                         Distroy();
 50                         break;
 51                     }
 52 
 53                 }
 54                 sendManual.Reset();
 55             }
 56         });
 57         sendThread.IsBackground = true;
 58         sendThread.Start();
 59     }
 60     /// <summary>
 61     /// 
 62     /// </summary>
 63     public SocketError SocketError
 64     {
 65         get
 66         {
 67             return socketError;
 68         }
 69     }
 70     /// <summary>
 71     /// 
 72     /// </summary>
 73     /// <param name="data"></param>
 74     public void SetData(byte[] data)
 75     {
 76         if (this.socketError != SocketError.Success)
 77         {
 78             return;
 79         }
 80         if (type == BufferType.Head && headStream.Length == 40)
 81         {
 82             sendData = headStream;
 83             type = BufferType.Body;
 84         }
 85         else
 86         {
 87             sendData = data;
 88         }
 89         sendManual.Set();
 90     }
 91     /// <summary>
 92     /// 銷毀Client對象,釋放資源
 93     /// </summary>
 94     private void Distroy()
 95     {
 96         this.sendThread.Abort();
 97         this.socket.Shutdown(SocketShutdown.Both);
 98         this.socket.Dispose();
 99         this.socketError = SocketError.ConnectionRefused;
100     }
101 }
102 
103 enum BufferType
104 {
105     Head, Body
106 }

ClientClass

簡要說明一下,因為中轉服務的一直處于大量連接數據的發送過程中,所以在Client的構造函數中為每一個實例開了一個本地線程作為數據發送的處理線程,而不是使用線程池來做處理。另外,使用ManualResetEvent實例作為信號量來控制Client實例在發送數據時是按照Server實例從設備采集的數據的順序來一條一條發送的,這樣避免了由于數據流混亂造成的客戶端解碼時出現解碼錯誤或者跳幀等現象。

好了,視頻中轉服務器端的程序已經開發出來了,接下來要做的就是做一個Web插件來接收服務端的數據并解碼播放,這些內容留作下一篇內容。敬請關注!

總結

以上是生活随笔為你收集整理的海康威视频监控设备Web查看系统(二):服务器篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文高清av | 国产精品日韩久久久久 | 成人免费观看网址 | 色综合在 | 黄色av在 | 九色porny真实丨国产18 | 亚洲精品美女在线观看 | 日本久久久久久科技有限公司 | 精品视频免费看 | 国产 中文 日韩 欧美 | 首页av在线| 日韩一区二区三免费高清在线观看 | 在线视频免费观看 | 久草精品在线观看 | 在线免费黄色毛片 | 区一区二区三区中文字幕 | 免费在线观看一区二区三区 | 开心色婷婷 | 日本xxxx.com| 日日爱影视| 亚洲成av人片在线观看www | 97超碰资源网 | 99视频在线免费观看 | 国产一二三区在线观看 | 射射射综合网 | 91av蜜桃 | 99精品在线看 | 日韩大片免费观看 | 香蕉视频网址 | 国产在线国偷精品产拍免费yy | 色婷婷99| 日韩在线网址 | 人人舔人人舔 | 草免费视频 | 久一在线 | 日日夜夜天天综合 | 在线观看视频在线 | 一区二区三区免费在线观看视频 | 九色在线 | 日韩在线观看影院 | 久久精品视频在线播放 | 亚洲欧美精品在线 | 国产第页 | 成年美女黄网站色大片免费看 | 亚洲成人午夜av | 97香蕉久久国产在线观看 | 国产精品美女久久久久久久久 | 亚洲精品视频第一页 | 中文字幕在线观看免费观看 | 97在线观看免费视频 | 欧美日韩久久不卡 | 国产不卡免费 | 日韩城人在线 | www一起操| 又粗又长又大又爽又黄少妇毛片 | 成人免费观看av | 婷婷色综合 | 日韩av网页 | 亚洲精品美女在线观看 | 欧美日韩国产色综合一二三四 | 日韩最新av | 国产涩涩在线观看 | 激情婷婷综合网 | 99精品免费在线 | 亚洲精品婷婷 | 欧美一级日韩三级 | 亚洲综合精品视频 | 高清不卡毛片 | 国产极品尤物在线 | 久久精品—区二区三区 | 黄色毛片观看 | 欧美日韩在线精品一区二区 | 96视频免费在线观看 | 69亚洲精品| 日韩中文字幕免费视频 | 亚洲黄电影 | 国产黄在线免费观看 | 国产高清不卡在线 | 91av电影网| 免费观看成人网 | 最近高清中文字幕在线国语5 | 深夜免费福利视频 | 国产精品人成电影在线观看 | 国产小视频国产精品 | 在线看v片| 黄a在线看 | 少妇性bbb搡bbb爽爽爽欧美 | 国产精品久久久久久久毛片 | 日本成人中文字幕在线观看 | 久久久久在线视频 | 97超碰免费在线 | 中文字幕三区 | 日韩丝袜视频 | 一区二三国产 | 久久亚洲影院 | 激情五月激情综合网 | 中文在线字幕免费观看 | 天天综合网入口 | 国产成人一区二区精品非洲 | 国产精品精 | 天天操夜夜爱 | 在线观看黄色免费视频 | 国产精品私人影院 | 在线免费观看的av | 久草网在线视频 | 一区二区三区在线免费 | 深夜福利视频在线观看 | 最新av网址在线 | 亚洲www天堂com | 一区二区三区免费在线播放 | 亚洲欧洲日韩 | 久久综合久久综合这里只有精品 | 日本黄区免费视频观看 | 操操综合网 | 九九热免费精品视频 | 国产视频一区二区在线观看 | 狠狠干美女 | 精品少妇一区二区三区在线 | 成人黄色电影在线播放 | 久草www | 国产一区二区不卡视频 | 国产色中涩 | 日韩一级网站 | 免费三级a| 亚洲人成影院在线 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 国产精品精品 | 一区二区三区在线影院 | 国产精品理论片在线观看 | 中文字幕丝袜一区二区 | 国产成人精品午夜在线播放 | 999精品视频 | av在观看 | 波多野结衣视频在线 | 午夜影视剧场 | 久久 在线 | 国产伦精品一区二区三区在线 | 国产成人精品一区二区在线观看 | 丁香花在线视频观看免费 | 久久久久女人精品毛片九一 | 国产精品 中文在线 | 国产理论免费 | 色视频国产直接看 | 日韩在线电影观看 | 国产馆在线播放 | 亚洲一区二区三区miaa149 | 欧美精品在线一区二区 | 国产黄色片免费在线观看 | 99精品国产一区二区 | 五月天久久久久 | 日韩二三区 | 在线免费亚洲 | 国产精品福利在线观看 | 国产精品嫩草影院99网站 | 一 级 黄 色 片免费看的 | 伊人久久国产精品 | 日本h在线播放 | 欧美一级电影 | 国产又黄又爽无遮挡 | 国产精品1区2区3区 久久免费视频7 | 99视频精品 | 激情综合啪 | 国产美女久久久 | 五月天婷婷在线观看视频 | 免费看的av片 | 亚洲成人av片 | 91精品国产成人www | 亚洲欧洲日韩 | 亚洲视频 一区 | 日韩三级一区 | 天天射天天操天天干 | 天天草天天色 | 狠狠色狠狠综合久久 | 91久久国产综合精品女同国语 | 在线观看一区二区精品 | 午夜精品99久久免费 | 欧美男同网站 | 国产成人一区二区三区 | 三级免费黄色 | 成人午夜精品福利免费 | 国产高清久久久 | 国产中文字幕视频在线观看 | 欧美亚洲精品一区 | 亚洲成人一二三 | 日韩免费看片 | 香蕉视频在线播放 | 欧美久久久久久久久中文字幕 | 久久涩视频| av在线不卡观看 | www.黄色| 久久久久久久看片 | 日韩有码欧美 | 97国产精品一区二区 | 久草在线最新 | 天天摸天天操天天爽 | 免费观看成年人视频 | 免费黄色av电影 | 在线 国产一区 | 国产精品久久久久久爽爽爽 | 在线中文字幕播放 | 黄色a一级视频 | 国产视频欧美视频 | 香蕉视频导航 | 午夜精选视频 | 亚洲精欧美一区二区精品 | 韩日精品在线观看 | 久久精品艹 | 97在线观看免费高清完整版在线观看 | 人人澡人人澡人人 | 国产日韩欧美网站 | 最近高清中文字幕在线国语5 | 人人爽人人澡 | 日本精品免费看 | 欧美激精品 | 亚洲视频456 | 久久视频免费看 | 久久激情视频 久久 | 久久成人亚洲欧美电影 | 免费日韩 精品中文字幕视频在线 | 欧美午夜理伦三级在线观看 | 日韩免费在线网站 | 色视频一区 | 久久撸在线视频 | 亚洲艳情| 欧美日韩国产在线观看 | 国产不卡在线 | 99精品国产福利在线观看免费 | 亚洲涩涩网站 | 国产激情小视频在线观看 | 狠狠狠色狠狠色综合 | 日精品| 五月天综合网站 | 中文字幕久久精品亚洲乱码 | 丁香视频在线观看 | 国产亚洲欧美精品久久久久久 | 五月婷婷香蕉 | 精品一区二区6 | 伊人婷婷 | 亚洲理论片 | 一本一道久久a久久精品 | 久久男女视频 | 精品久久综合 | 在线观看日韩中文字幕 | 国产无套精品久久久久久 | 欧美日韩一区二区视频在线观看 | 手机av片 | 黄网站色 | 一级片在线 | 欧美性粗大hdvideo | 欧美成人999 | 超碰免费观看 | 中文字幕在线国产 | 国产精品高潮呻吟久久av无 | 国产精品久久久久久久久久久免费看 | 精品国产一区二区三区av性色 | 国产高清综合 | 久久精品视频在线看 | 一级黄色大片在线观看 | 国产一区二区播放 | 黄色av成人在线观看 | www.久久成人 | 久久免费在线观看 | 国产精品igao视频网入口 | 免费成人av| 在线免费观看视频a | 久久免费精品视频 | 成人黄色在线 | 丁香五婷 | 五月婷婷激情六月 | 黄色小网站在线 | 午夜视频在线观看网站 | 日本在线视频一区二区三区 | 天天草天天草 | www国产一区 | 午夜123| 国产a视频免费观看 | 久精品在线观看 | 在线观看日本高清mv视频 | 在线免费高清视频 | 国内精品在线观看视频 | 一级黄色大片在线观看 | 色综合天天天天做夜夜夜夜做 | 亚洲激情在线观看 | 国产黄在线免费观看 | 成人免费xxx在线观看 | 狂野欧美激情性xxxx欧美 | 成人在线网站观看 | 国产成人精品一区二区在线观看 | 欧美天天射 | 久久精品亚洲精品国产欧美 | 亚洲日本精品 | 亚洲人毛片 | 在线观看视频一区二区三区 | 欧美激情视频一二三区 | 国产精品久久9 | 成人精品国产免费网站 | 亚洲色图激情文学 | 欧美日韩在线网站 | 欧美少妇的秘密 | 日日骑 | 一本色道久久综合亚洲二区三区 | 久久久久一区二区三区 | 久久午夜国产精品 | av黄色在线播放 | 色wwwww| 成人免费观看电影 | 国产在线无 | 久久69精品| 最近中文字幕免费观看 | 免费在线日韩 | 亚洲一区二区三区毛片 | 亚洲精品免费在线视频 | 午夜久久成人 | 亚洲最新av在线 | 日日添夜夜添 | 国产片网站 | 午夜精品久久久久久久久久久 | 午夜国产在线 | 国产最新视频在线观看 | 日本精品久久久久影院 | 九九免费在线看完整版 | 精品免费久久 | 亚洲激情 | 国产精品久久久久久婷婷天堂 | 欧美高清成人 | 国产成人333kkk | 精品1区二区| 久久久久久久久久久久av | 日韩有码中文字幕在线 | 久久综合五月 | 五月天丁香综合 | 欧美精品二 | 亚洲视频 一区 | 亚洲日本激情 | 色香网 | 国产麻豆精品一区二区 | 成人午夜电影网站 | 国产成人一区二区三区在线观看 | 日韩激情网| 日韩欧美网站 | 国产高清综合 | 欧美日韩久久一区 | avhd高清在线谜片 | 久久五月婷婷丁香 | 97在线免费观看 | 国产精品久久久久久久午夜 | 视频三区在线 | 91视频免费网址 | 亚洲精品国久久99热 | 久草香蕉在线视频 | 黄色免费观看网址 | 天天插综合 | 人人玩人人弄 | 96视频免费在线观看 | 国产福利中文字幕 | 国产精品视频永久免费播放 | 日韩欧美国产精品 | 在线视频中文字幕一区 | 天堂在线免费视频 | 超碰在线中文字幕 | 国产精品综合久久久久久 | 91免费网| 国产福利一区在线观看 | 国产黄色片免费观看 | 国产一区欧美二区 | 在线视频欧美日韩 | 亚洲午夜大片 | 狠狠色丁香久久婷婷综合丁香 | 国产精品手机视频 | 精品不卡av | 成人福利在线观看 | 日韩精品一区二区三区第95 | 欧美最爽乱淫视频播放 | 射射射av| aaa日本高清在线播放免费观看 | 精品国产一区二区三区久久影院 | 黄色软件视频大全免费下载 | 亚洲激情小视频 | 欧美aaaxxxx做受视频 | 日一日操一操 | 黄色国产精品 | 国产午夜精品久久久久久久久久 | 亚洲理论在线 | 欧美精品一区二区性色 | 色姑娘综合 | av中文资源在线 | 色在线国产 | 久久久久久久久电影 | 亚a在线 | 国产成人在线播放 | 五月天久久精品 | 国产午夜视频在线观看 | 久久久免费视频播放 | 欧美精品久久久久久久亚洲调教 | 深夜免费福利在线 | 中文av免费 | av东方在线 | 五月婷婷丁香网 | 在线一二区 | 日韩av一区二区在线影视 | 免费视频国产 | 综合av在线 | 欧美日韩另类在线 | 国产精品久久久久一区二区国产 | 久久撸在线视频 | 黄色网中文字幕 | 亚洲第一中文网 | 日韩久久精品一区二区三区 | 国产 欧美 在线 | 久热av | 久久综合久色欧美综合狠狠 | 久草成人在线 | 免费看亚洲毛片 | 日韩欧美一区二区在线 | 久久国内免费视频 | 在线观看久 | 黄色小说网站在线 | 人人爽人人爽人人片av | 一区二区三区三区在线 | 亚洲aⅴ在线观看 | 99免费视频 | 国产专区精品 | 欧美动漫一区二区三区 | 成人精品久久 | 天堂av网址 | 国产麻豆传媒 | 久久综合狠狠综合久久狠狠色综合 | 国产精品久一 | 在线视频观看你懂的 | 国产精品成人在线 | 在线影院中文字幕 | 亚洲1区 在线 | av一级片在线观看 | 久久www免费视频 | 国产第一页福利影院 | 色av色av色av | 日韩午夜小视频 | 久久精品欧美 | 97av.com| 久久国产精品视频观看 | 国产精品亚洲人在线观看 | av观看在线观看 | www天天操| 超碰在线91 | 久草免费资源 | 精品视频成人 | 黄色成人av| 99视频在线免费播放 | 手机在线视频福利 | 日韩高清激情 | 欧美日韩视频一区二区 | 中文字幕区 | 色综合久| 国产高清免费在线观看 | 91亚洲国产成人 | 最新av网址在线 | 四虎成人精品永久免费av | 成 人 黄 色 免费播放 | 永久黄网站色视频免费观看w | 久久久久久97三级 | 久久国产精品视频观看 | 精品久久久久国产免费第一页 | 一本一道久久a久久精品蜜桃 | 欧美激情综合色综合啪啪五月 | 黄网在线免费观看 | 五月婷婷综合在线观看 | 国产精品久久久久一区二区三区共 | 久久精国产 | 亚洲精品中文在线观看 | 去看片| 99在线观看免费视频精品观看 | 91免费网站在线观看 | 美女啪啪图片 | 97成人在线 | 欧美一区二区日韩一区二区 | 亚洲婷婷免费 | 中文字幕最新精品 | 夜夜爱av | 日本一区二区免费在线观看 | 日韩视频欧美视频 | 日本精品视频免费 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久精品久久精品久久精品 | 九九热在线观看 | 中文字幕视频播放 | 国产精品久久久久久久妇 | 九九热免费精品视频 | 国色天香在线观看 | 91成人精品观看 | 天天射一射 | 久久久久久久久毛片精品 | 在线观看视频你懂的 | 国产在线1区 | 欧美一二三四在线 | 一区精品在线 | 人人狠 | 国产亚洲精品久久久久久移动网络 | 久久久久久久久久久久av | 蜜臀91丨九色丨蝌蚪老版 | 91精品国产乱码在线观看 | 免费一级片在线观看 | 中文字幕在线一二 | 欧美日韩一区二区免费在线观看 | 国内精品中文字幕 | 91av免费在线观看 | 免费91麻豆精品国产自产在线观看 | 欧美久久久久久久久久久 | 黄色网在线免费观看 | 久久午夜精品 | 天天干天天拍 | 精品国产伦一区二区三区 | 超碰人人草 | 亚色视频在线观看 | 在线观看亚洲电影 | 日韩久久久久久久久久久久 | 日本黄色大片免费看 | 性色大片在线观看 | 亚洲国产日韩精品 | 91精品国产三级a在线观看 | 国产99久久久久久免费看 | 黄污网站在线 | 成人av在线一区二区 | 色福利网站 | 亚洲高清在线观看视频 | 91在线看免费 | 国产日韩在线观看一区 | 深爱激情五月网 | 免费看片网站91 | 免费v片 | 欧美婷婷综合 | zzijzzij亚洲日本少妇熟睡 | 在线观看成人毛片 | 日韩av一区二区三区四区 | 国产精品一区二区三区免费看 | 色午夜影院| 久久超碰在线 | 国产精品99久久免费黑人 | 亚洲黄色激情小说 | 国产在线精| 国产黄色片免费 | 成人免费网站视频 | 深爱激情站 | 色综合天天综合网国产成人网 | 成年性视频 | 精品在线观看国产 | 国产精品免费久久久久影院仙踪林 | 国产亚洲精品免费 | 九九九九热精品免费视频点播观看 | 国产区免费在线 | 91男人影院| 超碰在线最新地址 | 国产色一区 | 日韩av片免费在线观看 | 欧美日韩一区二区在线 | 麻豆精品91| 成人午夜剧场在线观看 | 久久婷婷精品视频 | 欧美网站黄色 | 日韩在线观看免费 | 国产色视频一区 | 婷婷四房综合激情五月 | 精品亚洲免费 | 天天爽天天爽天天爽 | 国产在线观看免费观看 | 久久99国产精品久久 | 日韩精品欧美专区 | 日本精品一区二区三区在线播放视频 | 毛片网站在线看 | 国产不卡视频在线播放 | 欧美激情h | 在线免费av观看 | 日韩理论片在线 | 一区二区三区在线观看免费视频 | 毛片网站免费 | 中文国产成人精品久久一 | 欧美日韩国产一区 | 黄色精品一区 | 国产美女精品人人做人人爽 | 在线观看成人小视频 | 91成人在线观看高潮 | 亚洲精品网站在线 | 天天玩夜夜操 | 69av在线播放 | 久精品在线| 日韩国产在线观看 | 九九久久婷婷 | 中文字幕亚洲在线观看 | 久福利| 国产激情免费 | 99免费在线观看视频 | 久草在线欧美 | 超碰在线97免费 | 天堂av高清 | 亚洲午夜精品电影 | 玖玖精品在线 | www五月天com | 国产又粗又猛又黄 | 国产一区二区电影在线观看 | 黄色网址中文字幕 | 五月婷婷综合在线观看 | 欧美日韩中文国产一区发布 | 深爱开心激情 | 日韩三级精品 | 在线播放国产一区二区三区 | 婷婷色在线观看 | 狠狠操综合网 | www.天天干| 婷色| 91污在线| 免费黄色在线网站 | 精品国产色 | 日韩专区av | 天天色棕合合合合合合 | 亚洲精品欧美精品 | 99国内精品久久久久久久 | 久久精品79国产精品 | 亚洲午夜精品一区二区三区电影院 | 久久久精品国产一区二区 | 黄色免费网站 | 天天做日日做天天爽视频免费 | 91av成人 | 久久xxxx | 天天操天天射天天爱 | 成年人黄色av | 少妇性xxx| 日日干夜夜操视频 | 粉嫩av一区二区三区四区在线观看 | 免费观看性生交大片3 | 免费在线观看视频a | 成人免费xxxxxx视频 | 国产91在线看 | 午夜精品久久久久久久久久久 | 色视频在线免费观看 | 久久国产麻豆 | 亚洲激情小视频 | 99精彩视频 | 一区二区伦理电影 | av一区二区在线观看中文字幕 | 97精品国自产拍在线观看 | 九九九九九精品 | 国产亚洲免费观看 | 欧美精品一区二区免费 | 亚洲精品视频在线观看网站 | 国产vs久久 | 国产流白浆高潮在线观看 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品一级在线 | 91精品国产成 | 91福利免费 | 国产1区2区3区精品美女 | 91福利社在线观看 | 色综合久久久久久中文网 | 国内精品久久久久影院优 | 精品一区二区三区香蕉蜜桃 | 亚洲国产精品成人女人久久 | 奇米影视777四色米奇影院 | 视频 天天草 | 在线视频91| 成人午夜在线观看 | 免费黄色网址大全 | 国产精品免费久久 | 九九久久精品视频 | 成年人在线免费看视频 | 亚洲精品免费在线观看 | 黄色app网站在线观看 | 久久综合五月天 | 国产福利免费在线观看 | 一级性生活片 | av在线播放亚洲 | 中文字幕在线观看视频免费 | 国产精品一区二区麻豆 | 亚洲国内在线 | 西西44人体做爰大胆视频 | 一本之道乱码区 | 国产日韩欧美在线观看 | 97色婷婷成人综合在线观看 | 久久国产午夜精品理论片最新版本 | 国产电影黄色av | 国产精品白浆视频 | 国产九九九视频 | 中文字幕亚洲不卡 | 99精品福利 | 亚洲精品视频在线观看免费 | 精品理论片 | 久草爱视频| 国产一区影院 | 国产在线观看免费 | 国内外成人免费在线视频 | 九草视频在线观看 | 婷婷av网 | 天天色播 | 国产亚洲情侣一区二区无 | 国产一级精品在线观看 | 亚洲成av人影片在线观看 | 999国产在线 | 久久国产精品网站 | 在线亚洲成人 | 亚洲视频axxx | 在线观看日本高清mv视频 | 激情喷水 | 综合网在线视频 | 免费视频一级片 | 成人午夜电影免费在线观看 | 亚洲91在线 | 又黄又爽的免费高潮视频 | 久久免费视频一区 | 久久欧美精品 | av福利电影 | 97综合视频 | 久久久国产精品网站 | 日韩欧美电影在线观看 | 久久字幕 | 丁香六月网 | 国产毛片久久久 | 免费男女羞羞的视频网站中文字幕 | 亚洲视频电影在线 | 麻豆精品传媒视频 | 久久成人毛片 | 日韩午夜大片 | 99精品视频在线观看 | 2021久久| 久久久鲁 | 国产精品久久免费看 | 91精品久| 91精品啪啪| 亚洲精品99久久久久久 | 日本 在线 视频 中文 有码 | 五月婷婷一区二区三区 | 日日干夜夜干 | 99国内精品 | 中文字幕在线资源 | 国产一级视频免费看 | 一本一本久久aa综合精品 | 成 人 a v天堂 | 国产在线免费 | a视频在线播放 | 在线成人免费 | 天天曰夜夜操 | 国产精品久99 | 亚洲第一久久久 | 久久久久国产成人精品亚洲午夜 | 亚洲精品视频在线观看视频 | 中文字幕一区二区三区四区在线视频 | 国产精品视频免费在线观看 | 人人干狠狠干 | 成人免费在线观看av | 综合激情网... | 五月天久久精品 | 日韩欧美99| 亚洲美女免费精品视频在线观看 | 日韩成人在线免费观看 | 97在线观 | 91成人在线视频 | 日韩啪啪小视频 | 亚洲在线视频免费 | 天天干天天拍天天操天天拍 | 天天玩天天干 | 亚洲在线成人精品 | 天天操欧美 | 成人在线视频观看 | 国产精品一区二区三区免费视频 | 久久综合日 | 91理论电影| 久久久久国产精品www | 国产一级淫片在线观看 | 免费在线激情电影 | 成人91av| 亚洲h在线播放在线观看h | 日韩欧美电影 | 在线韩国电影免费观影完整版 | 狠狠色狠狠色合久久伊人 | 99成人精品 | 国产不卡在线看 | 欧美精品中文在线免费观看 | 97超碰在线播放 | 蜜臀久久99精品久久久无需会员 | 三级动态视频在线观看 | 国产精品免费av | 高清一区二区三区 | 色5月婷婷| 久久免费视频一区 | 黄色免费观看视频 | 成人一级免费电影 | 国色天香在线 | 国产一级在线免费观看 | 亚洲最大的av网站 | 日韩在线高清 | 国产99精品| 色中文字幕在线观看 | 午夜视频色 | 日批网站免费观看 | 97理论片 | 久久精品网站免费观看 | 久久久免费观看视频 | 91视频在线国产 | 在线激情网 | 欧美日韩国产综合一区二区 | 成人小视频在线 | 中文字幕观看在线 | 国产一区网址 | 激情综合网天天干 | 人人看人人做人人澡 | 国产国产人免费人成免费视频 | 国产一级免费观看视频 | 一区二区丝袜 | 最近免费中文视频 | 免费韩国av | 91自拍91 | 国产精品12 | 日韩深夜在线观看 | 欧洲性视频 | 97精品国产97久久久久久久久久久久 | 欧美日韩在线视频免费 | 69国产盗摄一区二区三区五区 | 97色狠狠 | 欧美亚洲专区 | 成年人黄色免费视频 | 国产不卡片 | 久久99国产一区二区三区 | 国产91精品欧美 | 日韩免费视频播放 | 九九亚洲精品 | 日韩欧美v | 日本黄色免费在线观看 | 免费日韩一区二区三区 | 婷婷成人在线 | 日日夜夜天天操 | 亚洲国内在线 | 丁香婷婷电影 | 国产精品美女久久久久aⅴ 干干夜夜 | 在线观看国产www | 91久久黄色 | 亚洲精品国内 | 日韩欧美在线第一页 | 久久免费视频一区 | 国产午夜一区 | 国产小视频在线免费观看视频 | 国产经典av| 99在线高清视频在线播放 | 区一区二区三区中文字幕 | 欧洲一区二区三区精品 | 国产一区二区电影在线观看 | 久久伊人91| 黄色特级毛片 | 91在线资源 | 久久精品这里精品 | 久久久亚洲国产精品麻豆综合天堂 | 丁香花在线观看视频在线 | 久久精视频 | 国产精品久久久久永久免费观看 | 日韩激情在线 | 最新午夜电影 | 91在线资源| 狠色在线 | 亚洲精品午夜国产va久久成人 | 日日夜夜狠狠操 | 国产精品18久久久久久不卡孕妇 | 福利一区二区 | 亚洲成人精品久久 | 欧美性生活免费看 | 日韩区在线观看 | 国产黄视频在线观看 | 91av在线视频免费观看 | 国产精品网址在线观看 | 国产精品日韩欧美一区二区 | 国产伦精品一区二区三区照片91 | www.夜夜爽| 波多野结衣久久精品 | 欧美国产日韩一区 | 黄网站色视频免费观看 | 国产视频日韩视频欧美视频 | 国产精品久久久久久久久久久久久久 | av综合av | 亚洲mv大片欧洲mv大片免费 | 免费一级片视频 | 久草在线视频国产 | 国内精品国产三级国产aⅴ久 | 婷婷色吧 | 在线观看精品视频 | 欧美一级特黄aaaaaa大片在线观看 | www.久久视频 | 中文乱码视频在线观看 | 国产电影一区二区三区四区 | 日韩在线激情 | 免费观看日韩av | 国产丝袜一区二区三区 | 91漂亮少妇露脸在线播放 | 免费成人av电影 | 久久在线视频精品 | 成人一区电影 | 91成人免费看片 | 精品久久一 | 日韩欧美69| 99爱国产精品 | 狠狠插狠狠干 | 日韩精品免费专区 | 五月婷婷欧美视频 | 久久影院精品 | 91爱爱网址 | 国产高清中文字幕 | 日本在线观看一区 | 日韩城人在线 | 午夜国产福利在线观看 | 不卡的av电影在线观看 | 国产精品国内免费一区二区三区 | 国产精品一区二区久久精品 | 国产精品 日本 | 国产精品人人做人人爽人人添 | 久免费 | 黄色aaa级片 | 成人三级av | 精品极品在线 | 亚洲精品国偷自产在线99热 | 欧美日韩视频观看 | 4p变态网欧美系列 | 91免费高清在线观看 | 成人cosplay福利网站 | 麻豆视频免费在线播放 | 欧美午夜性生活 | 日韩艹| 最新中文字幕在线播放 | 亚洲电影图片小说 | 中文字幕第一页在线 | 久草在线免费色站 | 91日韩精品视频 | 久久午夜视频 | 免费黄色在线 | 五月天亚洲婷婷 | 精品自拍av | 久久亚洲国产精品 | 久久只有精品 | 激情久久伊人 | 国产精品免费看久久久8精臀av | 免费看国产视频 | 麻豆视频大全 | 91精品久久久久久久久 | 午夜久久久影院 | 亚洲黑丝少妇 | 在线观看日韩av | 久久久久国产精品免费免费搜索 | 久久国产精品二国产精品中国洋人 | 欧美久久久久久 | 日韩亚洲国产中文字幕 | 国产精品国产三级国产不产一地 | 在线性视频日韩欧美 | 欧美另类交人妖 | 婷婷丁香六月天 | 天天激情天天干 | av色网站| 亚洲精品大片www | 美腿丝袜一区二区三区 | 亚洲高清在线观看视频 | 91久久精品一区二区二区 | 狠狠色噜噜狠狠 | 亚洲一区动漫 | 国产成人精品一区二区三区 | 成人午夜黄色 | 日韩理论片在线观看 | 四虎影视成人精品 | 中文字幕国内精品 | 欧美一级片免费在线观看 | 亚洲日本精品 | 日本精品久久 | 日韩精品视频免费在线观看 | 夜夜夜夜爽| 成人三级黄色 | 国产精品久久久久久模特 | 黄色成人av在线 | 欧美成人性网 | 涩涩网站在线播放 | 日日干av | 香蕉视频啪啪 | 99精品视频在线 | 91麻豆视频网站 | 麻豆视频在线免费看 | 日本精品在线看 | 中文在线8新资源库 | 在线成人小视频 | 九九九在线 | 日本h视频在线观看 | 在线国产欧美 | 特黄一级毛片 | 久草在线看片 | 久久99国产一区二区三区 | 黄网站免费久久 | 欧洲成人av | 91成人网在线 | 超碰成人av | 日韩高清dvd | 丁香婷婷激情网 | 国产专区日韩专区 | 最新av电影网站 | 国产色拍拍拍拍在线精品 | 成人资源在线播放 | 日韩一级片观看 | 亚洲精品免费在线观看视频 | www.久久婷婷 | 欧美一级特黄高清视频 |