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

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

RTSP協(xié)議詳解

轉(zhuǎn)載自:http://hp.dewen.org/?p=82

關(guān)于 RTSP.

RTSP協(xié)議是一個非常類似HTTP協(xié)議的流控制協(xié)議。它們都使用純文本來發(fā)送信息,而且rtsp協(xié)議的語法也和HTTP類似。Rtsp一開始這樣設(shè)計,也是為了能夠兼容使用以前寫的HTTP協(xié)議分析代碼 。這是個好消息。

它們主要的區(qū)別是HTTP協(xié)議是沒有狀態(tài)的, http協(xié)議在發(fā)送一個命令后,連接會斷開,而且命令之間沒有依賴性。不同的是RTSP的命令需要知道現(xiàn)在正處于一個什么狀態(tài),也就是說rtsp的命令總是按照順序來發(fā)送,某個命令總在另外一個命令之前要發(fā)送。Rtsp不管處于什么狀態(tài)都不會去斷掉連接。

HTTP 協(xié)議默認(rèn)使用80端口,而RTSP 默認(rèn)使用554端口。如果一些服務(wù)器因為某些安全的原因而封掉了這個端口,那代理和防火墻可能不讓RTSP消息通過,需要管理員去放開554端口,而使得rtsp協(xié)議能通過。

RTSP 并非只是微軟在用!

這是一個公開的規(guī)范,在這個規(guī)范上開發(fā)了很多的流服務(wù)器。甚至Linux服務(wù)提供者和蘋果的程序員也使用rtsp協(xié)議以及Real Networks流媒體。似乎整個世界的網(wǎng)絡(luò)流傳輸都用這個協(xié)議。然而,微軟并不只在rtsp上有所作為。

微軟和RTSP.

在寫這個文檔的時候,微軟正處于從首選MMS協(xié)議轉(zhuǎn)換到首選采用RTSP協(xié)議的過程中。這個說明在Media Player9.0版本和流媒體服務(wù)器2003版本之后,我們會看到微軟將rtsp協(xié)議作為流媒體傳輸?shù)闹饕獏f(xié)議 。

隨著時間慢慢的流逝,我們會發(fā)現(xiàn)mms協(xié)議正逐步走出人們的視野。It is only assumed that this is so MS can say they are being open with their protocols (rtsp is an open standard) while at the same time disregarding the need to publicise their own MMS protocol once its gone from media player. 然而,mms還沒有真的死亡,至少在接下來的幾年中我們依然可以看到它在流媒體傳輸中的身影。

 

是否微軟的RTSP協(xié)議和標(biāo)準(zhǔn)的開放式RTSP不同?

是的。跟在RFC2326(1998年四月)中定義的原始RTSP協(xié)議相比,微軟的rtsp協(xié)議有一些輕微的改動。我們網(wǎng)站上有本文檔(還有后續(xù)版本)和一個簡單的研究,它們可以幫助你了解這些信息。

 

區(qū)別在哪兒?

微軟的rstp規(guī)范與標(biāo)準(zhǔn)rtsp協(xié)議相比最主要的改動是發(fā)送包payloads到客戶端的方式,另外還有一些請求命令有一些改動。傳輸單個媒體包的機制并沒有文檔(就 我目前所知),這可能是微軟要保留的信息。

就像MMS和HTTP 1.0 流協(xié)議使用一個媒體數(shù)據(jù)包頭一樣,RTSP也有。但是微軟的數(shù)據(jù)包頭格式?jīng)]有在任何的rtsp文檔中注明。在企圖連接微軟的rtsp服務(wù)器時,這是主要的問題。

微軟RTSP協(xié)議的命令采用的語法和標(biāo)準(zhǔn)rtsp協(xié)議的命令語法一樣,只有一些小的修改和添加,可以通過閱讀網(wǎng)上的一些文檔,就可以知道怎么去組成這些命令。微軟rtsp命令部分已經(jīng)有文檔了。


