青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

socketref,再見!高德

https://github.com/adoggie

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用鏈接

留言簿(54)

我參與的團(tuán)隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

#

一直以來都是用自己編寫的地圖渲染引擎,客戶端使用openscales做應(yīng)用展示,支持pc,android,iphone
已經(jīng)實現(xiàn)了多個版本的地圖數(shù)據(jù)處理,包括 高德數(shù)據(jù)、四維數(shù)據(jù)從shp編譯成物理格式供渲染服務(wù)使用,這個過程復(fù)雜且費事
比較了mapabc的地圖,作為成熟的商業(yè)公司的產(chǎn)品,當(dāng)然團(tuán)隊多年積累的東西定是我一個人做的不能比擬的,渲染方面在大比例顯示處理的比自己好很多,主要自己沒有過多時間投入進(jìn)去,在做完自己的地圖版本之后(sw2us.com/gps)考慮接入高德web地圖(sw2us.com/newgps)

以下對mapabc使用的經(jīng)驗有感
我的應(yīng)用采用flex技術(shù),之前自己的地圖加載采用opensacles,到mapabc了便要換成高德的展示客戶端了

高德發(fā)布的最新flex sdk 2.4版本,可以訪問 code.mapabc.com,搞笑的是網(wǎng)站的鏈接缺只能下載2.3.3版本的sdk
高德官網(wǎng)的很多支持方式比較滑稽,根本不能提供任何幫助,QQ討論區(qū)每一個能加入的;bbs論壇根本沒人維護(hù),回答問題沒有解答,這方面做的還是比較差的。
花了2天便完成了地圖遷移工作,還是主要是我的應(yīng)用簡單的緣故吧!
mapabc的api分公眾版本和企業(yè)版本,兩個版本差異很大,曾經(jīng)以客戶名義聯(lián)系高德銷售,提供給我的一份sdk文檔與官網(wǎng)的文檔版本和內(nèi)容差異很大,公眾版本除了能顯示基礎(chǔ)底圖之外,基本不具備其他令我滿意的設(shè)施,提供的api也不敬人意。在我遷移openscales代碼為高德sdk時碰到了很多問題。

--公眾版不具有g(shù)ps到map坐標(biāo)的轉(zhuǎn)換功能
--不具有地址解析功能(gps到文本地址),不能使用poi檢索功能
--訪問次數(shù)限制
--顯示層級限制,不能更小的比例尺顯示
--高德sdk 很多組件采用flash開發(fā)的,所以不能通過flex繼承圖來檢索組件的功能和接口,sdk提供的overlay對象居然沒有g(shù)etBounds()方法,在處理多個overlap時檢測相交不方便
--沒有l(wèi)ayers概念
openscales更像一個gis專業(yè)的客戶地圖展示程序,且隨意修改,支持air,我已經(jīng)部署到iphone和android環(huán)境,而高德flex sdk更像一個玩具,一個非專業(yè)者使用的玩意兒,某些接口簡單但不夠靈活,且代碼封閉
高德現(xiàn)在成為apple在大陸的地圖數(shù)據(jù)供應(yīng)商了,google也許會另擇圖商,也許是四維。apple當(dāng)然會以3d地圖領(lǐng)航者的角色刮起新的地圖應(yīng)用旋風(fēng),大家都跟著學(xué)吧
等我的地圖渲染優(yōu)化好之后還是會放棄高德的sdk改用自己的地圖技術(shù),當(dāng)然那些需要付費的功能自己去實現(xiàn)嘍,3d是趨勢,不能讓自己落后了



posted @ 2012-07-07 00:51 放屁阿狗 閱讀(2083) | 評論 (0)編輯 收藏

