亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

從 RTSP 拉流到 FFmpeg 解碼播放(H.264 單視頻流版)

從 RTSP 拉流到 FFmpeg 解碼播放(H.264 單視頻流版) 本文是《H.264 裸流 → RTSP 推流》的對稱篇完整走一遍RTSP 拉流 → RTP 解包 → H.264 解碼 → 屏幕播放的鏈路。協(xié)議層用 Qt 手工實現只在解碼顯示時使用 FFmpeg。讀完你應該能明白RTSP 拉流信令OPTIONS → DESCRIBE → SETUP → PLAY 每一步做什么SDP 里的sprop-parameter-sets怎么解析、怎么轉成 AnnexB extradataRTP 到達后怎么拆包單包 / FU-A 重組 / STAP-A 聚合Frame 怎么交給 FFmpeg 解碼、AVFrame 怎么顯示為什么 config 幀要單獨發(fā)一次只討論H.264 單視頻流暫不涉及 AAC。一、整體鏈路┌────────────────────────────────────────────────────────────┐ │ RtspClient │ │ OPTIONS → DESCRIBE → SETUP → PLAY → TEARDOWN │ │ TCP 收發(fā)信令 UDP 收 RTP/RTCP │ ├────────────────────────────────────────────────────────────┤ │ RTP 解包層RtspClient 內部 │ │ 單包 / FU-A 重組 / STAP-A 聚合 → AnnexB Frame │ ├────────────────────────────────────────────────────────────┤ │ PullWidget │ │ Frame → AVPacket → avcodec_send_packet │ │ AVFrame → sws_scale → QImage → QLabel │ ├────────────────────────────────────────────────────────────┤一句話概括用 RTSP 跟服務器握手拿到 SDP建好 RTP socket 后進入接收態(tài)按 NALU 類型重組出完整的 H.264 幀塞進 FFmpeg 解碼器再把 AVFrame 轉成 QImage 上屏。跟推流方向最大的區(qū)別推流方是 SDP 的生成者拉流方是 SDP 的解析者。二、階段一RTSP 信令拉流信令跟推流是鏡像的推流拉流OPTIONS → ANNOUNCE → SETUP → RECORDOPTIONS → DESCRIBE → SETUP → PLAY客戶端發(fā) SDP服務器發(fā) SDPmoderecordmodeplay2.1 狀態(tài)機RtspClient用一個自增的_cseq當狀態(tài)機。每個請求分配一個 CSeq響應回來按 CSeq 分發(fā)void RtspClient::processResponse(const QByteArray data) { // 解析狀態(tài)行 QString statusLine QString::fromUtf8(data.left(data.indexOf(\r\n))); QRegExp rx(RTSP/\\d\\.\\d (\\d)); if (rx.indexIn(statusLine) 0) return; int code rx.cap(1).toInt(); if (code ! 200) { emit error(...); return; } int cseq extractHeader(data, CSeq).toInt(); if (cseq 1) { // OPTIONS 響應 sendRequest(DESCRIBE, _url.toString()); return; } if (cseq 2) { // DESCRIBE 響應 _sessionId extractHeader(data, Session); int bodyPos data.indexOf(\r\n\r\n); if (bodyPos 0) parseSdpTracks(data.mid(bodyPos 4)); sendNextSetup(); return; } if (_cseqToTrackIdx.contains(cseq)) { // SETUP 響應 handleSetupResponse(data); return; } if (cseq _playCseq) { // PLAY 響應 handlePlayResponse(); return; } }跟推流代碼幾乎是同一個骨架只是把 ANNOUNCE 換成 DESCRIBE、把 RECORD 換成 PLAY。2.2 OPTIONSOPTIONS rtsp://127.0.0.1:554/live/test RTSP/1.0 CSeq: 1 User-Agent: QtRtspClient服務器返回RTSP/1.0 200 OK CSeq: 1 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSETCP 一連接就發(fā)void RtspClient::onTcpConnected() { sendRequest(OPTIONS, _url.toString()); }2.3 DESCRIBE拿 SDPDESCRIBE rtsp://127.0.0.1:554/live/test RTSP/1.0 CSeq: 2 Accept: application/sdp服務器返回H.264 單視頻流RTSP/1.0 200 OK CSeq: 2 Content-Type: application/sdp Content-Base: rtsp://127.0.0.1:554/live/test/ Content-Length: 289 v0 o- 123456 123456 IN IP4 192.168.1.100 sLive Stream t0 0 acontrol:* mvideo 0 RTP/AVP 96 artpmap:96 H264/90000 afmtp:96 packetization-mode1;profile-level-id42C01E;sprop-parameter-setsZ0LAHtoCgPaEAAAAwAQAAAMDGxQ,aM4yyA acontrol:streamid0這一段是拉流最關鍵的地方視頻解碼參數全在 SDP 里。2.4 parseSdpTracks從 SDP 抽 SPS/PPSvoid RtspClient::parseSdpTracks(const QByteArray sdp) { _tracks.clear(); QString s QString::fromUtf8(sdp); QStringList lines s.split(\r\n, QString::SkipEmptyParts); TrackInfo current; bool inMedia false; for (const QString line : lines) { if (line.startsWith(m)) { // 新的媒體段收尾上一個 if (inMedia) _tracks.append(current); current TrackInfo(); inMedia true; QStringList parts line.mid(2).split( ); if (parts.size() 4) { current.mediaType parts[0]; // video current.payloadType parts[3].toInt(); // 96 } } else if (line.startsWith(artpmap:)) { // artpmap:96 H264/90000 QRegExp rx(artpmap:(\\d) ([^/])/(\\d)(?:/(\\d))?); if (rx.indexIn(line) 0) { current.codec rx.cap(2); // H264 current.clockRate rx.cap(3).toInt(); // 90000 } } else if (line.startsWith(afmtp:)) { // 只關心 H.264 的 sprop-parameter-sets QRegExp rx(sprop-parameter-sets([^;\\r\\n\\s])); if (rx.indexIn(line) 0) { QString spsPpsStr rx.cap(1); // xxx,yyy QStringList parts spsPpsStr.split(,); if (parts.size() 2) { current.sps QByteArray::fromBase64(parts[0].toLatin1()); current.pps QByteArray::fromBase64(parts[1].toLatin1()); } } } else if (line.startsWith(acontrol:)) { current.control line.mid(10).trimmed(); // streamid0 } } if (inMedia) _tracks.append(current); qDebug() parsed _tracks.size() tracks; }這一段跟推流的generateSDP是完全對稱的操作推流拉流從 extradata 拆 SPS/PPS從sprop-parameter-sets解碼出 SPS/PPSsps.toBase64()拼進 SDPQByteArray::fromBase64()還原從 Track 信息拼artpmap正則解析出 codec 和 clockRate自己構造 streamid從acontrol:streamidX讀為什么sprop-parameter-sets這么重要它是拉流端解碼器能初始化的唯一途徑。如果服務器 SDP 里缺這個字段就得等第一個 IDR 幀里帶的 SPS/PPS首幀延遲明顯變大甚至解碼失敗。2.5 SETUP建 RTP socketH.264 視頻流只需要一次 SETUP。走 UDP 模式時客戶端分配本地端口服務器往這里發(fā)void RtspClient::sendSetupForTrack(int idx) { auto t _tracks[idx]; // 隨機選本地 RTP/RTCP 端口 t.clientRtpPort 20000 QRandomGenerator::global()-bounded(20000); t.clientRtcpPort t.clientRtpPort 1; int cseq _cseq; _cseqToTrackIdx[cseq] idx; QString setupUrl _url.toString(); if (!t.control.isEmpty()) setupUrl / t.control; QByteArray req; req SETUP setupUrl.toUtf8() RTSP/1.0\r\n; req CSeq: QByteArray::number(cseq) \r\n; req Session: _sessionId.toUtf8() \r\n; req Transport: RTP/AVP/UDP;unicast;client_port QByteArray::number(t.clientRtpPort) - QByteArray::number(t.clientRtcpPort) \r\n; req \r\n; _tcpSocket-write(req); _tcpSocket-flush(); }服務器響應RTSP/1.0 200 OK CSeq: 3 Session: 12345678 Transport: RTP/AVP/UDP;unicast;client_port23456-23457;server_port33470-33471關鍵是server_port客戶端只用來發(fā) RTCP RR接收方向不用管——UDP 是無連接的服務器直接往client_port打 RTP本地 socket 收就是。2.6 handleSetupResponse綁本地端口void RtspClient::handleSetupResponse(const QByteArray data) { int cseq extractHeader(data, CSeq).toInt(); int idx _cseqToTrackIdx.value(cseq, -1); if (idx 0) return; auto t _tracks[idx]; // 解析 server_port QString transport extractHeader(data, Transport); QRegExp rx(server_port(\\d)-(\\d)); if (rx.indexIn(transport) 0) { emit error(No server_port in Transport); return; } t.serverRtpPort rx.cap(1).toUShort(); t.serverRtcpPort rx.cap(2).toUShort(); // 綁定本地 RTP socket t.rtpSocket new QUdpSocket(this); if (!t.rtpSocket-bind(QHostAddress::AnyIPv4, t.clientRtpPort, QUdpSocket::ShareAddress)) { emit error(Failed to bind RTP port); return; } connect(t.rtpSocket, QUdpSocket::readyRead, this, [this, idx]() { onRtpReadyRead(idx); }); // 綁定本地 RTCP socket t.rtcpSocket new QUdpSocket(this); t.rtcpSocket-bind(QHostAddress::AnyIPv4, t.clientRtcpPort, QUdpSocket::ShareAddress); connect(t.rtcpSocket, QUdpSocket::readyRead, this, [this, idx]() { onRtcpReadyRead(idx); }); _setupIdx; sendNextSetup(); }2.7 PLAY啟動傳輸PLAY rtsp://127.0.0.1:554/live/test RTSP/1.0 CSeq: 4 Session: 12345678 Range: npt0-服務器返回 200 后開始往客戶端端口打 RTP 包。void RtspClient::handlePlayResponse() { _isPlaying true; // ★ 關鍵為視頻 track 構造 VideoTrack把 SPS/PPS 送出去 for (int i 0; i _tracks.size(); i) { auto t _tracks[i]; if (t.codec ! H264) continue; // 1. 構造 VideoTrack攜帶 extradata auto vt std::make_sharedVideoTrack(CodecId::H264, i); QByteArray extra; extra.append(\x00\x00\x00\x01, 4); extra.append(t.sps); extra.append(\x00\x00\x00\x01, 4); extra.append(t.pps); vt-setExtradata(extra); // 自動 setReady emit videoTrackReady(vt); // 2. config 幀讓解碼器提前建參數 auto cfgFrame FrameFactory::create( CodecId::H264, extra, 0, 0, false, // key true, // config i); emit frameReceived(cfgFrame); } // RTCP RR 定時器 if (!_rrTimer) { _rrTimer new QTimer(this); connect(_rrTimer, QTimer::timeout, this, RtspClient::onRrTick); } _rrTimer-start(5000); emit connected(); }為什么 PLAY 后要立刻構造 config 幀因為下游的PullWidget拿到 config 幀后會立即發(fā)一次avcodec_send_packet讓 FFmpeg 把 SPS/PPS 記到解碼上下文里。等真正第一個 IDR 到達時解碼器已經初始化完畢沒有首幀延遲。2.8 TEARDOWN斷開時發(fā)送TEARDOWN rtsp://127.0.0.1:554/live/test RTSP/1.0 CSeq: 5 Session: 12345678void RtspClient::disconnect() { if (_isPlaying _tcpSocket-state() QAbstractSocket::ConnectedState) { QByteArray req; req TEARDOWN _url.toString().toUtf8() RTSP/1.0\r\n; req CSeq: QByteArray::number(_cseq) \r\n; req Session: _sessionId.toUtf8() \r\n\r\n; _tcpSocket-write(req); _tcpSocket-flush(); _tcpSocket-waitForBytesWritten(500); } // 關閉 socket、清空 track ... }三、階段二RTP 解包H.264PLAY 之后 RTP 包開始到達。這是拉流方向最費腦子的地方——要把分片的 NALU 重新拼回一個完整的 AU。3.1 入口void RtspClient::onRtpReadyRead(int trackIdx) { auto t _tracks[trackIdx]; while (t.rtpSocket-hasPendingDatagrams()) { QByteArray d; d.resize(int(t.rtpSocket-pendingDatagramSize())); t.rtpSocket-readDatagram(d.data(), d.size()); if (d.size() 12) continue; // 從 RTP 頭解析時間戳和 SSRC const uint8_t* p reinterpret_castconst uint8_t*(d.constData()); uint32_t ts (uint32_t(p[4]) 24) | (uint32_t(p[5]) 16) | (uint32_t(p[6]) 8) | uint32_t(p[7]); t.remoteSsrc (uint32_t(p[8]) 24) | (uint32_t(p[9]) 16) | (uint32_t(p[10]) 8) | uint32_t(p[11]); handleH264Rtp(trackIdx, d); } }3.2 H.264 RTP 三種模式NALU Type名稱含義1~23單 NALU 包一個 RTP 包 一個完整 NALU24STAP-A聚合多個 NALU 在一個 RTP 包28FU-A一個 NALU 被拆成多個 RTP 包三種都要處理。3.3 handleH264Rtpcppvoid RtspClient::handleH264Rtp(int trackIdx, const QByteArray pkt) { auto t _tracks[trackIdx]; if (pkt.size() 12) return; const uint8_t* p reinterpret_castconst uint8_t*(pkt.constData()); uint32_t ts (uint32_t(p[4]) 24) | (uint32_t(p[5]) 16) | (uint32_t(p[6]) 8) | uint32_t(p[7]); const uint8_t* payload p 12; int len pkt.size() - 12; if (len 0) return; uint8_t nalType payload[0] 0x1F; // ---- FU-A 分片 ---- if (nalType 28) { if (len 2) return; uint8_t fuHeader payload[1]; bool start (fuHeader 0x80) ! 0; bool end (fuHeader 0x40) ! 0; uint8_t origType fuHeader 0x1F; if (start) { t.fuABuffer.clear(); // 重建 NALU HeaderF|NRI 保留Type 用原始類型 uint8_t nalHeader (payload[0] 0xE0) | origType; t.fuABuffer.append(char(nalHeader)); t.fuABuffer.append( reinterpret_castconst char*(payload 2), len - 2); t.fuAInProgress true; } else if (t.fuAInProgress) { t.fuABuffer.append( reinterpret_castconst char*(payload 2), len - 2); if (end) { emitVideoFrame(t.fuABuffer, ts, trackIdx); t.fuABuffer.clear(); t.fuAInProgress false; } } return; } // ---- STAP-A 聚合 ---- if (nalType 24) { int pos 1; // 跳過 STAP-A 頭 while (pos 2 len) { int nalSize (payload[pos] 8) | payload[pos 1]; pos 2; if (pos nalSize len) break; QByteArray nalu( reinterpret_castconst char*(payload pos), nalSize); emitVideoFrame(nalu, ts, trackIdx); pos nalSize; } return; } // ---- 單 NALU 包 ---- if (nalType 1 nalType 23) { QByteArray nalu(reinterpret_castconst char*(payload), len); emitVideoFrame(nalu, ts, trackIdx); } }FU-A 重組的關鍵細節(jié)首片FU Header的 S1用它里的 origType 重建原始 NALU Header保留 F 和 NRI 位把 Type 換成原始類型中間片只追加數據不動 header末片FU Header的 E1追加完數據后 emit 一整幀3.4 emitVideoFrame加起始碼 → Framevoid RtspClient::emitVideoFrame(const QByteArray nalu, uint32_t ts, int trackIdx) { if (nalu.isEmpty()) return; // 加 4 字節(jié)起始碼轉成 AnnexB 格式 QByteArray data; data.append(\x00\x00\x00\x01, 4); data.append(nalu); bool key ((nalu[0] 0x1F) 5); // NAL type 5 IDR auto frame FrameFactory::create( CodecId::H264, data, ts, ts, // dts pts 90kHz 時間戳 key, // key false, // config trackIdx); emit frameReceived(frame); }到這里RTP 層的任務結束把 UDP 收到的分片包重組成AnnexB 格式的 Frame帶上 90kHz 時間戳和 key 標記。四、階段三FFmpeg 解碼PullWidget拿到 Frame 后交給 FFmpeg 解碼并顯示。4.1 解碼器初始化void PullWidget::initDecoder() { const AVCodec* codec avcodec_find_decoder(AV_CODEC_ID_H264); if (!codec) { appendLog(未找到 H.264 解碼器); return; } _decCtx avcodec_alloc_context3(codec); if (!_decCtx) return; if (avcodec_open2(_decCtx, codec, nullptr) 0) { appendLog(打開 H.264 解碼器失敗); avcodec_free_context(_decCtx); _decCtx nullptr; return; } _frame av_frame_alloc(); }注意這里沒有手動設置 SPS/PPS。因為我們會在 config 幀到達時通過avcodec_send_packet把 AnnexB 格式的 SPS/PPS 喂給解碼器FFmpeg 會自己從碼流里提取參數。4.2 Frame → AVPacket → 解碼void PullWidget::onFrame(mymedia::Frame::Ptr frame) { if (!frame || !_decCtx || !_frame) return; if (frame-codecId() ! CodecId::H264) return; // 1. Frame 內容 → AVPacket AVPacket* pkt av_packet_alloc(); if (!pkt) return; const QByteArray payload frame-raw(); if (av_new_packet(pkt, payload.size()) 0) { av_packet_free(pkt); return; } memcpy(pkt-data, payload.constData(), payload.size()); if (frame-keyFrame() || frame-configFrame()) pkt-flags | AV_PKT_FLAG_KEY; // 2. 送進解碼器 int ret avcodec_send_packet(_decCtx, pkt); av_packet_free(pkt); if (ret 0) return; // 3. 取所有解出的幀 while (avcodec_receive_frame(_decCtx, _frame) 0) { displayFrame(_frame); av_frame_unref(_frame); } }為什么一次 send 可能對應多次 receiveFFmpeg 內部有幀緩沖一個 packet 進去可能吐出 0 個、1 個或多個 frame比如有 B 幀時。4.3 AVFrame → QImagevoid PullWidget::displayFrame(AVFrame* frame) { int w frame-width; int h frame-height; if (w 0 || h 0) return; // 尺寸變化時重建 sws 和 QImage if (!_sws || w ! _lastW || h ! _lastH) { if (_sws) sws_freeContext(_sws); _sws sws_getContext( w, h, (AVPixelFormat)frame-format, // 通常是 YUV420P w, h, AV_PIX_FMT_RGB32, // 目標32 位 RGB SWS_BILINEAR, nullptr, nullptr, nullptr); _lastW w; _lastH h; _image QImage(w, h, QImage::Format_RGB32); } if (!_sws) return; // sws_scale 做顏色空間轉換 uint8_t* dst[1] { _image.bits() }; int dstStride[1] { (int)_image.bytesPerLine() }; sws_scale(_sws, frame-data, frame-linesize, 0, h, dst, dstStride); // 上屏按窗口縮放保持寬高比 QPixmap pix QPixmap::fromImage(_image) .scaled(_videoLabel-size(), Qt::KeepAspectRatio, Qt::SmoothTransformation); _videoLabel-setPixmap(pix); }三個要點sws 上下文要緩存只在分辨率變化時重建避免每幀重建的 CPU 開銷AV_PIX_FMT_RGB32和QImage::Format_RGB32的字節(jié)序要一致都是 0xffRRGGBBbytesPerLine可能大于 width*4對齊填充sws_scale 用 stride 參數處理五、RTCP RR周期反饋拉流方向也需要定期發(fā) RTCP Receiver Report告訴服務器丟包和延遲情況。每 5 秒一次void RtspClient::onRrTick() { if (!_isPlaying) return; for (int i 0; i _tracks.size(); i) { if (_tracks[i].rtcpSocket _tracks[i].remoteSsrc ! 0) { sendReceiverReport(i); } } } void RtspClient::sendReceiverReport(int trackIdx) { auto t _tracks[trackIdx]; int64_t nowUs QDateTime::currentMSecsSinceEpoch() * 1000LL; uint32_t dlsr 0; if (t.lastSrRecvUs 0) { dlsr uint32_t((nowUs - t.lastSrRecvUs) * 65536 / 1000000); } QByteArray rr buildRrPacket(_localSsrc, t.remoteSsrc, t.lastSeq, t.lastSrNtp, dlsr); t.rtcpSocket-writeDatagram(rr, QHostAddress(_host), t.serverRtcpPort); }RTCP 主要是給服務器做 QoS 用不發(fā)給客戶端也不影響拉流。生產環(huán)境建議發(fā)。六、完整時序主線程 / TCP 線程 UDP 線程 ───────────────────────────────────────────────────────────── connectTo(url) └─ _tcpSocket-connectToHost(host, port) │ ▼ TCP 連接成功 onTcpConnected() └─ sendRequest(OPTIONS) CSeq1 │ ▼ 200 OK processResponse() ──? cseq1 └─ sendRequest(DESCRIBE) CSeq2 │ ▼ 200 OK processResponse() ──? cseq2 ├─ extractHeader(Session) ├─ parseSdpTracks(sdp) │ └─ 從 sprop-parameter-sets 解出 SPS/PPS └─ sendNextSetup() └─ sendSetupForTrack(0) CSeq3 │ ▼ 200 OK handleSetupResponse() ├─ 解析 server_port ├─ bind 本地 RTP/RTCP socket └─ sendPlay() CSeq4 │ ▼ 200 OK handlePlayResponse() ├─ 構造 VideoTrack SPS/PPS extradata → emit videoTrackReady ├─ 構造 config Frame → emit frameReceived ├─ 啟動 RTCP RR 定時器 └─ emit connected() │ ▼ 服務器開始打 RTP ──────────? onRtpReadyRead() ├─ handleH264Rtp() │ ├─ FU-A 重組 │ ├─ STAP-A 拆包 │ └─ 單包直通 └─ emitVideoFrame() └─ emit frameReceived() │ ▼ PullWidget::onFrame() ├─ avcodec_send_packet() └─ avcodec_receive_frame() └─ displayFrame() └─ sws_scale QLabel七、函數職責速查函數所在類職責onTcpConnectedRtspClientTCP 連上 → 發(fā) OPTIONSsendRequestRtspClient唯一的 RTSP 請求構造出口processResponseRtspClient解析狀態(tài)行 按 CSeq 分發(fā)extractHeaderRtspClient大小寫不敏感取頭字段parseSdpTracksRtspClient從 SDP 解析 SPS/PPS/clockRatesendSetupForTrackRtspClient分配本地端口、發(fā) SETUPhandleSetupResponseRtspClient解析 server_port、bind RTP sockethandlePlayResponseRtspClient構造 VideoTrack config 幀、啟動 RRonRtpReadyReadRtspClientRTP 數據到達入口handleH264RtpRtspClientFU-A 重組 / STAP-A 拆包 / 單包直通emitVideoFrameRtspClient加起始碼 → Frame → emitinitDecoderPullWidget創(chuàng)建 H.264 解碼器上下文onFramePullWidgetFrame → AVPacket → send_packet → receive_framedisplayFramePullWidgetsws_scale → QImage → QLabel八、踩坑速查現象原因PLAY 后一直黑屏SETUP 綁端口失敗或服務器 server_port 解析錯花屏FU-A 重組時丟了分片或 SPS/PPS 未先喂解碼器首幀延遲大沒有主動構造 config 幀等 IDR 才喂 SPS/PPS卡死解碼器只 send 不 receive幀緩沖滿了sws_scale 輸出花屏sws 上下文沒在分辨率變化時重建內存暴漲每幀都new AVPacket但忘了av_packet_free收到 RTP 但無畫面檢查 NALU Type 是否被正確識別28/24/1~23 都要處理播放一會兒就停RTCP RR 沒發(fā)服務器主動斷流部分服務器九、小結拉流方向的三層職責RTSP 層OPTIONS → DESCRIBE → SETUP → PLAY拿到 SDP 里的 SPS/PPS 和 server_portRTP 層按 NALU Type 分發(fā)到 FU-A / STAP-A / 單包重組出 AnnexB Frame解碼層Frame → AVPacket → FFmpeg 解碼 → AVFrame → QImage 上屏跟推流方向對照著看幾乎每個環(huán)節(jié)都能找到鏡像推流拉流generateSDP()生成parseSdpTracks()解析sendConfigFrames()發(fā) SPS/PPShandlePlayResponse()收 SPS/PPSpackH264()拆成 RTP 包handleH264Rtp()重組成 NALUsendRtpPacket()發(fā)onRtpReadyRead()收onSendTick()節(jié)流發(fā)displayFrame()實時顯示兩邊對照著讀RTSP/RTP/H.264 三條邊界就一目了然了。rtsp推拉流
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲精品美女久久久久久久久| 蜜桃久久久久久久| 亚洲av青草久久一区二区| 欧插网站| 国产偷拍自拍在线视频| 91人人| 好好的日:com久久九九| 国产欧美日韩臀| 成人亚欧免费视频| 欧美激情另类一区二区| 91精品人妻| 3571色综合一区二区二区| 秋霞色色影院| 日本免费二区三区| A啊啊在线观看| 麻豆啪啪啪视频| 亚洲av性爱电影| 91插B网站| 亚洲综合影片| 国产青青美女玩逼视频| 狠狠操一区二区| 亚洲免费看片| 91一起操| AAAAAAAAA黄片| 欧美极品美女aaaaaa级黄片| 亚91网| 欧美洲精品一级| 国产13区| 中文字幕91综合| 日本一级性爱| 思思热er精品视频| 一类av片在线看| 五月亭亭六月丁香| 久久精品国产精品一区| 久操com| 国产精品点击进入在线影院| 欧美色97| 九月伊人中文字幕| 美女网站91| 97在线视频观看免费| 日夜久久久九九九久| 五月婷婷爱六月丁香色| 中文字暮97| 97人妻色| 国产专区路线| 四虎在线免费视频| 欧洲亚洲综合| 偷窥自拍亚洲| 国产99999| 97亚洲色图| 一本色道熟妇| 久热最新在线杭州| 久久国产免费激情视频| 婷婷亚洲色| 国产激情综合| 国语人妻精彩刺激| 久久久久成人蜜桃精品| 精品久久久av| 草伊人高潮喷水超碰| 另类小色呦| 在线v中文字幕一区二区三区 | 亚州精人品大香蕉| 一道本久久棕合爱| 清清草影| 成人情色综合网| 性感美女91影视| 日本三级精品| 国产无码精品无码| 曰韩精品视频一区二区| 玖玖玖玖精品国产剧情| 日本天天色| 无码免费一区二区三区啪啪| 婷婷五月天久久精品视频一区二区三区 | 久久人妻熟女一区二区 | 少妇一级婬片免费放一级a性色.| 做爱A级亚欧| 操逼网免费无码视频| 日本特黄f c2| 国产精品视频播放| 熟女一区二区三区四区| 美女性91| 欧美十八禁在线看| 四虎影视在线| 99热18这里只有精品| 男人的天堂久久| av激情亚洲五月天| 国产精品老师| 亚洲情色在线| 加勒比av官网在线| 天天天干977| 性色AV蜜色av色欲av| av强奸乱轮| 婷婷丁香六月天| 五月婷婷六月激情| 福利大香蕉| 91精品国产91久久青草| 韩国成人精品久久久免费看| 玖玖97综合| 在线亚洲丝袜视频网站| 欧美日韩*字幕一区| 超碰人妻天天干| 久操大香蕉手机视频在线看 | 亚州高清色综合| 性欧美999| 波多野42部无码喷潮在线观看 | 色噜噜人妻av 中文字幕| 日本精品国产视频| 九九九国产| 啪啪啪东京| 一卡二卡三卡| 久久无码电影| 99蜜桃臀久久久欧美精品网站| 殴美性天天| 久久69精品久久久久久久| av在线资源| 日日黄色三级网站| 欧美日韩不卡a片| 婷婷六月色| 97国产综合欧美| 九九干| 求求你操操我| 亚洲色 国产 欧美 日韩| 国产超碰在线一区| 国产精品不卡一区二区电影| 99丝袜福利在线播放| 97网站在线观看| 在线播放欧洲免费av| 一区三区啪啪| 久久久久久无码人妻中文字幕| 韩三级a视频在线观看| 中文字幕艹艹| 无码久久亚洲高清,| 婷婷久草一区二区三区| 很很操在线| 射 色综合| 欧美人妻少妇| 91色黑人少妇| 成人无码电影在线观看网| 久久久穴999| 夜夜操美女| 我中文字幕6区| 午夜福利免费福利视频| 天堂亚洲欧美| 国产精品乱码久久久久久久久久久久| 樱花蜜乳av| 天天综合站| 懂色AV一区二区三区| 天堂亚洲欧美| 欧美色综合影院| 日韩人妻精品| 蜜臀国产AV中文字幕| 日日骚中文字幕| 韩日男人的天堂| 日韩欧洲操屄视频| 久久久无码精品人妻二区 | 亚洲男人的天堂亚洲| 乱伦日本中文自拍| 日韩电影免费网站麻豆视频| 日韩天堂av电影在线观看| 蜜乳AV免费观看| AV中文字幕剧情1区2区3| 日韩AV一区二区三区三州三州| 久久国产在线一区二区| 久久激情四射婷婷丁香五月天| 麻豆天美电影一区二区| 美國A片| 欧洲亚洲人妻无码高清久久三区四区| 超碰中文字幕人妻草一区| 色婷亚洲五月在线观看| 精品人妻一区二区视频| 97免费在线视频| 久操网在线| 99热91| 涩综合导航| 亚洲欧美在线丝袜| 精品人妻视频一区二区在线播放| 亚洲黄日韩无码专区| 爽 好舒服 无码刺激久久| 97精品一区二区视频| 操熟女91| 91老熟女91老女人| 五月天人妻综合| 口爆欧美91| 色欲天天综合网| 色伊人91| 精品丝袜无码一区二区三APP| 伊人国产AV| 欲射影视| 精吧天堂| 国产女人9999| 午夜欧美J进J出白浆流出久久久 | 校园春色家庭伦理欧美激情| 使劲用力艹少妇视频一区二区| 丁香六月婷婷| 亚洲经典啪啪| 97自拍视频在线| 首页中文字幕中文字幕免费| 秋霞曰韩R级| 久久五十路熟女人妻| 中文乱码字字幕在线第5页| 日本大香蕉综合网红本杳社区| 日本一级不卡一二区| 成人热久久精品| 国产精品亚洲四五区在线观看| 日日日日日| 免费精品99| 色婷久久| 精品四五区| 日韩无码嘿咻黑热久| 色婷五月天| 麻豆国产尤物AV| 成人欧美一区二区三区黑人一| 啪啪综合网| 熟女六十路| 9久热| www.99热| 日本天天干天天操一区| 亚洲一区二区三区春色| 看黄片视频免费| 久久久久久国产精品免费网站| 人人操人人摸人人看人人干| 欧美性爱伊人| 久久婷婷六月综合| 欧美永久激情一区二区| 日本新免费二区三区| 久久同城AV| 日本国产二线女色| 欧美日韩中文字幕人妻| 粉嫩av平台| 美国精品国产精品| 9999免费精彩视频| 69AV女优男人的天堂| 日本999精品| 伊人色综合网电影| 国产精品久久久久久夜夜夜| 亚洲第91页| 亚洲97网站| 男人的天堂免费| 欧美一区二区男人天堂| 国产精品婬乱一级毛片彝族| 色婷婷丁香五月| 日本欧美韩国日产片片在线看免| 黑人天8A∨高清网站| 国产乱人妻精品入口| 91老妇女| 摸奶性爱视频网站在线免费播放| 操逼操操操91| 欧美在线伊人色| 丰满人妻一区二区中文| 亚洲精品久久久久毛片A片拉屎 | 草草影院最新网址| 99热精品在线观看| 久久爽爽精品| 精品国产AV一区天美传媒| 日本国产亚洲一区在线观看| 操一区| 亚洲蜜臀懂色| 久久超碰com| 免费一级精品啪啪视频| 操逼精品视频| 欧美色乱| 国模精品娜娜一二三区| 久久亚洲人妻| 成人av毛片在线观看| 另类 日韩 熟女| 日本熟妇熟色97一本在线观看| 97超级欧美| 欧美色图20P| 亚洲日韩美国人妻| 中文字幕av久久爽Av| 欧美色91| 美女国产一区二区久久| 亚洲97P| 丰满人妻-区二区三区免费看| 狠日操| 91天天日| 国产路线专区| 久久久久久午夜男人的天堂| 97久久久久久久久久| 视频一区二区三区精品| 夜夜狼人妻| 一区二区三区一亚洲中文字幕、综合区灬| 亚洲最大网站av| 日韩9999| 懂色中文一区二区三区| 天天摸天天插天天日| 精品大全99999| 欧美成熟性爱精品| 成人女人国产| 国产女人极品高潮毛片| 丁香婷婷激情五月天无毒不卡| 农村女一级毛卡片| 青苹果影院男人的天堂| 9久在线视频只有精品| 天天射影院| 大香蕉线| 久久手机视直播| 天天肏视频| 97资源制服丝袜| 大香蕉狠狠爱| 欧美不卡在线美女| 91在线精品一区二区三区| 97九色人妻| 国产无码精品成人| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 青青草视频这里只有精品| 91 丝袜在线播放| 强奸少妇AV导航网| 精品九九国产无码| 9久9久| 操碰91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 黄色av一区二区在线| 天天综合站| 日本片日本片祼观看网站在线看中文版网页在线看| 久久99久久99精品天美传媒棢·纸:. | 中文字幕视频一区视频二区| 亚洲av国产av综合av卡| 久久亚洲天堂| 蜜臀久久99精品久久久久久久久| 神马久久久久久| 岛国AV一区二区电影| 欧美人人曰人人操人人射射| 欧美色图97| 啊啊啊操一区| 国产在线强奸视频| 97色综合中文网| 国产夫妻一区二区| 色香色欲天天综合网天天来吧 | 少妇 综合| 国产 日韩 欧美高清| 中文无线日韩一区| 欧美三级不卡| 欧美强奸乱能| 国内毛片欧美香蕉精品| 安微少妇操BBB| 超碰日本97美女人妻人人玩人人爱| 久久久久久久久久va| 97国产精品久久久久| 色婷婷亚洲婷婷| 人人操我人人干| 91美女片在线| 久草草一二三四区久久| 熟妇熟女视频一区二区三区| 中日亚韩免费视频| 久久婷婷电影网| 国产蜜臀在线| 亚洲欧美成人网站AAA| www.高清无码诱惑一区.com| 日韩欧美视频青青| 亚洲av综合色区无码一| 69XX一中文字幕人妻91| 欧美+日产+中文| 美女黄码视频午夜| 精品十三区| 超碰狠狠操| 粉嫩av久久一区二区三区| 蜜臀网 一区| 91视频综合在线| 人人操天天爽| 亚洲骚女一区二区三区| 亚洲国产欧美中文永久| 再深点灬舒服灬太大了添视频| 淫荡网址| 人妻第一页| 1024午夜激情男人的天堂| 日产国产精品中文久久婷婷| 大奶啊啊好爽| 综合熟女| www.狠狠操| 欧美性爱精品一区二区| 色哟哟511老熟女| 伦激情人妻另类人妻| 日本综合色图| 国产9l 大屁股| 欧美亚洲首页| 久久超碰97| 东京太热男人的天堂久久久| 久久久96精品| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产精品高朝久久久久久久| 天天内射| 精久久久| 国产丁香精品露脸视频| 色97国产69香蕉| 亚洲清纯唯美| 国产后入清纯| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 天天做天天爱| 志村玲子视频一区二区| 日韩在线AB| 国产九九久久久精品| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美日韩操逼嗦吊| 99热超碰在线| 97天天摸天天碰| 东京太热久久久| 蜜臀精品1区2区| 色女综合| 一二视频神马久久传媒| 国产亚洲中文不卡二区| 人人插人人摸人人| 九九热AV| 99re3这里只有精品| 中文字幕丝袜人妻| 男人把坤坤插入女人的下体| 全国男人天堂网| 日韩91网站| 九九九色| 三级日韩一区二区三区| 日本免费人成视频播放120秒| 国产精品免费日韩| 99色色网| 久插综合| 我要色综合网站| 国产精品美女| 天天操夜夜嗨| 99热亚洲| 男人网站婷婷| 午夜αv| 日本无码1| 伊人激情| 日韩丝袜高跟制服在线观看| 91高清欧美| 亚洲欧美国产中文视频| 抽插无码高清一区| 亚洲情色在线| 97欧美| 日韩 欧美 视频 在线 一区| 五月综合激情| 人伦四五区| a片久久久久久久久久久久 | 一级性爱视频免费在线| 亚洲天堂7777| av亚洲天堂资源网站| 精品久久久久成人码免| 国产辣妈在线视频福利| 婷婷五月激情综合| 91少妇香蕉久久精品| 激情欧美97| 思思热久久成人| 国产欧美日韩女同性恋ww喷水精品| 色天堂综合| 97欧美综合| 日韩性爱电影一区| 国产久久男人天堂| 91亚洲色人| 日本高清电影欧美色图| 综合网亚洲在线| 亚洲欧洲日韩天堂av| 欧美视频在线第3页| 精品9999| 日韩色欲久久一二三四区| 天天欧美色| 香蕉国产97| 91快色色色色色| 麻豆久久久久久久久丝袜| 99re这里只有精品2| 国产精品久久久久久久AV大片| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 中文字幕乱码人妻一区二区三区,99精品 | 97色在线视频| 超碰久热| 性色综合网| 亚洲精品日日夜夜52| 日欧毛片久久| 涩涩涩综合| 国产精彩女在线观看视频| 免费一级性爱久久| 97色色,97综合| 欧美精品成人一区二区在线观看| 亚洲色天堂日韩中| 女人综合网| 国产乱码久久| 亚洲黑人在线| 黑丝91视频| a片自拍直播视频| 蜜色网色哟哟| 自拍偷拍草一草| 久久最新视频免费观看| 中文字幕日韩人妻视频| 二三四区精品| 亚洲欧美日韩综合在线尤物 | 亚洲偷拍自拍在线视频| 国产一区二区精品久久久不卡蜜臀| 久精品无码av一区二免费国产在线观看 | 少妇诱惑视频| 色综合久久av| 日韩无码服务区| 久久丁香五月天| 91熟女在线| 中文字幕一区二区三区蜜臀| 一级人妻性爱视频| 夜夜 中文视频rt| 人人干人人操人人..com| 自拍啪啪视频| 久久最新免费视频23| 国产v片在线免费观看| 男人把坤坤插入女人的下体| 免费啪啪啪网站18岁| 可乐操在线| www.97在线| 国产成人午夜视频网址| 色香网| 97人肏| 久久久久久人妻一区精品色欧美| 亚洲综合色在线| 色色国产| 91爆操视频| 诱惑网综合| 欧美少妇性乱| 久久国产三区| 玖玖资源综合在线视频| 91老熟女视频| 蜜乳av一区二区三区| 亚洲av夫妻操穴网| 激情综合网五月婷婷五月天| 国产精品第一页国产大屁股视频免费区| av在线浏览| 国产日本久久免费精品| 亚洲精品一二牛牛| 欧美成97爱| 亚洲少妇在线影音| 日本人体九九九九九九| 国产综合网站在线播放 | 国产一二三福利视频网| 北条麻妃性愛视频| 1956日韩精品| 91精品黄在线观看| 欧亚成人| 黄色香蕉视频网站一区| 性一级黄色录像片网站导航| 无码九九九九| 老熟女熟妇| 欧美中字二区| 午夜性刺激视频免费观看| 成年女人一区| 婷婷五月激情综合| 在线人人人人人人精品超| 国产成久久综合片| 久久九色| henhen91| 97在线视频免费看| 日韩欧美中文字亚洲慕| 亚洲天天影视色综合| 欧美性爱一内片一区二区三区| 欧美综合区| 国产浮力影院第1页| 翔田千里一区二区三区奶水| a片自拍直播视频| 日骚逼视频| 天天综合~91| 爱丝福利| 久肏视频字幕| 久久精品国产97欧美精品亚洲| 日韩 成人 有码| 97爱爱影院| 台湾佬中文娱乐自偷自拍| 狼天天狼天天大香蕉| 99热免费| 麻豆视频test| 图色综合网| 成人精品视频一区二区| 97中文字幕色| 无码男人天堂| 亚洲日本天堂| 91精品在线播放| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 色情五月丁香| 色情综合网| 天天色粽合合合合合合合| 天天天天干| 一本一道人妻久久一区二区三区 | 99热在线只有精品| 日逼97| 天天射夜夜操| 亚洲av无码成电影在线播放| 3028国产精品| 久久XX| 99国内精品| 中文有码第五页| 日日干男人的天堂| 熟妇女伦乱视频视频| 99999亚洲另类| 在线97视频| 婷婷在线视频在线观看| 一级啊性爱在线视频| 色一情一乱一乱一区91Av| 蜜臀久久久久久999| 99热精品青草在线| 啊啊啊啊啊舒服| 97超碰大| 国产探花精品在线| 成功精品影院| 色色色色色色色色综合| 久久久极品| 欧美18老人禁| 激情五月天丁香社区| 欧美日日网| 欧洲小说色图视频另类| 噜噜噜噜久久久精品免费| 国产亚洲福利第一页丝袜| 国产精品探花视频| 成人女人国产| 性欧美91| 亚洲精美粉嫩嫩泬在线观看| 五月天色图影视| 日韩欧美偷拍美女视频| 色综91| 91强热人妻| 麻豆久久久久久久久丝袜 | 久久精品店| 夜夜爽妓女| 大香蕉日韩欧美| 日韩字幕一区| 人人摸人人干| 春色综合免费| 亚洲一曲日韩精品| 五月久久HDAV| 9久9久9久9久视频网站| 巨爆乳一区二区爆乳区| 91九九九馒头| 国产精选视频| 久久无码电影| 日韩少妇在线视频| 三级日韩一区二区三区| 99精品在线观看| 天操天操夜操夜月月年年操操| 国产高清视频无码在线| 天天综合精品| 啊啊啊操死我了| 日韩A优精品在线观看| 精品人妻夜夜草| 一本久道久久综合狠狠爱一密臀精| 国产特级毛片AAAAAA高潮流水| 欧美专区在线| 综合久久9| 120分钟婬片免费看| 91碰碰| 国产 热久久久久国产精品| 啊啊啊97视频| 国产精品久久久久久亚洲色欲| 又黑又大又粗 | 久久久久久久一级黄色打同平台| 老熟女天天操| 婷婷五月丁香五月| 蜜臀久久久99久久久久 | 91bbbbbb| 综合色图亚洲欧美| 囯产精品久久久久久久久久二区三区| 激情网五月天| 97超碰超碰| 婷婷综合在线观看| 亚洲AV成人精品网站在AV| 亚洲无套久久嗯嗯| 大学生美女口爆| 91 丝袜在线| 日本人妻中文字幕| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 热久久无毒不卡| 日韩国产成人自拍视频| 欧美图片色五月天| 欧洲色色| 亚洲麻豆av一区二区| 人妻出轨一区二区三区| 国产日韩欧美中文在线播放| 欧美91在线+|+欧美| 天天色,天天干,天天干| 91色综合色| 色色五月天激情| 久久久久久久久久9| 九九久久首页| 天天激情干| 欧美专区17页| 亚洲色人妻综合| 成人小说视频在线精品欧美| 9999久久久久| 六九九九| 日本 色 导航| 91天美免费| 嗯啊啊啊轻点视频| 伦伦成年午夜免费视频| 欧美色九九| 欧美日韩人人早| 国产av美女被艹的乱叫| 男人天堂欧美| 亚热日本熟女| 亚洲激情综合| 91精品微拍福利| 骚鸭AV| 曰本熟女视频| Aa东京男人的天堂| 性吧在线视频| av天堂精品久久| 伊人九九九| 日本最新免费韩国1区2区视频播放| 国产精品视频白浆免费| 91无码西班牙视频在线| 香蕉色网| 韩国轻伦国内自拍一区| 91操人| 国产精品白领在线观看 | 免费无码国产精品v片在线观看| 久久中文字幕女同性恋一区| 欧美日韩资源在线| 99色色网| 中国女人内射6XXXXX| 啊啊啊想要| 香蕉大久久久| 国模不卡一本二本三电影| 能看的av| 无码国产精品久久久久| 美女操逼A A| 好吊色综合| 超碰欧美COM| 亚洲男人综合网| 青青草久久一区网| 91蜜臀熟女| 亚洲激情四射| 在线人人人人人人精品超| 26uuu成人影片| 东京热毛片177b2viP| 人妻 欧美亚洲| 亚洲爱爱视频一区二区| 欧美日韩少妇色情| 青青草视频在线观看一区二区| 六月激情网| 午夜色婷婷| 天天躁日日躁AAA片李宗瑞| 国产日产精品久久快鸭的功能介绍| dy888午夜老子影视达达兔| 人妻91少妇| 99久久免费看精品国产一区| 伊人久久亚洲色欲综合网站| 亚洲精品一区二区免费在线观看| 天天综合欧美综合| 日韩超碰精品综合| 人妻插插人妻人| 日本淫色网| 亚洲情色婷婷五月天| 亚州精人品大香蕉| 欧美成人9797| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲AV成人精品网站在AV| 大香蕉综合网| 国产精品久久久啊| 香伊人在线| 亚洲欧洲综合成人av一区| www亚洲免费| 欧美精品日韩久久久九| 国产精品一区午夜福利| 日日操丁香五月天| 久久性爱大全| 婷婷五月天av| 野狼激情网| 亚洲AO在线| 天天综合网1| 自拍第一页| 91亚洲图片| 操逼操逼操| 91丨九色丨国产丨人妻在线| www.91逼逼.com| 无码视频黄色网战| 青青国产精品在线| 久久久久亚洲精品| 精品白丝一区| 好爽免费视频| 亚洲国产精品99久久久| 中文字幕狠狠玩| 亚洲色图久久精品蜜| 91红杏| 超碰是碰在线观看| 超碰欧美97| 中文字幕五月婷婷免费| 国产超碰| 日本不卡码黄色| 国产一区二区成人av在线播放| 在线观看一级α片刺激高潮视频| 丰满人妻一区二区三区四区| 久热九九| 欧美日韩少妇色情| 极品人妻少妇综合| 人妻一区二区三区视频| 欧美在线观看综合国产| 91人人看| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 蜜桃狠狠色伊人亚洲综合网站| 操逼视频国产无套| 久久久 国产精品| 日本免费不卡二区| 欧美日韩系列| 五月丁香六月综合缴清无码 | 久久国产视频专区一二三| 91国内外在线| 久久大黄片| 干婷婷综合网| 午夜天堂精品久久| 超碰在线免费一区二区三区| 一级二级三级黑人无码| 日韩人妻资源在线看| 欧美 日韩 婷婷 五月| 麻豆av一区二区| 家庭乱伦性爱av| 日本一二区免费| 亚洲第一页色网| 久久riav中文精品| 人人妻人人操人人乐| 精品二区三四区五电影 | 欧美黑人精品一区二区| 91最新综合| 精品九九九九九九| 黄色av一区二区在线| 一本大道综合伊人精品热热| 92久久| 99久久99九九99九九九| 免费亚洲国产精品久久一区| 日本人妻伦在线中文字幕| 开心激情婷婷| 骚鸭AV| 手机在线人成免费视频| 久久久久网站-538在线视频-欧美永久乱码| 另类欧美色| 欧美一级黄片免费播放| 中文在线视频| 日韩欧美国产一区二区三区四区| 久久有码| 一区操逼| 最新中文字幕av| 秋霞免费无码视频日韩A片| 精品四五区| 懂色aV一区二区天美传媒| 亚洲色图大香| 九久精品| 色穴精品| 乱伦熟妇一区二区| 午夜性| 亚洲伊人久久综合97| 青青草原人妻| 无码精品久久久久久亚洲| 超碰亚洲欧美日韩无| 国产传媒日韩| 久久久久中出| 亚洲AV麻豆Aⅴ无码电影一| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 少妇激情一区二区三区视频| 日本日逼视频网| 精品一区二区三区18| 伊人97超碰| 欧美精品精品一区二区| 精品十三区| 黄片色区软件| 97国产中文| 人人色97| 自拍偷拍国产欧美日韩韩| 国产中文福利| 国产亚洲精品第一最新| 视频二区美腿制服人妻欧美| 婷婷五月天激情小说| 91亚洲在线| av操操不卡| 欧美另类精品xxxx| 欧美性高潮| 日本免费不卡二区| 无码人妻精品一区二区中文| 999熟女精品| 99性爱| 国产白领连续中出在线观看| 精品蜜乳AV免费观看| 四季AV一区二区凹凸精品小说| 中文字幕亚洲热播人妻| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 四色永久成人网站| 亚洲国产精品无码AV久久| 欧美精品双插| 国产精品99久久久www| 黄骗免费网站| 精品国产乱码久久久兰草影视| www…国产操逼| 91处女在线观看| 丰满精品人妻少妇久久字幕| 97碰在线视频| 色y情视频免费看| 久区视频| 蜜臀99999| 99热91| 大学生口爆吞精| 天天干人人乐| 久久久专区| 日韩人体偷拍| 另类一区| 人人玩人人添人人澡免费| 人妻激情视频| 97日视频| 96精品在线| 亚洲 欧美 手机在线观看| 欧美成人一级麻豆| 一二三四区电影| 国产污视频麻豆传媒一区二区 | 精品人妻一区二区三区四区| 9久久美女首页| 激情文学网伊人| 三级网色| 国产精品日本无码A片| 91欧美www| 国产精品久久久九九九| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 四虎884a| 日韩亚洲美女一区久久| 国产综合操逼高清| 插穴性爱视频在线观看| 人妻色偷色噜| 欧美色图亚洲色| 国产亚热在线久久| 九九九九精品一区| 97亚洲资源| 天美av在线观看| a久久| 99热在线播放| www.色婷婷色综合| 综合影视国产无码| 思思热国产在线视频| 色欲Av人妻精品一区二| 91处女在线观看| 综合第一页| 亚洲精品91| 欧洲综合色| 欧美色图欧美| 极品人妻少妇综合| 九九这里只有精品| 色婷婷一区二区三区久久午夜成人不| 97伪v| 久草男人天堂| 久久婷婷欧美| 91美女在线视频| 人妻爽爽啪视频| 啊操爽品善一区二区三区| 中文字幕精品人妻丝袜| 色综合中文字幕不卡| 97亚洲综合电影| 亚洲18禁| 玖玖爱综合| 麻豆婷婷成人一二三| 熟女欧美日韩综合婷婷| 加勒比日本在线| 农村妇女精品一区二区| 精品999日本| 97欧美色综合| 超碰色美女| 少妇精品| 久操电影| 亚洲精品尤物yw在线影院| 三级激情网站| 亚洲一欧洲中文字幕在线| 亚洲国产麻豆一区二区三区| 国产成人精品亚洲日本| 久久伊人大香蕉| 欧美亚洲综合色| 日本丝袜美腿人妻九九| 淫乱图区 | 在线性黄高清免费视频| 99热99色| 九九热免费国产视频婷婷伊人五月 | 无码精品啪啪啪一区二区三区三州| 少妇激情AV| 超碰人妻久久| 国产色综合亚洲色综合吹潮| 无码黑人精品一区二区三区三| aaaa黄片| 欧美亚洲综合色| 日韩啪啪啪视频| 骚妻少妇精品性色无码四色A V| 91n处女在线观看| 亚洲国产丝袜熟女av | 日韩综合97P| 亚洲激情久久久伊人综合| 操国产逼| 国产无码一二三区| 一区二区你上我| 夜精品久无码| 在线中文字幕视频| 黑人白女精品一区| 蜜桃臀AV在线| 久久久久久九| 免费伦费视频在线观看| 婷婷久久综合| 色www精品视频在线观看| 99re视频在线播放青草| 久综合国内精品自在自线| 国产亚洲精品自在线亚洲情侣| 日韩99神马视频播放片在线播放| 综合91网| 清纯唯美亚洲| 入口操逼网站| 国产suv精品一区二区四区999| 人人摸人人舔一区二区| 亚洲性网| 六月婷婷综合| 熟女网站最新| 黑人免费福利视频| 大香蕉乱伦视频网| 男人的天堂欧美| 欧美色图20p| 91精品伊人久久久大香线蕉91| 久久久不能久久久久| 97操97干| 无码免费精品高清| 神马久久中文字幕| 日韩小电影| 国产精品久久久久av| 亚洲天堂人人妻| 亚洲学生妹高清av| 激情综合五| 亚洲情色综合网| 国产精品亚洲无码| 毛片视频白嫩| 91精品91久久久中77777| 久久无码电影| 欧美久久人妻少妇一区二区| 亚洲熟伦熟妇AV无码春色| 天天弄天天操| 91少妇高潮| 亚洲第一无码播放立川理惠| 亚洲欧美一区二区不卡视频播放| 大学生美女口爆| 欧美激情综合色综合啪啪五月| 久久九九精品一区二区| 黄骗免费| 亚洲日韩欧美一区二区| 强奸乱伦AV网址| 亚州乱码中文字幕综合久久久| 久久久久九九九| 亚洲色图久久成人| 欧美色青| 爱射综合| 91久久久亚洲| 国产精品乱人伊人网| 精品高潮| 蜜桃传媒一区二区亚洲| 欧美人体性爱互联网第一页婷婷日本| 日韩啪啪啪啪啪| 综合色91| 激情四射婷婷四五月天| 亚洲天堂久久久久久粉红视频| 98色网| 水多多映视AV| 97内射偷拍| 久久久久久久伊人精品| 99热 按摩 日韩| 乱伦av国产| 四虎免费视频| 岛国成人av在线播放网址| 久久黄黄黄| 嗯啊不要在线观看嗯啊| 日日爱99| 色综合加勒比四四季| 两女互慰AV高潮喷水在线观看| 96免费视频在线| 日韩精品碰碰| 日夜尻逼网| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲欧美碰碰| 天天日日舔舔| 黄色视频60分钟| 大香蕉92| 920日本午夜免费| 国产精品成人AV片免费看网站| 嗯~啊~快点 死我视频| 国产中文字幕在线点播| 欧美综合777| 狠狠干狠狠干| 可以免费看黄片的视频| 亚洲系列欧美| 日韩人妻精品久久久久| 不卡中文字幕aⅴ在线| 精品无码产区一区二| 桃色五月天| 成人av在线播放| 后入合集| 啊啊啊好湿久久| 亚洲毛片一级带毛片基地| 97超碰超| laoshunv91| 91五月天| A 在线网址| 麻豆熟妇乱妇熟色A片在线看| 久久久久中出| 黄片不用下载在线观看| 精品福利| 青操影院| 国产人伦精品一区二区三区| 久久精品高清AV| 好爽视频在线观看视频| 粉嫩小泬久久久一区二区| 狠狠爱综合网| 国产成人无码啪| 国产精品乱码久久久| 精品国产国产AV| 精品国产乱码久久久久久久久1| 精品国产一区二区三区在线播出| 欧美91色| 级品肉射| 无码人妻一区二区一牛影视| 国产AV无码AV| 丰满美女一级毛片在线播放| 午夜美女诱惑电源网| 日本大香蕉| 色色色色色色色色色色色色色色综合| 亚洲色图欧美色图日韩色图| 偷拍盗拍亚洲色图图片| 乱色老一区二区三区的观看方式| 久九干| 五月天婷婷久久| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美性爱一区二区三区| 亚洲第一页第二页激情| 丝袜视频网国产90| 国产成人主播| 91视频观看网站| 五毛骚逼极品美女怕怕| 啊嗯好大视频在线观看| 麻豆人妻精品一区二区| 亚洲少妇中文字幕网址| 91丨豆花丨熟女| 日韩欧美性吧婷婷乱伦大香蕉| 人妻第一页| 亚洲色棕合| AV久日| 夜夜骑天天燥| 91撸色网 玖玖网 欧美| 欧美日韩国产传媒在线精品| 色婷网| 九九碰九九爱97| 久久久久国产无av| 深夜激情无码| 干婷婷综合网| 午夜欧美女人操逼| 色噜噜人妻丝袜a∨先锋影| 日韩性爱毛片操骚逼| 91久久免费视频互動交流| 思思热在线视频在线| 爱爱啊啊啊| 亚洲欧美日韩不卡人妻| 少妇激情一区二区三区视频| 麻豆色99999| 黑人精品欧美一区二区蜜桃| 成人开心网在线视频| 九九免费影片| 91亚洲最新在线| 亚洲欧洲日韩中文字幕一区| 玖玖无码超碰| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 日韩一区二区精彩视频| 韩国免费播放一级毛片| 亚洲精品国产精品成人| 日本熟女不卡视频| 国产日韩欧美操逼视频| 日韩欧美aⅴ综合网站发布| 欧美日韩香蕉| 久久HD|