一次典型的RTSP協(xié)議傳輸過程

這個例子為了簡略,沒有把發(fā)送接收的包放上來

 

TO SERVER =>                                 NETWORK                         <= TO CLIENT

 客戶端連服務(wù)器的554端口

 客戶端發(fā)送“DESCRIBE”命令

                                                服務(wù)器返回標(biāo)準(zhǔn)rtsp頭

                                               這個rtsp頭和數(shù)據(jù)實體包含ASF文件頭信息

以及所有的和媒體文件相關(guān)的流bit rate data

 客戶端發(fā)送“SETUP” 音頻流媒體建立命令(stream 1)

服務(wù)器返回標(biāo)準(zhǔn)rtsp頭

客戶端發(fā)送“SETUP” 視頻流媒體建立命令(stream 2)

                                                服務(wù)器返回標(biāo)準(zhǔn)rtsp頭

 

客戶端發(fā)送“PLAY” 命令

服務(wù)器返回標(biāo)準(zhǔn)rtsp頭

客戶端發(fā)送 “SET_PARAMETER” 命令

這個命令還包含了一些客戶端發(fā)送給服務(wù)器的信息,比如客戶端的操作系統(tǒng),CPU類型,播放器版本,日期時間等信息。消息格式是tagged XML.

 服務(wù)器返回標(biāo)準(zhǔn)rtsp頭

 #### 服務(wù)器即將開始一個流,發(fā)送媒體數(shù)據(jù)包(包含媒體數(shù)據(jù)包頭),請看接下來的 ####

 當(dāng)要斷開這個流的時候,服務(wù)器會向客戶端發(fā)送一個EOF指示

                                                服務(wù)器斷開socket連接


一個典型的發(fā)給服務(wù)器的RTSP命令

 

DESCRIBE rtsp://wm.microsoft.com/ms/video/0001-hi.wmv RTSP/1.0

User-Agent: WMPlayer/9.0.0.2980 guid/3300AD50-2C39-46C0-AE0A-81D88F547805

Accept: application/sdp

Accept-Charset: UTF-8, *;q=0.1

X-Accept-Authentication: NTLM, Digest, Basic

Accept-Language: en-GB, *;q=0.1

CSeq: 1

Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.predstrm


注意:

DESCRIBE rtsp://wm.microsoft.com/ms/video/0001-hi.wmv RTSP/1.0

這是要連接的url(服務(wù)器域名和流路徑),后面跟著RTSP的版本。

 User-Agent: WMPlayer/9.0.0.2980 guid/3300AD50-2C39-46C0-AE0A-81D88F547805

這條表示了客戶端使用的是什么播放器,以及播放器的版本,再跟著一個獨特的GUID。

 X-Accept-Authentication: NTLM, Digest, Basic

客戶端可以接受的authentication 類型

 注意CSeq 要從1開始。服務(wù)器針對請求命令的應(yīng)答也應(yīng)該有Cseq: 加上數(shù)字 ,這樣可以知道是針對哪條請求發(fā)的應(yīng)答。

在客戶端發(fā)送一個請求命令,得到成功的應(yīng)答后,再發(fā)送下一條命令,CSeq的值要加1。


一個典型的RTSP應(yīng)答消息,它們跟HTTP的消息非常的相似

一個針對客戶端發(fā)的DESCRIBE命令,服務(wù)器的應(yīng)答例子如下所示:

 <<<HEADER START>>>

 RTSP/1.0 200 OK

Content-Type: application/sdp

Vary: Accept

X-Playlist-Gen-Id: 27006

X-Broadcast-Id: 0

Content-Length: 3324

Date: Tue, 18 Nov 2003 15:57:05 GMT

CSeq: 1

Server: WMServer/9.0.0.3372

Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.fastcache, com.microsoft.wm.packetpairssrc

Last-Modified: Tue, 18 Jun 2002 21:05:39 GMT