全格Gps2012監(jiān)控系統(tǒng)
我們是上海全格信息科技公司,我們的團(tuán)隊以Gis位置服務(wù)系統(tǒng)為方向,多年來積累開發(fā)了多套Gps定位系統(tǒng)等核心產(chǎn)品,且擁有所有的技術(shù)能力和版權(quán)。
目前我們正在尋找合作伙伴,我們可以提供系統(tǒng)平臺服務(wù)且我們的強項也在于此,也可以做gps運維服務(wù)。
如果您用的系統(tǒng)也是同深圳那么多Gps廠家共用的一套系統(tǒng)的話,您可以看看我們的系統(tǒng),參考一下優(yōu)缺點。
>我們是掌握最新Gis應(yīng)用服務(wù)的技術(shù)開發(fā)團(tuán)隊
>我們擁有非常豐富的Gis開發(fā)、應(yīng)用、實施的經(jīng)驗和專業(yè)的精神
>我們提供.靈活的可配置、擴展的系統(tǒng)平臺,根據(jù)客戶需求而定制功能,包括:界面、操作接口、報表或者整合客戶的業(yè)務(wù)
>我們擁有自主的地圖平臺,提供B/S模式,不采用google,baidu等互聯(lián)網(wǎng)地圖,不采用geoserver等開源的地圖,完全我們自己開發(fā)的地圖引擎,速度快,效率高,設(shè)備運行要求低、靈活可擴展
>我們的監(jiān)控系統(tǒng)采用flex技術(shù),監(jiān)控位置和報警完全實時,服務(wù)器主動推送gps信息到瀏覽器端,這一點是非flex技術(shù)絕不能做到的,所以設(shè)備運行狀態(tài)實現(xiàn)零延時 
>我們的系統(tǒng)監(jiān)控終端除了支持pc瀏覽器,還支持 android,iphone等移動終端訪問控制,可進(jìn)行手機設(shè)防、監(jiān)控軌跡、報警配置等功能,可通過app store和android市場下載安裝
>我們的有5年的Gps監(jiān)控運營開發(fā)的經(jīng)驗,系統(tǒng)設(shè)計容量達(dá)2w臺終端設(shè)備,與多個公司合作OEM我們的系統(tǒng)和終端產(chǎn)品
~如果您想做Gps監(jiān)控或者運營,也許您是個人或者是公司老板
~如果您需要更靈活、可控、安全、穩(wěn)定的GPS監(jiān)控系統(tǒng)
~如果您的需求規(guī)劃是低成本的
~如果您需要部署一整套Gps服務(wù)平臺在自己的環(huán)境中,而不是又去代理使用他人的Gps運營平臺或者不想花巨資采用 mapabc,mapbar之類的系統(tǒng)
。。。。。
您可以考慮我們的技術(shù)方案,我們可以以最優(yōu)質(zhì)的服務(wù)、最先進(jìn)的技術(shù)、最靈活的合作模式與您實現(xiàn)共贏
請訪問我們的網(wǎng)站: www.sw2us.com      
Gps系統(tǒng)訪問地址: www.sw2us.com/gps
---------------------------------------------------------------------------------------------
上海全格信息科技有限公司
Shanghai Triangle Info Tech Co,Ltd. 
地址: 上海市閔行區(qū)立躍路2897號1幢302室  郵編: 201114 
電話:  86-021-34680553     傳真:  86-021-64296802         郵件: service@sw2us.com
移動電話:  13661913244     網(wǎng)址:  http://www.sw2us.com    QQ: 2536588583@qq.com
---------------------------------------------------------------------------------------------
posted @ 2012-06-30 01:24 放屁阿狗 閱讀(733) | 評論 (0)編輯 收藏

一直使用openscales 1.2.1版本開發(fā)webapp,在瀏覽器顯示地圖層,沒有問題
最近想把應(yīng)用改到air下跑地圖顯示,結(jié)果死活地圖無法加載成功,同樣的代碼,
    <Map id="fxMap" width="400" height="300" resolution="0.001911274412400001"
         center="121.22,31.3" x="51" y="70" >
        <WMSC name="Nasa"
              layers="bluemarble" format="image/jpeg"  version="1.1.1"  url="http://sw2us.com:8001/wms"/>
        <DragHandler/>
        <WheelHandler/>
    </Map>