Cache-Control: x-wms-content-size=23180160, max-age=86399, must-revalidate, proxy-revalidate

Etag: “23180160″


 <<<BODY START>>> ( 兩個“/r/n”指示本SDP數(shù)據(jù)的開始 ).

<<< 這是Session Description Protocol 協(xié)議>>>

 

v=0

o=- 200311171721060249 200311171721060249 IN IP4 127.0.0.1

s=<No Title>

c=IN IP4 0.0.0.0

b=AS:1091

a=maxps:13632

t=0 0

a=control:rtsp://wm.microsoft.com/ms/video/0001-hi.wmv/

a=etag:{9D7121C3-1A1B-8ED6-6675-CB15D19D1FB7}

a=range:npt=3.100-173.903

a=recvonly

a=pgmpu:data:application/x-wms-contentdesc,8,language,31,0,,5,title,31,0,,6,author,31,0,,9,copyright,31,0,,35,WMS_CONTENT_DESCRIPTION_DESCRIPTION,31,0,,30,WMS_CONTENT_DESCRIPTION_RATING,31,0,,44,WMS_CONTENT_DESCRIPTION_SERVER_BRANDING_INFO,31,12,WMServer/9.0,51,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_START_OFFSET,3,4,3100,47,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_DURATION,3,6,170803,58,WMS_CONTENT_DESCRIPTION_COPIED_METADATA_FROM_PLAYLIST_FILE,3,1,1,42,WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_URL,31,17,0001-hi.wmv%0D%0A

a=pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64,Mcay…dY5mm2QCAQ==

m=audio 0 RTP/AVP 96

b=AS:35

b=RS:0

b=RR:0

a=rtpmap:96 x-asf-pf/1000

a=control:audio

a=stream:1

m=application 0 RTP/AVP 96

b=RS:0

b=RR:0

a=rtpmap:96 x-wms-rtx/1000

a=control:rtx

a=stream:65536

m=video 0 RTP/AVP 96

b=AS:471

b=RS:0

b=RR:0

a=rtpmap:96 x-asf-pf/1000

a=control:stream=2

a=stream:2

 

以/r/n/r/n結(jié)束

 

 

看下面這行:

a=pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64, Mcay..…==

這是真實的ASF文件頭數(shù)據(jù)(被Base64編碼過)。在將這部分頭數(shù)據(jù)寫到文件之前需要Base64解碼成標(biāo)準(zhǔn)的ascii碼。

 

SDP實體數(shù)據(jù)也告訴我們在媒體數(shù)據(jù)中都有些什么流
這個文件有2個媒體流:

ID = 1 有一個“audio”標(biāo)志的音頻流

ID = 2 有一個“stream=2”標(biāo)志的視頻流

還有第三個以“rtx”標(biāo)志的流,這是一個控制流,并不攜帶任何的媒體內(nèi)容。這個控制流使用stream ID = 65536.

 

看下面這行:

a=pgmpu:data:application/x-wms-contentdesc, …..

這表示了緊跟的數(shù)據(jù)是一個內(nèi)容描述對象。

 

 

 

 

標(biāo)準(zhǔn)RTSP 消息的錯誤代碼– 在應(yīng)答消息的第一行表示

 

 ”100” ; Continue (all 100 range)

 “200” ; OK

 ”201” ; Created

 ”250” ; Low on Storage Space

 ”300” ; Multiple Choices

 ”301” ; Moved Permanently

 ”302” ; Moved Temporarily

 ”303” ; See Other

 ”304” ; Not Modified

 ”305” ; Use Proxy

 ”350” ; Going Away

 ”351” ; Load Balancing

 ”400” ; Bad Request

 ”401” ; Unauthorized

 ”402” ; Payment Required

 ”403” ; Forbidden

 ”404” ; Not Found

 ”405” ; Method Not Allowed

 ”406” ; Not Acceptable

 ”407” ; Proxy Authentication Required

 ”408” ; Request Time-out

 ”410” ; Gone

 ”411” ; Length Required

 ”412” ; Precondition Failed

 ”413” ; Request Entity Too Large

 ”414” ; Request-URI Too Large

 ”415” ; Unsupported Media Type

 ”451” ; Parameter Not Understood

 ”452” ; reserved

 ”453” ; Not Enough Bandwidth

 ”454” ; Session Not Found

 ”455” ; Method Not Valid in This State

 ”456” ; Header Field Not Valid for Resource

 ”457” ; Invalid Range

 ”458” ; Parameter Is Read-Only

 ”459” ; Aggregate operation not allowed

 ”460” ; Only aggregate operation allowed

 ”461” ; Unsupported transport

 ”462” ; Destination unreachable

 ”500” ; Internal Server Error

 ”501” ; Not Implemented

 ”502” ; Bad Gateway

 ”503” ; Service Unavailable

 ”504” ; Gateway Time-out

 ”505” ; RTSP Version not supported

 ”551” ; Option not supported

 

 

 

 

 

 

 

 

 

 

 

 

RTSP數(shù)據(jù)包頭(每一個媒體數(shù)據(jù)包的開頭)

二進制包頭數(shù)據(jù)后面緊跟著媒體數(shù)據(jù)包(asf/wmv 等等)。

Values are in Big Endian order. (not little endian as in mms and http protocols).

 

——–這些數(shù)據(jù)位在公開的RTSP 文檔中也指示了——-

 

BYTE                 “$” or 0×24

BYTE                    Channel id ,一般= 0×00, 你可以看到“P” 或者 0×50 for packet pairs data, 看下面的描述.

WORD               數(shù)據(jù)包的長度(從接下來的區(qū)域算起)

 

——– 接下來的數(shù)據(jù)位表示的含義還沒有確定,微軟也許會指出———–

 

WORD      ???    填充0x80E0

 

WORD                   序列號。這個值被初始化成一個隨即的值,然后在每一個數(shù)據(jù)包發(fā)送時加1。  在這個值達到0xffff時,它將設(shè)置成0。跟其他協(xié)議相比,這個值得范圍比較?。?6位),使得它不能在寫媒體數(shù)據(jù)到文件中時做為有指導(dǎo)性的序列號使用。大的流媒體文件有很多的數(shù)據(jù)包,包的數(shù)量超過了他的范圍,所以可能會發(fā)生相同序列號的包。只使用這個序列號來作錯誤檢驗——缺少了某一個序列號的包意味著發(fā)生了丟包錯誤。

 

DWORD                發(fā)送時間。This is stated in milliseconds and shows the time that this media packet should be presented. 預(yù)先錄制的文件設(shè)置T = 0 ,實況流設(shè)置一個不同于0的值。

 

DWORD                ??? 固定的一個值. 它是一個隨即值,但是一旦一個rtsp會話建立,這個值就一直保持不變,所有的數(shù)據(jù)包都是這個值??梢允褂眠@個值作為每次會話的一個ID,新的rtsp會話會有新的值。

 

BYTE                     標(biāo)志位, 看下面:

                                Bit 0 (lsb)      ? = 0

                                Bit 1               ? = 0

                                Bit 2               ? = 0

                                Bit 3               ? = 0

                                Bit 4               Duration field present in pre header if set (see below)

                                Bit 5               ? = 0

                                Bit 6               ? = 1 (總是1)

                                Bit 7 (msb)    被設(shè)置成1,表示數(shù)據(jù)包含有一個關(guān)鍵楨

 

BYTE                     ??? 總是設(shè)置成0

 

WORD                   包長度。此16位表示從上面標(biāo)志位域開始的包長度。

 

DWORD                [可選的] 持續(xù)時間。只有上面的標(biāo)志位的Bit4 被設(shè)置了才會有這個域,否則就沒有這個域。表示為多少毫秒,指出了傳輸?shù)拿襟w包的總持續(xù)時間。

 