以上代碼webapp方式可以顯示地圖,但改成air方式不行
以為1.2.1的bug,所以改換openscales的2.0版本,
惡夢來了,2.0與1.2.1版本api變化非常巨大,基本上以前些的代碼都要作廢掉,坑爹啊
耐著性子,看了網(wǎng)上的2.0的api,做了test程序,發(fā)現(xiàn)wmsc地圖還是只能顯示在webapp模式下,air還是不行,肯定我哪里沒有琢磨清楚了的緣故。
不過還好,flex builder4.6下開發(fā)mobile應(yīng)用沒有選擇air的提示,直接把wmsc加載成功,phone和android上可以顯示出地圖來,比較暗自高興,
air的其中緣故還得把openscales的代碼翻出來鞭尸一遍才能曉得緣故
很想切換到2.0,畢竟看到了很多api的增強,但是應(yīng)用代碼做遷移不容易啊,郁悶



posted @ 2012-06-12 23:50 放屁阿狗 閱讀(658) | 評論 (0)編輯 收藏

用Qjson解析通信消息,一個200k的json包解析居然話了2s時間,比python的json慢了10倍
可恥啊可恥
posted @ 2012-05-11 12:30 放屁阿狗 閱讀(686) | 評論 (1)編輯 收藏

東西都要大家分享 :-)
posted @ 2012-04-14 17:53 放屁阿狗 閱讀(1738) | 評論 (1)編輯 收藏


dvr項目中flex駐留在瀏覽器,而影響播放程序是獨立的進(jìn)程,sandbox的安全問題導(dǎo)致flex的代碼無法直接與播放進(jìn)程IPC通信,那只有通過公網(wǎng)IP的主機進(jìn)行橋接。
很多年以前用過foundstone系列的工具,也有socket轉(zhuǎn)向的功能,包括在5173時做過lsp的底層轉(zhuǎn)向軟件(仿sockcap),原理當(dāng)然是相當(dāng)簡單,python是首選工具。
代碼接收兩端建立socket進(jìn)來,并根據(jù)相同的id號來進(jìn)行socket配對,之后兩個socket之間就實現(xiàn)互相轉(zhuǎn)發(fā)(技術(shù)同之前寫的http代理服務(wù)器 )

  1 # -- coding:utf-8 --
  2 
  3 import socket,traceback,os,os.path,sys,time,struct,base64,gzip,array,threading
  4 import select,json
  5 
  6 
  7 '''
  8 {'id','type'}
  9 
 10 type - 'mapshow','imageplay'
 11 id - 一次會話的編號
 12 
 13 imageplay 與xbridge建立socket連接,并注冊一個會話編號(隨機產(chǎn)生)
 14 imageplay啟動mapshow,并將會話編號傳遞給mapshow,mapshow建立xbridge的連接,并提交會話編號
 15 xbridge將雙向傳遞相同會話編號的數(shù)據(jù)到對方
 16 
 17 sock1的客戶必須等sock2連接進(jìn)入之后發(fā)送數(shù)據(jù),否則將sock1數(shù)據(jù)轉(zhuǎn)發(fā)給sock2時將產(chǎn)生異常
 18 '''
 19 
 20 class ConnectionPair:
 21     def __init__(self,app):
 22         self.app = app
 23         self.id = ''
 24         self.sock1=None #imageplay上來的連接
 25         self.sock2=None #第二個連接上來的對象mapdemo
 26         
 27     def start(self):
 28         t = threading.Thread(target=self.threadRecv)
 29         t.start()
 30         
 31     def onLostConnection(self):
 32         try:
 33             print 'connection pair lost..'
 34             self.sock1.close()
 35             self.sock2.close()
 36             self.app.onConnectionPairBroken(self)
 37         except:
 38             traceback.print_exc()
 39         
 40     def threadRecv(self):
 41         print 'service threading entering'
 42         import select
 43         while True:
 44             fds = []
 45             if self.sock1:
 46                 fds.append(self.sock1)
 47             if self.sock2:
 48                 fds.append(self.sock2)
 49             #fds = [self.sock1,self.sock2]
 50             try:
 51                 #sock2未連接進(jìn)來前,將不接收sock1上產(chǎn)生數(shù)據(jù)
 52                 #print 'fds:',len(fds),fds
 53                 rds,wds,eds = select.select(fds,[],[],1)
 54                 if not rds:#timeout 
 55                     continue
 56                         
 57                 for s in rds:
 58                     d = s.recv(1024)
 59                     #print d
 60                     if not d:
 61                         raise 'any jump'
 62                     
 63                     to = self.sock2
 64                     if s == self.sock2:
 65                         to = self.sock1
 66                     #print 'redirect data:',d
 67                     to.sendall(d)        
 68             except:
 69                 traceback.print_exc()
 70                 self.onLostConnection()
 71                 break
 72         
 73         print 'ConnThread Exiting'
 74             
 75             
 76     
 77 
 78 class XBridge:
 79     def __init__(self,addr=('',12788)):
 80         self.sock = None
 81         self.addr = addr
 82         self.conns={} #{id}
 83         self.mtxconns = threading.Lock()
 84         
 85     def onConnectionPairBroken(self,cp):
 86         self.mtxconns.acquire()
 87         del self.conns[cp.id]
 88         print 'onConnectionPairBroken(),removed:',cp.id
 89         self.mtxconns.release()
 90         
 91     def start(self):
 92         try:
 93             
 94             self.sock = socket.socket()
 95             #print 'lll',self.addr
 96             self.sock.bind( tuple(self.addr) )
 97             self.sock.listen(5)
 98             
 99             self.thread = threading.Thread(target=self.service_loop)