<<< 下面跟著媒體數(shù)據(jù), like 82 00 00 ….. >>>

 

 

 

 

 

 

 

 

 

 

在RTSP請求和應(yīng)答中使用的有用的標(biāo)簽值:

 

CSeq:                                    命令的序列號,逐1增加。

                                               所有的請求和應(yīng)答都用得到。

 

Content-Length:                                  這個標(biāo)記的存在說明后面有實體數(shù)據(jù),而且給出了這個數(shù)據(jù)塊的大小,單位是byte

 

X-Playlist-Gen-Id:                               用來檢查播放列表是否有效。這個標(biāo)記最初在客戶端發(fā)送DESCRIBE命令后使用。

                                               客戶端在發(fā)送“SETUP”命令給服務(wù)器時必須回應(yīng)一樣的值

                                              

 

X-Playlist-Seek-Id:                              值必須和X-Playlist-Gen-Id 域的值相同,在PLAY請求命令中使用.

 

Blocksize:                                             媒體包的總長度,單位是byte

 

Session:                                                 Session ID是用作客戶端和服務(wù)器之間是否是正確的連接。在客戶端發(fā)送SETUP命令,服務(wù)器會在應(yīng)答消息頭里面發(fā)送這個值給客戶端。 We only see the Session value on the first stream selected (usually this is the audio stream)。 Session值相當(dāng)?shù)拈L,一共有20個阿拉伯?dāng)?shù)字。

                                                                緊跟著Session值, 你可以看到一個值:       “timeout= xxxx”。. 這是服務(wù)器需要得到回應(yīng)或者ACK回應(yīng)(為了保持連接)的時間??蛻舳吮仨氃谶@個時段內(nèi)發(fā)送一個ACK ,要不然連接就要被強制中斷。一個ACK就是發(fā)送一條GET_PARAMETER命令到服務(wù)器。

 

X-Accept-Authentication:                 允許的authentication 方法

                                                                NTLM, Digest 和 Basic 是標(biāo)準(zhǔn)的

 

X-Broadcast-Id:                                  是否是實況或者是先期錄制的流。

                                                                0 表示先期錄制,其他的值表示是實況。

 

Range:                                                   Range is the offset and end time positions to stream the media. For a zero start and full file stream, this value is set to:   npt=0.000-

                                                                where 0.000 is the offset and –0.000 (optional) is the ending time. Values are stated in seconds.

 

Speed:                                                    用來調(diào)整傳輸?shù)娇蛻舳说牧鞯盟俣?。假如你的帶寬可以接受更高速的?shù)據(jù)傳送,這個域的值可以設(shè)置大于1來加速下載數(shù)據(jù)

普通情況  Speed: 1.0       i.e. x1 rate

                                                                Media player 使用 :     Speed: 1.294

這個主要取決于你的網(wǎng)絡(luò)連接速度。

 

Server:                                                   服務(wù)器類型和軟件版本

 

EOF:                                                       文件結(jié)束標(biāo)記,也是流的結(jié)束標(biāo)記

 

Date:                                                      日期時間,下面舉個例子:

Tue, 18 Nov 2003 15:57:07 GMT

 

Bandwidth:                                           流需要的最大帶寬,bits/秒

 

Transport:                                             使用什么協(xié)議來傳輸數(shù)據(jù),比如TCP或者UDP等

 

Etag:                                                      實體標(biāo)記Entity tag,是一個分配給會話的值,就像”23180160″

 

Supported:                                            支持的COM modules , 有的是可選的.

com.microsoft.wm.srvppair       - packet pairs at server

com.microsoft.wm.sswitch         - stream ID selection com.microsoft.wm.eosmsg       - end of stream message com.microsoft.wm.fastcache       - fast cache for buffering com.microsoft.wm.packetpairssrc.  - packet pairs

 

Content-Type:                                     此域用來表示命令或者應(yīng)答的用意

                                                                下面是常用的幾種類型:

 

                                                                application/x-wms-Logconnectstats

                                                                這個在SET_PARAMETER命令中用到,表示將客戶端的信息登記到服務(wù)器上。

 

                                                                application/sdp

                                                                這個表示接下來數(shù)據(jù)包里面的是sdp數(shù)據(jù),它是在服務(wù)器對DESCRIBE命令的應(yīng)答包中。

 

                                                                application/x-wms-contentdesc

                                                                表示緊跟的數(shù)據(jù)是一個內(nèi)容描述對象,它設(shè)置the layout of the dialog.

 

                                                                application/vnd.ms.wms-hdr.asfv1

                                                                表示跟著一個流媒體頭信息(ASF header),

                                                                可以用BASIC 或者DIGEST來解碼。

 

                                                                application/x-rtsp-packetpair

                                                                Packet Pair data is random non-compressible data and is sent to the client and timed for response times. 它被用來確定連接的可用帶寬。Packet pair data 是可選的,你不必經(jīng)常去請求這個數(shù)據(jù)。 這個是在發(fā)送GET_PARAMATER命令到服務(wù)器時,用到的。


posted on 2013-09-13 15:48 楊粼波 閱讀(1212) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美另类久久久精品2019| 欧美性猛交xxxx乱大交退制版 | 一区二区三区三区在线| 狠狠综合久久| 黄色成人精品网站| 国产日产亚洲精品系列| 亚洲欧美国产精品专区久久| 欧美激情中文字幕一区二区| 亚洲欧美国产精品专区久久| 免费在线看一区| 亚洲大片av| 久久精品综合一区| 一区二区三区免费观看| 国产日韩欧美一区二区三区四区| 美女网站久久| 欧美日韩另类一区| 国产日韩视频| 在线综合亚洲| 亚洲夜晚福利在线观看| 国产日本欧美在线观看| 久热精品视频在线观看一区| 开心色5月久久精品| 欧美日韩精品福利| 国产在线麻豆精品观看| 亚洲一区二区高清视频| 亚洲国产精品久久久久| 一本色道久久综合亚洲精品不卡| 香蕉国产精品偷在线观看不卡| 亚洲欧洲日产国码二区| 亚洲图片欧美午夜| 亚洲国产欧美一区| 1769国内精品视频在线播放| 亚洲国语精品自产拍在线观看| 欧美亚州在线观看| 一区二区三区视频在线看| 午夜欧美精品久久久久久久| 免费成人av| 日韩视频一区二区三区在线播放免费观看| 午夜久久资源| 久久在线免费观看视频| 一区二区国产精品| 久久久综合激的五月天| 欧美成人激情在线| 欧美va亚洲va日韩∨a综合色| 国产欧美婷婷中文| 午夜精品999| 久久精品国产免费观看| 在线欧美日韩国产| 亚洲人成人99网站| 欧美午夜一区二区| 噜噜噜噜噜久久久久久91| 久久久免费精品视频| 久久中文欧美| 亚洲人成人一区二区三区| 先锋影院在线亚洲| 欧美在线国产精品| 一区二区三区自拍| 欧美国产激情二区三区| 久久av最新网址| 99re66热这里只有精品4| 欧美激情第1页| 国产亚洲成年网址在线观看| 媚黑女一区二区| 亚洲人线精品午夜| 亚洲国产综合视频在线观看| 中国女人久久久| 免费视频一区| 狂野欧美一区| 麻豆精品精华液| 在线观看欧美一区| 久久综合色播五月| 欧美在线视频一区二区三区| 国产精品一区视频网站| 久久国产精品一区二区三区| 午夜精品久久久久久99热软件| 国产精品亚洲美女av网站| 午夜精品久久久久久久99热浪潮| 亚洲欧美日韩网| 狠狠久久综合婷婷不卡| 久久久精品网| 亚洲美女少妇无套啪啪呻吟| 久久久久一区二区| 亚洲夫妻自拍| 亚洲免费影视| 一区二区亚洲精品国产| 欧美精品免费观看二区| 亚洲伊人一本大道中文字幕| 久久一区中文字幕| 一个色综合导航| 国内成人精品视频| 欧美美女喷水视频| 久久精品人人做人人爽电影蜜月| 噜噜爱69成人精品| 亚洲一二三四久久| 一本久久综合| 国产精品入口夜色视频大尺度| 亚洲视频第一页| 亚洲午夜精品一区二区| 亚洲国产黄色| 欧美激情影音先锋| 久久精品午夜| 欧美在线free| 欧美一区二区三区在线视频| 亚洲免费观看高清完整版在线观看熊| 欧美在线播放高清精品| 亚洲一二三级电影| 亚洲精品一区二区三区四区高清| 国产农村妇女毛片精品久久莱园子 | 国产日韩精品一区二区| 欧美二区在线观看| 香蕉免费一区二区三区在线观看| 免费av成人在线| 亚洲深夜激情| 悠悠资源网亚洲青| 欧美午夜美女看片| 欧美国产一区视频在线观看| 欧美成人免费网| 亚洲日本成人在线观看| 亚洲视频免费观看| 99精品国产福利在线观看免费| 欧美一区二区三区喷汁尤物| 亚洲一区二区在线观看视频| 免费试看一区| 欧美不卡视频一区发布| 韩国一区二区在线观看| 午夜影院日韩| 欧美专区在线| 国产视频精品va久久久久久| 亚洲一区二区三区欧美| 亚洲主播在线观看| 国产精品高潮视频| 一区二区三区免费在线观看| 日韩一级大片| 欧美精品久久久久久| 亚洲国产综合91精品麻豆| 在线观看一区二区精品视频| 久久国产夜色精品鲁鲁99| 久久av一区二区| 国自产拍偷拍福利精品免费一| 午夜影院日韩| 久久婷婷国产综合尤物精品| 国产香蕉97碰碰久久人人| 性欧美精品高清| 久久视频国产精品免费视频在线| 国产农村妇女精品一区二区| 午夜视频在线观看一区二区三区 | 女主播福利一区| 亚洲大胆在线| 一本色道久久精品| 国产精品久久久久高潮| 亚洲欧美日韩高清| 久久亚洲一区二区三区四区| 在线日本成人| 欧美日韩国产精品一区| 亚洲一区二区高清| 久久嫩草精品久久久精品一| 亚洲福利国产精品| 欧美日韩www| 午夜久久久久| 亚洲国产精品免费| 亚洲欧美视频在线| 亚洲欧美另类在线| 激情小说亚洲一区| 欧美顶级少妇做爰| 一区二区高清视频在线观看| 欧美一区二区三区视频在线观看| 国模私拍一区二区三区| 欧美成人激情视频| 亚洲欧美日韩一区二区三区在线观看 | 国产精品无人区| 久久电影一区| 亚洲精品少妇30p| 欧美一区二区黄色| 91久久国产综合久久91精品网站 | 亚洲国产精品嫩草影院| 欧美日本国产| 欧美专区亚洲专区| 99国产精品久久久久久久久久 | 久久久福利视频| 一本久久综合亚洲鲁鲁五月天| 国产精品视频专区| 欧美77777| 欧美一区二区精品在线| 亚洲破处大片| 久久久久久999| 亚洲一区二区3| 亚洲精品美女在线| 国内一区二区三区在线视频| 欧美日韩精品一区| 美女精品在线| 久久精品国产免费看久久精品| 99精品国产在热久久| 欧美二区视频| 久久中文字幕一区| 久久成人羞羞网站| 亚洲自拍三区| 亚洲一区二区三区精品在线| 亚洲精品视频在线| 最新精品在线| 亚洲第一中文字幕在线观看|