100             self.thread.start()
101             print 'xbridge started!'
102             self.thread.join()
103         except:
104             traceback.print_exc()
105             return False
106         
107     def shutdown(self):
108         self.sock.close()
109          
110     
111     def service_loop(self):
112         
113         while True:
114             fdr = []
115             fdr.append(self.sock)
116             infds,wr,e = select.select(fdr,[],[])
117             if e:
118                 print 'service thread exit'
119                 break
120             for s in infds:
121                 if s == self.sock: #新連接到達(dá) 
122                     sock = None
123                     try:                        
124                         sock,peer = self.sock.accept()    #異常產(chǎn)生表示self.sock被強行關(guān)閉
125                         print 'new client incoming',peer
126                     except
127                         return
128                     thread = threading.Thread(target=self.threadNewClient,args=(sock,))
129                     thread.start()
130     
131     def threadNewClient(self,sock):
132         #等待注冊信息進(jìn)入 ,5 秒超時
133         try:
134             fdr = [sock,]
135             print 'enter select '
136             infds,wr,e = select.select(fdr,[],[],5)
137             
138             if not infds:
139                 sock.close()
140                 print 'client register timeout'
141                 return #接收超時
142             d = sock.recv(1024)
143             d = json.loads(d)
144             id,type = d['id'],d['type']
145             connpair = None
146             print id,type
147             self.mtxconns.acquire()
148             if type == 'imageplay':
149             
150                 cp = ConnectionPair(self)
151                 cp.id = id
152                 cp.sock1 = sock
153                 self.conns[id] = cp
154                 cp.start()
155                 
156             elif type =='mapshow':
157                 connpair = self.conns.get(id,None)
158                 if connpair == None: #沒找到imageplay
159                     sock.close()
160                     print 'mapshow cannt found imageplay..'
161                 else:
162                     print 'mapclient matched!'
163                     connpair.sock2 = sock                    
164             else:
165                 print 'unknown command id:',id,type
166                 
167             self.mtxconns.release()    
168         except:
169             sock.close()
170             traceback.print_exc()
171         
172 if __name__=='__main__':
173     XBridge().start() #default '',12788
174    
posted @ 2012-04-14 17:42 放屁阿狗 閱讀(1706) | 評論 (0)編輯 收藏


焦距的計算公式

視場和焦距的計算
  視場指被攝取物體的大小,視場的大小是以鏡頭至被攝取物體距離,鏡頭焦頭及所要求的成像大小確定的。

(1) 焦距的計算
  鏡頭的焦距,視場大小及鏡頭到被攝取物體的距離的計算如下:
f=wL/W
f=hL/h
f;鏡頭焦距      w:圖象的寬度(被攝物體在CCD靶面上成象寬度)
W:被攝物體寬度    L:被攝物體至鏡頭的距離
h:圖象高度(被攝物體在ccd靶面上成像高度)視場(攝取場景)高度
H:被攝物體的高度

CCD靶面規(guī)格尺寸:單位mm
規(guī)格 1/3" 1/2" 2/3" 1"
W 4.8 6.4 8.8 12.7
H 3.6 4.8 6.6 9.6


  由于攝像頭畫面寬度和高度與電視接收機畫面寬度和高度一樣,其比例均為4:3,當(dāng)L不變,H或W增大時,f變小,當(dāng)H或W不變,L增大時,f增大。
  舉例:假設(shè)用1/2”CCD攝像頭觀測,被測物體寬440毫米,高330毫米,鏡頭焦點距物體2500毫米。
由公式可以算出:
焦距f=6.4 * 2500 / 440≈36毫米或
焦距f=4.8 * 2500 / 330≈36毫米
  當(dāng)焦距數(shù)值算出后,如果沒有對應(yīng)焦距的鏡頭是很正常的,這時可以根據(jù)產(chǎn)品目錄選擇相近的型號,一般選擇比計算值小的,這樣視角還會大一些。

(2) 視場角的計算
  如果知道了水平或垂直視場角便可按公式計算出現(xiàn)場寬度和高度。
W=2LtanQw/2 ( Qw:水平視角)
H=2LtanQh/2 ( Qh:垂直視角)
水平視場角Qw(水平觀看的角度)
Qw =2tg-1(W/2L)
垂直視場角Qh(垂直觀看的角度)
Qh =2tg-1(H/2L)

  視場由寬(W)、高(H)和與攝像頭的距離(L)決定,一旦決定了攝像頭要監(jiān)視的景物,正確地選擇鏡頭的焦距就由來3個因素決定:
l 欲監(jiān)視景物的尺寸
l 攝像頭與景物的距離
l 攝像頭成像器的尺寸
8、選配鏡頭的原則
  為了獲得預(yù)期的攝像效果,在選配鏡頭時,應(yīng)著重注意六個基本要素:(1)被攝物體的大小;(2) 被攝物體的細(xì)節(jié)尺寸;(3) 物距;(4)焦距;(5) CCD攝像機靶面的尺寸;(6) 鏡頭攝像系統(tǒng)的分辯率。

posted @ 2012-04-02 01:13 放屁阿狗 閱讀(409) | 評論 (0)編輯 收藏

今天去轉(zhuǎn)了一圈,坐著一上午,屁股有點累。了解了這是個啥東東了,不是特別有兩點,下午都是廠商吹牛皮,所以吃了頓飯就回公司了
posted @ 2012-03-30 13:40 放屁阿狗 閱讀(250) | 評論 (0)編輯 收藏

花了近3周時間去完成DVR項目的視頻影像管理系統(tǒng)。目標(biāo)容量200T,利用廉價PC實現(xiàn)集群存儲,由于存儲的是單個的視頻段文件且對于文件容災(zāi)方面沒有特殊的要求,允許單點存儲損壞。
系統(tǒng)部署一個stoMaster服務(wù)器做控制服務(wù),提供影像系統(tǒng)的讀寫調(diào)度分配、系統(tǒng)模塊監(jiān)控管理、系統(tǒng)影像查詢服務(wù);若干個stoNodeServer作為單點存儲服務(wù)器,每個節(jié)點服務(wù)器下掛載10個2T普通硬盤,單節(jié)點支持20T容量,由于采用PC架構(gòu),大大節(jié)省成本且還能保證一定IO并發(fā)能力,保證200T容量需要10臺PC做支撐。
開發(fā)涉及技術(shù): python + ffmpeg + flex + openscales + swMapServer + Vs2008 + Qt + postgis + psycopg2 + comtypes
Links: http://sw2us.com/sites/default/files/dvr.demo.v0.1.0_2012.3.27.zip
幸好有了python這個好幫手,不然要干死了,python對我來講不是簡單的當(dāng)膠水輔助了,通信框架、UI、數(shù)據(jù)庫都采用python,只有那些個點上用了高效點的c++,例如:ffmpeg解碼、文件存儲等等
演示視頻: 









系統(tǒng)運行demo:






posted @ 2012-03-27 19:23 放屁阿狗 閱讀(1916) | 評論 (2)編輯 收藏

     摘要: 項目需求開發(fā)網(wǎng)絡(luò)流媒體播放器,整個項目就一人開發(fā),整個系統(tǒng)平臺,包括調(diào)度,存儲集群服務(wù),影像同步導(dǎo)入、系統(tǒng)api接口、視頻查詢和播放客戶端,一切有了python就變得簡單。一個人在戰(zhàn)斗,還是蠻有勁道。pyqt開發(fā)播放界面,python用于網(wǎng)絡(luò)通信和粘合邏輯,ffmpeg用于解碼,google一圈試用了幾個pyffmpeg的庫,非常不理想,干脆自己做:采用ctypes訪問dll,測試解碼并將視頻幀轉(zhuǎn)...  閱讀全文
posted @ 2012-03-15 02:01 放屁阿狗 閱讀(1555) | 評論 (0)編輯 收藏

僅列出標(biāo)題
共25頁: 1 2 3 4 5 6 7 8 9 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情久久久| 日韩亚洲欧美一区二区三区| 欧美日韩1区2区3区| 国产精品久久毛片a| 亚洲成色999久久网站| 欧美一区二区成人| 欧美激情中文不卡| 久久精品中文字幕一区| 国产精品一区一区| 99国产一区| 欧美激情1区| 欧美日韩成人一区二区| 亚洲国内精品| 欧美国产日韩xxxxx| 欧美1区2区| 亚洲日本欧美天堂| 亚洲精品1区2区| 老司机免费视频一区二区三区| 国产欧美精品在线观看| 亚洲一区二区三区成人在线视频精品| 欧美福利视频一区| 免费一级欧美在线大片| 日韩亚洲精品视频| 欧美午夜精品电影| 亚洲尤物在线视频观看| 一本色道久久| 国产欧美一区在线| 久久久99久久精品女同性| 欧美综合国产| 欧美日韩人人澡狠狠躁视频| 亚洲欧美日韩综合国产aⅴ| 中文精品视频| 在线免费不卡视频| 亚洲国产精品精华液2区45| 欧美日本国产视频| 久久综合久久综合九色| 欧美精品久久久久久| 久久九九热免费视频| 欧美精品一线| 欧美激情精品久久久久久大尺度 | 久久激情中文| 免费在线观看一区二区| 一本大道av伊人久久综合| 日韩视频三区| 亚洲肉体裸体xxxx137| 性色av一区二区三区在线观看| 亚洲大胆女人| 美脚丝袜一区二区三区在线观看| 亚洲欧美激情一区二区| 亚洲日韩成人| 亚洲九九精品| 另类图片国产| 亚洲国产成人不卡| 欧美日韩国产系列| 亚洲人成人99网站| 在线观看一区二区精品视频| 久久久国产精品一区二区三区| 欧美日韩亚洲国产一区| 久久国产免费看| 精品成人在线观看| 久久久久中文| 欧美a级片一区| 亚洲理伦电影| 国产精品久久精品日日| 亚洲日本中文字幕| 国产精品porn| 亚洲欧美国内爽妇网| 久久天天躁夜夜躁狠狠躁2022| 久久久伊人欧美| 亚洲第一网站| 欧美影院久久久| 亚洲美女精品成人在线视频| 欧美丰满高潮xxxx喷水动漫| 国产精品久久久久秋霞鲁丝 | 欧美精品电影| 亚洲大片精品永久免费| 欧美成人资源| 午夜视频一区二区| 亚洲黄色天堂| 蜜臀av在线播放一区二区三区| 国产精品午夜春色av| 亚洲欧美日本在线| 亚洲福利视频一区| 国产精品久久久久久久免费软件| 亚洲成人在线视频播放| 国产精品网站在线| 久久亚洲精品一区| 最新中文字幕亚洲| 噜噜噜在线观看免费视频日韩 | 女主播福利一区| 理论片一区二区在线| 最近看过的日韩成人| 欧美18av| 伊人久久大香线蕉综合热线| 午夜久久资源| 麻豆精品视频在线| 亚洲午夜成aⅴ人片| 亚洲精品裸体| 一区二区三区中文在线观看| 久久亚洲免费| 中日韩美女免费视频网址在线观看| 亚洲欧美视频一区二区三区| 国产精品嫩草久久久久| 亚洲日本中文字幕区| 亚洲在线视频免费观看| 欧美国产一区在线| 欧美日韩国产123区| 国产精品日韩在线观看| 亚洲高清视频一区| 久久人人爽人人| 欧美sm视频| 在线一区二区三区四区五区| 亚洲国产精品久久久久久女王| 亚洲欧美精品| 国产人成精品一区二区三| 久久久人成影片一区二区三区观看| 香蕉久久精品日日躁夜夜躁| 国产婷婷色一区二区三区| 亚洲嫩草精品久久| 亚洲一区二区三区免费在线观看| 国产精品成人免费| 国产精品99久久久久久人 | 久久久夜夜夜| 国产亚洲aⅴaaaaaa毛片| 老司机精品视频一区二区三区| 欧美午夜精品理论片a级按摩| 久久国产精品久久久久久久久久 | 欧美性事在线| 欧美国产视频一区二区| 亚洲国产视频直播| 亚洲一区影音先锋| 欧美国产另类| 欧美一区二区观看视频| 99视频在线精品国自产拍免费观看| 亚洲免费在线看| 老司机成人网| 亚洲午夜精品国产| 国产亚洲一级高清| 欧美久久久久免费| 久久九九全国免费精品观看| 亚洲电影在线看| 欧美午夜在线视频| 老司机一区二区三区| 在线日韩中文字幕| 欧美一区二区三区免费看| 老司机一区二区三区| 亚洲一区二区四区| 亚洲精品日韩欧美| 亚洲图色在线| 久久这里有精品15一区二区三区| 在线观看视频一区二区| 免费成人在线观看视频| 麻豆9191精品国产| 久久国产一区| 性伦欧美刺激片在线观看| 久久精品国产69国产精品亚洲 | 亚洲欧美另类综合偷拍| 国产婷婷色一区二区三区在线| 国产精品视频网| 国产亚洲激情视频在线| 欧美韩日视频| 国产精品www| 99pao成人国产永久免费视频| 日韩网站在线| 国产日韩欧美高清免费| 免费成人毛片| 亚洲国产精品t66y| 久久视频一区二区| 国产伦精品一区二区三区免费迷 | 欧美一区二区三区久久精品茉莉花| 欧美日韩国产一区二区| 亚洲一区二区三| 正在播放日韩| 亚洲三级免费电影| 欧美高清你懂得| 伊人久久大香线蕉综合热线| 国产精品一区二区三区久久久| 久久资源在线| 亚洲欧洲精品一区二区精品久久久 | 国产精品午夜国产小视频| 欧美国产视频在线| 99re热这里只有精品视频| 亚洲国产欧美一区二区三区同亚洲| 欧美18av| 久久精品在这里| 国产女主播一区| 欧美日韩一二三四五区| 欧美人成免费网站| 91久久精品美女高潮| 国产一区二区毛片| 国产精品v欧美精品v日韩| 欧美日韩国产成人在线观看| 亚洲第一中文字幕| 欧美gay视频激情| 欧美一区二区久久久| 亚洲午夜精品网| 久久精品国产视频| 久久夜色精品国产| 久久狠狠久久综合桃花| 久久一区二区三区av|