久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

uniapp接入云臺相機(jī):三條路線與PTZ控制避坑指南

uniapp接入云臺相機(jī):三條路線與PTZ控制避坑指南 1. 先聊清楚uniapp 接云臺相機(jī)這件事到底難在哪我做安防類項(xiàng)目有幾年了最近半年被問得最多的一個問題就是uniapp 能不能接云臺相機(jī)云臺插件到底好不好用。這個問題表面上是問插件實(shí)際上是問一整套取流、控制、跨端適配的技術(shù)路線能不能成立。我前后在三個項(xiàng)目里試過不同做法一個園區(qū)值班室的中控屏、一個連鎖門店的巡店應(yīng)用、還有一個設(shè)備巡檢的移動作業(yè)端規(guī)模都不大但把該踩的坑基本都踩了一遍。先給結(jié)論uniapp 跨平臺監(jiān)控方案是可行的但它的可行有明確邊界。你能用一套代碼同時出 H5、安卓 App、iOS App甚至小程序這個誘惑太大尤其是團(tuán)隊(duì)只有一兩個前端的時候??梢曨l監(jiān)控這個場景天生重原生——解碼、渲染、硬件加速、低延遲傳輸每一環(huán)都貼著操作系統(tǒng)底層走而 uniapp 的強(qiáng)項(xiàng)是視圖層和業(yè)務(wù)層的跨端復(fù)用兩者中間隔著一層原生橋接摩擦就發(fā)生在這一層。下文我把標(biāo)題里說的云臺插件統(tǒng)一理解為某安防廠商下文簡稱 A 廠商提供的、封裝了設(shè)備登錄、實(shí)時預(yù)覽、云臺控制PTZ、錄像回放、抓圖等能力的 SDK 插件形態(tài)產(chǎn)品。它可能是一個 uni 原生插件也可能是一個 H5 播放頁還可能只是一套 HTTP 接口加標(biāo)準(zhǔn)流地址。形態(tài)不同優(yōu)劣差別巨大這也是很多人測評結(jié)果互相矛盾的原因——大家測的壓根不是同一個東西。這篇文章適合三類人看正在做技術(shù)選型的項(xiàng)目負(fù)責(zé)人、準(zhǔn)備動手接入的前端或移動端開發(fā)、以及被一套代碼多端跑打動但還沒踩過坑的產(chǎn)品同學(xué)。我會把三條主流路線的架構(gòu)、云臺指令的細(xì)節(jié)、跨端差異、實(shí)測數(shù)據(jù)和排錯經(jīng)驗(yàn)全部攤開講參數(shù)和計算過程都給出來能直接抄的部分我會寫得足夠具體。2. 三條技術(shù)路線的架構(gòu)拆解與優(yōu)劣勢對照2.1 路線一web-view 內(nèi)嵌廠商 H5 監(jiān)控頁改動最小的偷懶方案這是上手最快的一條路。A 廠商通常會提供一個免插件的網(wǎng)頁版預(yù)覽頁地址里帶上設(shè)備序列號、通道號、token 之類的參數(shù)你只要在 uniapp 里放一個web-view組件把地址塞進(jìn)去畫面就出來了云臺控制按鈕廠商也已經(jīng)畫好了。我在門店巡店那個項(xiàng)目里第一版就是這么干的從拿到地址到跑通兩個小時。它的優(yōu)勢非常直接零原生開發(fā)、零協(xié)議理解、零解碼邏輯。廠商網(wǎng)頁內(nèi)部已經(jīng)把取流、解碼、云臺指令封裝好了你不需要知道背后用的是 WebSocket 推流還是 HTTP-FLV也不需要關(guān)心 H.264 還是 H.265。對于只要求能看、能轉(zhuǎn)、能回放的輕量場景這條路性價比最高。但坑也很密集。第一是通信問題網(wǎng)頁和 uniapp 之間只能靠postMessage或者 URL 傳參雙向通信在 App 端勉強(qiáng)能用小程序端受限于業(yè)務(wù)域名校驗(yàn)?zāi)茏龅降氖虑楦?。第二是UI 不可控廠商頁面永遠(yuǎn)帶著自己的 logo、自己的按鈕布局你想把它嵌進(jìn)自己的設(shè)計體系里幾乎不可能只能整頁鋪滿。第三是拿不到視頻幀截圖、AI 識別、本地錄像這些需求直接判死刑。第四是登錄態(tài)和 token 管理A 廠商的 H5 地址一般有效期很短頁面切后臺再回來經(jīng)常要重新鑒權(quán)用戶看到的就是一片黑屏加一個轉(zhuǎn)圈。我印象最深的一次是客戶要求點(diǎn)擊畫面任意位置云臺自動把那個點(diǎn)移到畫面中心也就是常說的 3D 定位。廠商 H5 頁面本身支持但它是內(nèi)部邏輯我們無法從外部觸發(fā)最后只能改成讓用戶自己按方向鍵。這就是路線一的本質(zhì)你借用了別人的能力也接受了別人的邊界。2.2 路線二原生插件直連 SDK延遲最低但維護(hù)成本最高第二條路是把 A 廠商的移動端 SDK 封裝成 uni 原生插件。安卓側(cè)通常是幾個.aar加一堆.so動態(tài)庫iOS 側(cè)是.framework然后按 uniapp 原生插件的規(guī)范暴露方法給 JS 調(diào)用比如login、startRealPlay、ptzControl、stopRealPlay、startPlayback。這條路是性能天花板。SDK 直連設(shè)備或者直連廠商的流媒體服務(wù)走的是私有協(xié)議延遲能壓到 200 到 500 毫秒云臺指令也是走專用通道按下按鈕到畫面轉(zhuǎn)動體感幾乎是實(shí)時的。功能也最全預(yù)置位、巡航、抓圖存本地、雙向?qū)χv、本地錄像、碼流切換主碼流/子碼流全都有。代價是雙端各寫一遍。安卓和 iOS 的 SDK 接口長得完全不一樣安卓里叫PTZControliOS 里可能是ptzControlWithCommand參數(shù)順序也不同你得寫兩套橋接代碼。包體積也會明顯變大我做過的一個版本加上.so之后安裝包從 18MB 漲到了 62MB雖然可以做 ABI 拆分只保留arm64-v8a但還是要多出二十多兆。更麻煩的是版本耦合。uni 原生插件要跟 HBuilderX 的版本、基座版本對齊云打包的自定義基座一旦和插件不匹配就是白屏或者方法找不到。我遇到過一次升級了 IDE 之后插件里某個回調(diào)不再觸發(fā)排查了半天才發(fā)現(xiàn)是基座緩存沒清。另外這條路完全放棄了 H5 和小程序如果你老板一開始說我們要多端最后發(fā)現(xiàn)只有 App 能用返工成本很高。注意封裝 A 廠商 SDK 時要特別留意.so的架構(gòu)裁剪只保留arm64-v8a能省一半體積但部分老舊的安卓一體機(jī)是 32 位系統(tǒng)砍掉armeabi-v7a之后會直接崩在UnsatisfiedLinkError。上線前一定要確認(rèn)目標(biāo)機(jī)型的 CPU 架構(gòu)。2.3 路線三自建流媒體網(wǎng)關(guān)加通用播放器折中但最費(fèi)運(yùn)維第三條路是我現(xiàn)在最推薦的中間方案服務(wù)端把設(shè)備的 RTSP 流拉過來轉(zhuǎn)成 WebRTC 或 HTTP-FLV前端用統(tǒng)一的播放器組件播。設(shè)備側(cè)只需要開放 RTSP 地址和賬號密碼剩下的交給網(wǎng)關(guān)。H5 和 App 用flv.js或者 WebRTC 播放器小程序用live-player組件播 RTMP 或 FLV。這條路的最大好處是前端徹底統(tǒng)一。同一套播放器封裝邏輯通過條件編譯在三個端上跑業(yè)務(wù)代碼復(fù)用率能到 90% 以上。云臺控制走的是廠商的 HTTP 接口跟播放器解耦前端只要發(fā)一個請求就行不需要任何原生能力。代價轉(zhuǎn)移到了服務(wù)端。你要維護(hù)一個流媒體服務(wù)要算帶寬要處理設(shè)備斷線重連要管會話和鑒權(quán)。以 1080p 主碼流 4Mbps 為例如果網(wǎng)關(guān)不做轉(zhuǎn)碼只做轉(zhuǎn)封裝一臺 4 核 8G 的服務(wù)器扛二三十路拉流問題不大但一旦要做 H.265 轉(zhuǎn) H.264因?yàn)闉g覽器對 H.265 支持很差CPU 立刻成為瓶頸一路轉(zhuǎn)碼大概要吃掉一個核心的 30% 到 50%。這個成本很多人在選型階段根本沒算進(jìn)去。延遲上WebRTC 能做到 300 到 800 毫秒HTTP-FLV 大概 1 到 3 秒HLS 就別考慮了動輒 5 秒以上云臺轉(zhuǎn)一下要等半天才看到畫面體驗(yàn)極差。2.4 三條路線橫向?qū)Ρ冗x型時到底看哪幾個指標(biāo)光講感受不夠我把關(guān)鍵維度整理成表格你對著自己的項(xiàng)目勾一下就知道該走哪條。對比維度路線一 web-view路線二 原生插件路線三 自建網(wǎng)關(guān)首幀延遲1 到 3 秒200 到 500 毫秒WebRTC 300 到 800 毫秒FLV 1 到 3 秒云臺控制體感一般有 0.5 秒左右滯后幾乎實(shí)時較好取決于接口響應(yīng)端覆蓋App、H5僅 AppApp、H5、小程序包體積增量幾乎為 020 到 40MB2 到 5MBUI 可控性極低高高截圖/錄像/AI不支持完整支持需網(wǎng)關(guān)側(cè)配合服務(wù)端成本無無有按路數(shù)和帶寬增長前端開發(fā)量極低高雙端各寫中長期維護(hù)難度受廠商頁面變更影響受 SDK 與 IDE 版本影響受運(yùn)維能力影響我的經(jīng)驗(yàn)是如果三個月內(nèi)要交付且只需要 App選路線一如果對延遲和控制精度有硬要求、長期迭代選路線二如果有小程序端訴求、或者未來要接多家廠商設(shè)備選路線三。最怕的是需求沒說清楚就先動手做完發(fā)現(xiàn)方向不對那才是真的浪費(fèi)。3. 云臺控制才是真正的地雷區(qū)指令下發(fā)的細(xì)節(jié)與兜底3.1 控制通道和媒體通道必須解耦別把云臺指令塞進(jìn)播放鏈路新手最容易犯的錯是把云臺控制和視頻播放當(dāng)成一件事。比如用 web-view 內(nèi)嵌播放頁就想著云臺按鈕也用它自帶的吧或者用原生插件云臺指令只能通過播放器的實(shí)例發(fā)。這兩種做法都會讓你在后期極其被動——播放器崩了云臺就轉(zhuǎn)不了播放器換了云臺邏輯要重寫。正確的做法是把兩者徹底分開。視頻走視頻的通道云臺走云臺的通道兩者只在業(yè)務(wù)層做狀態(tài)同步。云臺通道的最優(yōu)解是廠商的 HTTP 接口形如POST /api/ptz/control參數(shù)里帶設(shè)備序列號、通道號、動作命令、速度、持續(xù)時間。這條通道你可以用uni.request發(fā)三個端完全一致不依賴任何原生能力也不受播放器狀態(tài)影響。分離之后有個好處你可以做指令隊(duì)列和狀態(tài)機(jī)。比如用戶按住向左前端每秒發(fā) 5 次指令不是必須但某些廠商協(xié)議要求持續(xù)心跳松開時發(fā)一次停止。如果網(wǎng)絡(luò)抖動導(dǎo)致某次停止指令丟了隊(duì)列里會有重試。而如果用播放器自帶的控制方法你根本不知道指令有沒有發(fā)出去。還有一點(diǎn)云臺指令的響應(yīng)要跟 UI 反饋配合。按下按鈕后按鈕變高亮收到接口返回成功之后再取消高亮如果 3 秒內(nèi)沒返回顯示控制超時請重試。這種細(xì)節(jié)看著小但在值班室場景里特別重要——值班員按了半天沒反應(yīng)會以為系統(tǒng)壞了反復(fù)狂點(diǎn)最后云臺轉(zhuǎn)過頭。3.2 方向、速度、時長三要素一次完整的指令封裝應(yīng)該長什么樣不同廠商的云臺指令字段長得不一樣但本質(zhì)都是三要素方向、速度、持續(xù)時間。方向一般有八個上、下、左、右、左上、左下、右上、右下加上變倍放大縮小、聚焦遠(yuǎn)/近、光圈大/小、預(yù)置位調(diào)用。速度是個整數(shù)檔位常見的是 1 到 8 檔或者 1 到 7 檔數(shù)字越大轉(zhuǎn)得越快。速度檔位和實(shí)際角速度的關(guān)系廠商手冊里通常會寫1 檔約等于最大轉(zhuǎn)速的 1/8。假設(shè)某球機(jī)的水平最大轉(zhuǎn)速是 200 度每秒那 4 檔就是 100 度每秒轉(zhuǎn)動 90 度大概需要 0.9 秒。這個換算在調(diào)試時非常有用你可以據(jù)此判斷按一下按鈕轉(zhuǎn) 90 度大概要按多久也能據(jù)此設(shè)定前端的默認(rèn)速度。// 以某廠商 HTTP 接口為例封裝一個通用的云臺控制方法 const PTZ_SPEED_MAX 8 /** * param {Object} opts * param {String} opts.deviceId 設(shè)備序列號 * param {Number} opts.channel 通道號通道 1 表示第一路 * param {Number} opts.command 1上 2下 3左 4右 5左上 6左下 7右上 8右下 9放大 10縮小 11停止 * param {Number} opts.speed 1-8 檔默認(rèn) 4 檔 * param {Number} opts.duration 持續(xù)毫秒數(shù)0 表示一直轉(zhuǎn)到收到停止指令 */ export async function ptzControl({ deviceId, channel 1, command, speed 4, duration 0 }) { // 速度檔位歸一化避免前端傳 0 或者 9 這種越界值 const safeSpeed Math.min(Math.max(Number(speed) || 4, 1), PTZ_SPEED_MAX) const res await uni.request({ url: ${BASE_URL}/api/ptz/control, method: POST, timeout: 5000, header: { Content-Type: application/json, Authorization: Bearer ${getToken()} }, data: { deviceId, channel, command, speed: safeSpeed, duration } }) if (res.data.code ! 0) throw new Error(res.data.msg || 云臺指令下發(fā)失敗) return res.data }配套還需要一個停止的兜底邏輯后面一節(jié)細(xì)說。這里先強(qiáng)調(diào)一個細(xì)節(jié)不要在前端做速度的百分比換算。有些同學(xué)喜歡把滑動條做成 0 到 100然后除以 12.5 轉(zhuǎn)成檔位結(jié)果就是滑到 50 這個位置時四舍五入到 4 檔但用戶以為速度是一半。直接在 UI 上暴露 1 到 8 這八個檔位或者用慢/中/快三檔映射到 2/4/6比百分比直觀得多也少一類溝通成本。3.3 停止指令丟失的四種典型場景以及我用的三層兜底這是我在項(xiàng)目里踩得最狠的一個坑。云臺開始轉(zhuǎn)和停止轉(zhuǎn)是兩條獨(dú)立指令一旦只發(fā)了開始沒發(fā)停止云臺就會一路轉(zhuǎn)到機(jī)械限位撞上去發(fā)出咔咔的聲音長時間這樣對電機(jī)是實(shí)打?qū)嵉膿p傷。我遇到過的觸發(fā)場景有四個場景一手指滑出按鈕范圍。用戶按住向左手指往外一滑touchend在按鈕上沒觸發(fā)touchcancel如果沒監(jiān)聽停止指令就丟了。場景二頁面切后臺。用戶按住按鈕的時候來了個電話應(yīng)用進(jìn)后臺JS 線程被掛起回來的時候按鈕已經(jīng)不在按下狀態(tài)了。場景三路由跳轉(zhuǎn)。按住按鈕的同時點(diǎn)了返回頁面卸載未發(fā)出的指令沒了。場景四網(wǎng)絡(luò)抖動。停止指令發(fā)出去了但接口超時前端拋異常走了錯誤分支沒有重試。我的解決方案是三層兜底實(shí)測下來再沒出過問題第一層事件層面全覆蓋。除了touchstart和touchend必須同時監(jiān)聽touchcancel并且在document級別App 端用plus的全局事件監(jiān)聽指針抬起保證手指離開屏幕的任何方式都能觸發(fā)停止。第二層定時器兜底。每次下發(fā)開始轉(zhuǎn)動時同時啟動一個定時器時長等于預(yù)期的最大轉(zhuǎn)動時間比如 5 秒超時后強(qiáng)制發(fā)一次停止指令并彈一個輕提示云臺轉(zhuǎn)動超時已自動停止。第三層狀態(tài)回讀校驗(yàn)。停止指令發(fā)出后延遲 500 毫秒調(diào)一次廠商的查詢云臺狀態(tài)接口如果返回的狀態(tài)仍是在轉(zhuǎn)動再補(bǔ)發(fā)一次停止最多重試兩次。let ptzTimer null let isMoving false async function startMove(command) { if (isMoving) await stopMove() // 防止上一條指令還沒停就發(fā)新指令 isMoving true await ptzControl({ deviceId, command, speed, duration: 0 }) clearTimeout(ptzTimer) ptzTimer setTimeout(() { stopMove(超時自動停止) }, 5000) } async function stopMove(reason ) { if (!isMoving) return clearTimeout(ptzTimer) isMoving false const cmd 11 try { await ptzControl({ deviceId, command: cmd }) } catch (e) { // 失敗重試一次 try { await ptzControl({ deviceId, command: cmd }) } catch (e2) {} } setTimeout(async () { try { const status await queryPtzStatus(deviceId) if (status.moving) await ptzControl({ deviceId, command: cmd }) } catch (e) {} }, 500) } // 頁面卸載時也要停 onUnload(() { stopMove(頁面卸載) }) onHide(() { stopMove(應(yīng)用進(jìn)入后臺) })提示isMoving這個狀態(tài)鎖一定要加。用戶連點(diǎn)方向鍵的時候沒有鎖的話會并發(fā)發(fā)出十幾條指令設(shè)備端處理不過來表現(xiàn)就是畫面卡一下然后猛地轉(zhuǎn)一大截非常嚇人。4. 跨端適配的差異清單三個端根本不是一回事4.1 小程序端live-player 的能力邊界要先摸清很多人默認(rèn)uniapp 一套代碼多端跑以為小程序端也能跑原生插件這是錯的。小程序不支持原生插件只支持live-player組件而這個組件對協(xié)議有限制——一般支持 RTMP 和 FLV不支持 RTSP也不能播放 HLS 的直播流點(diǎn)播可以。所以如果你的設(shè)備只能出 RTSP小程序端就必須要有一個轉(zhuǎn)封裝的網(wǎng)關(guān)繞不開。live-player還有幾個特點(diǎn)要提前知道它是原生組件層級永遠(yuǎn)在最上面普通的view蓋不住它只能用cover-view和cover-image。要做云臺控制按鈕浮在畫面上就得用cover-view寫而cover-view支持的樣式非常有限圓角、陰影、漸變基本都不生效。我做過一版最后干脆把控制區(qū)放在畫面下方不做懸浮反而更清爽。另外live-player的清晰度和碼流切換需要在初始化時通過mode參數(shù)指定運(yùn)行中切換要銷毀重建組件會有明顯黑屏。如果業(yè)務(wù)需要頻繁切主/子碼流建議直接固定用子碼流720p、1Mbps 左右畫質(zhì)夠看延遲和流量都友好。關(guān)于小程序的準(zhǔn)入live-player屬于實(shí)時音視頻類組件對小程序主體的服務(wù)類目有要求不是隨便注冊一個號就能用。上線前一定先確認(rèn)自己賬號是否具備條件這個環(huán)節(jié)卡住的話前端做得再好也發(fā)不出去。這一點(diǎn)在項(xiàng)目排期的時候就要問清楚別等到提審才發(fā)現(xiàn)。4.2 App 端nvue 與 vue 的組件層級問題App 端如果走原生插件畫面通常是一個原生view它和 uniapp 的 vue 頁面不在一個渲染層里。在 vue 頁面里這個原生 view 會蓋住所有普通元素跟小程序的原生組件一個毛病。解決辦法是用nvue頁面weex 渲染它的層級控制更接近原生可以把原生 view 嵌進(jìn)去。但 nvue 的坑也不少。它不支持大部分 CSS 選擇器只支持 flex 布局position: fixed的行為跟普通 vue 不一樣列表必須用list組件而不是scroll-view。我的做法是把監(jiān)控畫面單獨(dú)做成一個 nvue 頁面控制面板、設(shè)備列表這些用普通 vue 頁面通過uni.navigateTo跳轉(zhuǎn)兩邊只傳設(shè)備 ID 和通道號。這樣既繞開了層級問題又不用把整個應(yīng)用改寫成 nvue。還有一個容易忽略的點(diǎn)App 端的硬解碼。低端安卓機(jī)軟解 1080p 會直接卡成幻燈片一定要在插件里開啟硬解。安卓的硬解兼容性是出了名的差不同芯片平臺高通、聯(lián)發(fā)科、紫光展銳表現(xiàn)差異很大有些機(jī)型開硬解會花屏。我的經(jīng)驗(yàn)是做一個開關(guān)默認(rèn)開硬解同時在設(shè)置里留一個兼容模式給用戶手動關(guān)掉遇到花屏讓他自己切比你在代碼里到處加機(jī)型白名單靠譜。4.3 H5 端解碼能力和跨域是兩個繞不過去的門檻瀏覽器端的問題主要是兩個。一是編碼格式H.265 在 Chrome 上的支持非常差基本要靠 WebAssembly 軟解1080p 軟解 CPU 直接拉滿風(fēng)扇狂轉(zhuǎn)。所以面向 H5 的方案一定要在網(wǎng)關(guān)側(cè)把 H.265 轉(zhuǎn)成 H.264或者干脆把設(shè)備的子碼流編碼格式設(shè)成 H.264。二是跨域和鑒權(quán)。flv.js播 HTTP-FLV 需要服務(wù)端允許跨域Access-Control-Allow-Origin要配好。如果流地址帶 tokentoken 過期后播放器不會自動重新拉流表現(xiàn)就是畫面卡住不動也不報錯。我一般會監(jiān)聽播放器的error和statistics_info事件超過 5 秒沒有新數(shù)據(jù)就主動銷毀重建同時刷新 token。H5 還有一個隱形問題瀏覽器的自動播放策略。帶聲音的流必須用戶交互之后才能播所以監(jiān)控頁面的初始狀態(tài)最好是靜音畫面出來后給一個開啟聲音的按鈕。不然用戶進(jìn)去看到一片黑其實(shí)是播放被攔了控制臺里一行提示非技術(shù)的同事根本找不到原因。5. 實(shí)測數(shù)據(jù)延遲怎么量、并發(fā)怎么算、內(nèi)存怎么控5.1 延遲的逐段拆解與測量方法先說測量方法這個很實(shí)用用兩臺手機(jī)一臺打開高精度秒表網(wǎng)頁另一臺顯示監(jiān)控畫面把兩臺手機(jī)放在一起用第三臺手機(jī)的高速攝像120 幀或 240 幀拍下來看秒表數(shù)字和畫面里秒表數(shù)字差多少幀。這個土辦法比任何工具都準(zhǔn)我在項(xiàng)目驗(yàn)收時經(jīng)常用客戶一看就服。延遲的構(gòu)成可以拆成四段設(shè)備采集編碼 80 到 150 毫秒、網(wǎng)絡(luò)傳輸 30 到 200 毫秒取決于是否走公網(wǎng)、服務(wù)端轉(zhuǎn)封裝緩沖 100 毫秒到 3 秒這里是最大的變量、前端解碼渲染 50 到 150 毫秒。優(yōu)化的重點(diǎn)全在第三段。如果走 HTTP-FLV播放器默認(rèn)會緩存一個 GOP 的數(shù)據(jù)才開始播GOP 設(shè)成 4 秒的話光等待就是 2 秒起。解決辦法是讓設(shè)備把 I 幀間隔調(diào)到 1 秒甚至 0.5 秒同時關(guān)閉 B 幀播放器側(cè)把enableStashBuffer設(shè)為false、stashInitialSize調(diào)小。我實(shí)測過這樣一套組合拳能把 FLV 的延遲從 3 秒壓到 1.2 秒左右。如果對延遲有硬要求比如需要跟著云臺轉(zhuǎn)動實(shí)時看畫面變化延遲超過 1 秒會非常難受那就只能上 WebRTC。它沒有 GOP 緩沖的概念靠 NACK 和 PLI 做丟包重傳和關(guān)鍵幀請求做到 500 毫秒以內(nèi)不稀奇。代價是服務(wù)端的復(fù)雜度和 CPU 開銷上去了得權(quán)衡。傳輸方式實(shí)測首幀延遲云臺跟隨體感服務(wù)端開銷適用場景HLS5 到 10 秒完全不能用低只看回放不做控制HTTP-FLV1.2 到 3 秒勉強(qiáng)可用中一般預(yù)覽、值班監(jiān)看WebRTC0.3 到 0.8 秒流暢高需要精準(zhǔn)控制的場景原生 SDK 直連0.2 到 0.5 秒流暢無App 專屬追求極致體驗(yàn)5.2 多路并發(fā)、內(nèi)存與帶寬的賬要提前算做監(jiān)控方案必算兩筆賬帶寬和內(nèi)存。帶寬方面假設(shè)一路 1080p 主碼流 4Mbps一個 4 宮格頁面就是 16Mbps。如果有 10 個用戶同時看 4 宮格網(wǎng)關(guān)的出口帶寬就是 160Mbps換算成下載速度是 20MB/s。這個數(shù)字很多人在方案評審時才意識到然后回頭要求前端降碼流。我的建議是默認(rèn)走子碼流720p 大概 1 到 1.5Mbps4 宮格 6Mbps10 個用戶 60Mbps一臺常規(guī)云服務(wù)器就能扛住需要看細(xì)節(jié)時再單畫面切主碼流。存儲方面如果要做本地或服務(wù)端錄像按 4Mbps 算一天一路就是4Mbps × 86400 秒 ÷ 8 43.2GB。存 30 天就是 1.3TB 一路十路就是 13TB。這個賬一定要在需求階段就算給客戶看否則他覺得錄個像能有多大。內(nèi)存方面安卓機(jī)上每一路 1080p 解碼大概占 80 到 150MB 內(nèi)存4 宮格就是 400 到 600MB加上應(yīng)用本身低端機(jī)3GB 內(nèi)存很容易被系統(tǒng)殺掉。所以我把并發(fā)路數(shù)硬性限制在 4 路超過就提示最多同時預(yù)覽 4 路并且做分頁加載——用戶滑到第二頁時才初始化新的播放實(shí)例滑走的立刻銷毀。實(shí)測下來這樣一來內(nèi)存峰值能降 40% 左右長時間運(yùn)行8 小時以上也不會出現(xiàn)明顯的內(nèi)存增長。還有一個細(xì)節(jié)頁面切后臺要主動停流。很多應(yīng)用切到后臺還在拉流解碼手機(jī)燙得厲害電量掉得飛快。onHide里調(diào)stopPlayonShow里重新startPlay兩行代碼的事用戶口碑差別很大。6. 排錯速查這些坑我基本都踩過一遍6.1 畫面類問題黑屏、花屏、卡頓的排查順序黑屏是最常見的報障但原因可能有七八種按下面的順序查能省很多時間。第一步看播放器有沒有觸發(fā)播放成功回調(diào)。沒有觸發(fā)就是取流地址或鑒權(quán)的問題先用 VLC 之類的通用播放器驗(yàn)證地址本身通不通排除設(shè)備側(cè)故障。第二步看控制臺有沒有跨域報錯。有就是服務(wù)端 CORS 沒配或者用了 HTTPS 頁面去拉 HTTP 的流混合內(nèi)容被瀏覽器攔截這是 H5 端最高頻的原因。第三步看編碼格式?;ㄆ链蟾怕适?H.265 用軟解或者硬解兼容性問題切成 H.264 試試如果是綠屏加馬賽克一般是碼流不完整或者網(wǎng)絡(luò)丟包嚴(yán)重。第四步看內(nèi)存??D但不報錯用開發(fā)者工具看一眼內(nèi)存曲線如果持續(xù)上漲就是播放實(shí)例沒有銷毀切頁面時stopPlay沒調(diào)。6.2 控制類問題指令發(fā)出去了但云臺不動云臺不動的情況我的排查順序是先確認(rèn)接口返回碼很多廠商接口返回 200 但 body 里的 code 是錯誤碼前端只看 HTTP 狀態(tài)就誤判成功了再確認(rèn)通道號多通道設(shè)備比如 NVR 下掛多個攝像機(jī)通道號從 1 開始還是從 0 開始不同廠商不一樣填錯了指令發(fā)給了不存在的通道最后確認(rèn)設(shè)備是否被其他客戶端占用某些設(shè)備同時只允許一個控制端值班室的大屏占著控制權(quán)你這邊發(fā)指令就沒反應(yīng)。還有一種情況是能轉(zhuǎn)但轉(zhuǎn)得很慢或者很快。這就是速度檔位的問題檢查一下前端傳的是 1 到 8 還是 0 到 100映射錯了就會出這種效果。我有一次就是因?yàn)閮商状a里一套傳檔位一套傳百分比聯(lián)調(diào)了半天。6.3 打包與兼容類問題插件在真機(jī)上失效原生插件最常見的報錯是方法未定義八成是自定義基座沒打。標(biāo)準(zhǔn)基座里沒有你的插件必須打自定義基座才能調(diào)試這個新人幾乎必踩。其次是**.so架構(gòu)缺失**報UnsatisfiedLinkError檢查build.gradle里的abiFilters和目標(biāo)機(jī) CPU 架構(gòu)是否匹配現(xiàn)在主流是arm64-v8a但工控機(jī)、一體機(jī)不少還是 32 位。第三是iOS 的隱私權(quán)限描述。訪問麥克風(fēng)對講、相冊截圖保存都需要在Info.plist里配描述文案缺了會在調(diào)用瞬間閃退日志里還不一定有明確提示。最后是插件版本與 IDE 版本不匹配表現(xiàn)是編譯通過但運(yùn)行時找不到方法。解決辦法是清基座緩存、重新打自定義基座別在這上面浪費(fèi)時間猜?,F(xiàn)象最可能原因快速驗(yàn)證方式處理方式畫面全黑無報錯token 過期或跨域用通用播放器驗(yàn)證流地址刷新 token、配置 CORS畫面花屏H.265 硬解兼容性切 H.264 或關(guān)硬解加兼容模式開關(guān)云臺無響應(yīng)通道號錯誤或設(shè)備被占用看接口 body 的 code校正通道號、釋放控制權(quán)云臺轉(zhuǎn)不停停止指令丟失抓包看是否有停止請求加三層兜底邏輯插件方法未定義未打自定義基座看控制臺報錯棧重打自定義基座運(yùn)行一段時間卡死播放實(shí)例未銷毀觀察內(nèi)存曲線頁面切換時 stopPlay7. 選型建議與落地節(jié)奏別一上來就啃硬骨頭7.1 按團(tuán)隊(duì)規(guī)模和訴求對號入座如果團(tuán)隊(duì)只有一兩個前端且只做 App、交付周期緊直接走路線一用廠商的 H5 頁面把流程跑通先把業(yè)務(wù)價值交付出去后面再優(yōu)化。如果對云臺精度、截圖、AI 識別有硬需求且團(tuán)隊(duì)有安卓或 iOS 的封裝能力走路線二性能是最優(yōu)的。如果要多端覆蓋、要接多家廠商設(shè)備、團(tuán)隊(duì)有服務(wù)端運(yùn)維能力走路線三前期投入大但天花板最高。還有一個混合策略我經(jīng)常用App 端走原生插件H5 和小程序端走網(wǎng)關(guān)加 FLV。同一個業(yè)務(wù)頁面通過條件編譯區(qū)分播放組件上層的設(shè)備列表、云臺控制面板、報警信息這些邏輯完全復(fù)用。這樣既保證了主場景的體驗(yàn)又覆蓋了次要場景代價只是多維護(hù)一個網(wǎng)關(guān)。7.2 我給一個三個月的落地節(jié)奏第一個月做驗(yàn)證不要寫業(yè)務(wù)代碼。拿一臺真實(shí)設(shè)備把三條路線各跑一個最小 demo重點(diǎn)測三件事延遲用秒表法量、云臺控制體感、目標(biāo)機(jī)型的兼容性。這一步做完路線基本就定了而且后面的返工風(fēng)險能降一大半。第二個月做骨架。把播放組件、云臺控制器、設(shè)備管理三個模塊拆開播放組件對外只暴露play、stop、snapshot三個方法云臺控制器對外只暴露move、stop、gotoPreset。用接口約束住后面換實(shí)現(xiàn)只改一個文件。第三個月做適配和打磨。集中處理各端差異、內(nèi)存優(yōu)化、異常兜底然后拉真實(shí)用戶值班員、巡檢員試用一周。他們對卡不卡、轉(zhuǎn)得準(zhǔn)不準(zhǔn)的感知比任何測試用例都準(zhǔn)往往能挖出你在實(shí)驗(yàn)室里發(fā)現(xiàn)不了的問題。最后分享一個我自己踩出來的小體會云臺控制這件事寧可讓用戶多點(diǎn)兩下也不要讓它轉(zhuǎn)得太猛。我給所有項(xiàng)目的默認(rèn)速度都設(shè)成 4 檔中速并且在設(shè)置里提供精細(xì)模式2 檔。用戶第一次用會嫌慢但用一周之后沒人愿意調(diào)回去——轉(zhuǎn)太快根本對不準(zhǔn)尤其是要看清車牌或者人臉的時候?qū)幙陕?。這個參數(shù)看著不起眼卻是使用體驗(yàn)里最容易被忽略、也最容易調(diào)好的一環(huán)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩三级在线观看mp4| 青青久草| 欧美操人视频| 色玖玖| 婷婷15月天青娱乐| 农村女一级毛卡片| 91男女啊啊啊| 伊人网免费视频| 五月天色综合| 色狠狠一区二区三区香蕉| 26uuu性物| 久久大香蕉| 大香蕉欧美国产日韩高潮| 欧美九九九九九| 99视频精品| 啊嗯嗯啊好大好爽| 日韩欧美午夜视频在线| 欧美一区二区三区成人性生活| 久久精品国产Aⅴ| 嗯啊不要啊在线 | 亚洲最新Av| 超碰偷拍| 国产精品一区二区 尿失禁| 大香蕉天天看妹子| 1人人看人人摸人人操| 嫩草在线视频| 亚洲在高跟鞋自慰久久在色线| 欧美日韩在线小说 | 国产精品第一页国产大屁股视频免费区i| 国产精品精品系列在线观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 黑人精品成人一区二区三区| 午夜九九| 天天插天天射| 自拍偷拍第26| 91欧美综合在线| 久久综合资源一区二区| 亚洲欧洲激情| 大香蕉五月天婷婷| 91熟女视频| 天天操av懂色| 亚洲天堂AV在线播放| 夜夜爽爽夜夜精品视频| 亚洲国产高清福利视频| 91欧美www| 韩国一级做A片免费的| 热热色国产一二区AV| 中文字幕一区二区韩| Aa东京男人的天堂| 亚洲欧美成人在线| 男女啪啪网站免费视频| 亚洲中亚日激情视频| 男人的天堂一区三区| 亚洲国产精品9999在线观看| 97频视在线| 偷看洗澡一二三区美女| 四虎精品一区| 精品国产乱码久久久久久影片| 超碰97网站| 99热免费精品| 五月婷久久| 久久大黄片| www.高清无码诱惑一区.com| 日本色色的视频| 91操熟女| 久久久九九| 操91| 亚洲人妻中文在线视频| 夜夜操天天肏| www.99视频| 三级日韩一区二区三区| 一区二区三区麻豆| 美骚妇av高清在线| 丁香六月啪啪| 美女尤物人人操| 99在线精品视频| 精品96久久| 午夜大香蕉| 欧美黄色片在线播放| 中文字幕女同在线| 欧洲射精91| 色婷婷视频| 日本道不卡| 夜夜嗨免费视频| 亚洲丝袜色图| 麻豆天美电影一区二区| 久久久婷婷婷| 秋霞影音一区二区三区 | 日韩av免费一级电影| 久热精品在线| 少妇丝袜在线观看AV| 亚洲精品久久久久久久久豆丁网| 国产性爱在线视频一区二区| 五月丁香黄色网| 中文字幕乱偷人妻久久艾草网| 99热免费| 久久久一区二区三区四曲免费听| 蜜臀av一区二区三区免费观看| 亚洲密乳AV| 亚洲毛片基地专区| 精品人妻一区二区三区免费视频| 久久人妻无码毛片A片麻豆| 国产成人网站在线观看| 日韩人妻 中文字幕| 2023天天操夜夜操| 老熟女乱伦片| 日韩中文字幕人妻视频| 日韩黄片视频试看| 无码动漫av中文字幕| 男人的天堂99| 97天天| 久久久久久人| 精品无码一区二区三区| 亚洲国产丝袜在线观看| 91偷拍欧美亚洲| 亚洲宅男天堂| 亚洲av总站| 亚洲春色激情小说| 激情丁香五月| 色婷婷五月天| 密桃99999| 欧美日韩色图片| 蜜臀av一区二区三区免费观看| 天天插天天操| 五月久久HDAV| 色五月综合| 亚洲天堂区| 久青草影院| 天天看片天天爽| 久草资源欧美在线视频| 神马午夜久久久| 青青草乱入乱欲视频在线观看| 91久久18禁| 亚热日本熟女| 91在线观看,天天综合| 麻豆av一区二区| 97美日韩视频| 中文字幕视频在线观看| a'v在线资源| 神马久久久久久久| 国产精品极品美女视频| 婷婷色婷婷| 97国产|免费| 亚洲中文字母在线播放| 看免费的黄片| 香蕉人人操tv| 美女啊啊啊啊pc| 东北女人被操| 精品女同一区| 亚洲日韩东京热一区| 夜夜嗨老熟女AV一区二区三区| 久久天天艹| 亚洲第2页| 日本大片日本一区二区免费高清| 99热综合| 久久视网78| 综合天天。| 久久少妇| 国产 无码 一区二区| 97人人草| 中文字幕在线第二页| 日本三级精品| 黄片www.| 欧美中文字幕一区| 大香蕉人妻久久| 欧美成熟性爱精品| 色婷婷基地| 亚洲在高跟鞋自慰久久在色线| 91天美免费| 国产精品ⅴ无码大片在线看.| 狠狠色综合网| 欧美一区二区三区黄色影视| 成年人网站在线免费观看| 亚洲av综合色区无码一| 久久精品免费| 九色黄站| 欧美激情中文字幕另类小说| av线电影| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 97婷婷色| 青青草在线视频美女| 四虎av在线| 中文字幕日韩电影人妻| 中文字幕二区日韩天堂| 大香蕉伊人75| 五月丁香激情啪啪| 九九九热精品| 日韩亚洲欧美中文字幕| 亚洲欧美成人在线| www.高清无码诱惑一区.com| w w w.久久精品| 亚洲欧美精品91| ...日韩成人一区二区三区字幕| 美女被啪到深处抽搐视频| 久/久精品99看9| 天操老女人| 少妇熟女1区2区3区| 色综合色色| 亚洲国产亚洲天堂| 色五天伊人| 亚洲国产一区二区三区在线| 91天天综合网| 夂久色| 亚洲男人天堂AV| 5月婷婷6月六月丁香| 激情人妻另类| 美国日韩黄色片| 国产精品久久久久久久久久久久久久久| 欧美激情综合| 日本免费不卡二区| 久久久亚洲精品电影免费看| 久久中文字幕在线观看| 99成人| 91老司机在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲少妇视频| 99热在线播放| 熟妇乱伦一区二区| 欧美精品91| 亚洲人妻中文在线视频| 久湿久久 | 欧美78P| 东京热免费视频| 九九碰九九爱97超| 91欧美长吊| 激情网色| 在线欧美亚洲| 色制服丝袜夫妻av一区| 亚洲日本韩国在线| 亚洲福利影院一区久久| 国产偷人妻精品一区二区在线| 97人妻免费中文字幕| 青青草女人天天干| 不卡人妻少妇精品毛片一区23区视频 | 欧美乱色| 韩国免费播放一级毛片| 热热色国产一二区AV| 亚洲第一成人影院色播| 中日韓欧美高清| 熟妇亚洲一区二区三区| 亚洲 国产 精品一区| 东北老熟女| 狠狠中文字幕| 丝袜 中出 制服 人妻 美腿 中文字幕| 日本色色色| 午夜小电影在线插入淫高潮| 黑人精品久久97| 日韩国产欧美伦理在线| 91美女小视频| 99热免费精品| 99爱视频| 强奸乱伦麻豆| 欧洲综合色图| 色www精品视频在线观看| 92午夜免费福利视频| 国产精品剧情| 骚人妻少妇视频| 水澄无码AV| 国产不卡免费在线视频| 亚洲āv网址在线观看| 亚洲精品人伦一区二区| AV丝袜少妇| 蜜臀久久99精品久久综合| 青草草免费网站av| 国产女大学生AV| 91欧美综合在线| 90后性网国产欧美| 亚洲乱熟女一区二区三区大香蕉| 最新岛国大片| 日韩一级性爱无码| 欧洲视频在线| 天天射天天色成人| 久久久禁| 大香蕉日韩| 欧美日韩电影一区二区| 久久极品一区二区| 日日夜夜天天| 日操粉逼逼| 18啪啪手机免费性爱| 精精品人妻一区二区三区| 亚洲情色婷婷五月天| 日韩AV熟女乱伦| 襙一襙| 啊啊啊好舒服视频| 欧美成人精品一区二区男人蜜臀| 超碰中文字幕人妻草一区| 亚洲丁香花色| 国产成人精品无码久久| 午夜激情成人在线观看| 午夜啪| 欧美色图电影| 91N综合网| 天天操美美| 青青色综合| 思思热免费视频观看| 中文字幕交换人妻| 国产精品 久久久精品一牛| 成全动漫视频观看免费下载| 亚洲综合一| 久久99草| 欧美论理片| 女同在线视频一区| 日韩欧美成人大香蕉| 一二三区在线| 韩国三级三级BD在线| 人妻日日夜夜精品| AV在线资源| 天美精品一区二区三区四区在线观看 | 久久久555| 国产精品毛片| 舔人妻中文免费视频| 激情五月天婷婷| 超碰79人人乐| 97色妞| 国产白丝在线| 五月天AV资源| 欧美92| 热99这里有精品综合久久| 欧成人精品H无码| 91香蕉国产尤物视频| 久操97| 97超碰色| 嫩呦国产一区二区三区AV| 国产精品爱欲| 日韩999| 蜜臀av一区二区三区免费观看| 91暧暧| 欧美日韩亚洲高清不卡一区二区三区| 亚洲老司机123专区| 91黑丝操| 97香蕉网| 日韩一级特黄av毛片| 天天看,天天做| 丁香六月激情综合| 91丝袜在线播放| 97超碰超碰| 精品久久无码午夜福利| 性色av网站| 丁香五月性爱| 欧美少妇色综合| 97草草| 色吧5亚洲| 国产51色综合久久免费| 99操逼| 青青草吊丝| 国产精品一区二区后入| 97在线免费视频| 日本免费人成视频播放120秒| 天天插天天操| 欧美亚洲丝袜美女电影| 欧美淫乱视频| se吧提供91精品国产91久久久久久 | 日韩欧美中文字| 国产精品久久久午夜夜伦鲁鲁| 又大又大又大又粗爽高潮观看| 日韩国产欧美伦理在线| 亭亭丁香激情| 午夜九九九九九九| 欧美久久伊人| 加勒比日本在线| 婷婷性网| 可以在线观看AV的网站| 中文字幕在线观看AV| 9久9久| 国产精品不卡一区二区三区av| 亚洲精品a人片在线观看视| 久久综合18p| 久久久噜噜噜久久人妻| 涩综合导航| 亚洲精品乱码久久久久久蜜桃麻豆| 99啪| 啊啊啊好大好深| 国产高清在线观看欧美| 偷拍亚洲高清图片| 亚洲欧美日韩中文播放| 99热18| 亚洲男人天堂视频| 亚洲精品尤物yw在线影院| 国产精品视频电影| 五月天亚洲色图| 国产大学生高潮在线播放| 欧美中字二区| 中英熟女操女| 蜜臀AV一区二区三区激情综合| 久久久久久人体| 熟妇操花| 土豪酒店各种姿势玩弄极品幼稚| 无码WWW免费视频网站| 久久国产视频专区一二三| 狠狠干妹子| 99在线无码精品秘 入口黑人| 秋霞男人网| 国产精品久久久无码aV去| 中文一区二区婷婷视频| 国产日韩精品suv| 婷婷国产精品九区| 中文字幕国产在线天堂| 精品国产乱码久久久久久久久1 | 日韩精品影视| 女人 A一级| 精品无码久久久久| 亚洲精品第一| 欧美综合色综合| 久久久亚洲欧美综合| 色综合久久夜色精品国产天堂| 中文字幕一二区二三区人妻专区| 91美女在线视频| 欧美天天干| 激情终合网| 欧美日本国产日韩激情视频| 青青操视频在线| 岛国视频免费在线观看| 久久久久久中文| 五月婷婷爱六月丁香色| 啊啊啊好多水| 五月婷婷六月色| 97干在线| 欧美熟女妇同| 欧美亚州综合图片| 韩三级a视频在线观看 | 丁香五月性| 香蕉视频精品亚洲一区二区三区在线播| 色狠狠色| 探花视频免费观看国产专区| 天堂麻豆天美| 欧美强奸乱能| 啊啊啊想要| 97玖玖人妻| 亚洲天堂人妻熟妇视频| 97chaopengongkai| 999 久久久| 久操视频资源站公开| 欧美综合色图网| 久久国产精品91| 欧美亚洲国产91在线| 久久久久国产精品人妻aⅴ天堂| 五月婷婷六月丁香| 免费看国产曰批40分钟怎么下载| 91精品人妻| 诱惑人妻欧美一区在线播放| 激情五月综合| 亚洲密乳AV| 东京成人一区| 久9视频| 亚洲中文字幕精品一区| 亚洲区小说| 动漫片子网站3黄| 九九香蕉网| 99婷婷一区二区| 997色在线| 丝袜美腿欧美| 欧美精品1区2区3区| 超碰97中文| 91撸色网 玖玖网 欧美| 中文激情网| 国产美女口爆吞精视频| 国产熟女一区二区| 欧洲一区二区三区四区在线观看| 少妇免费视频| 天天做天天爱| 青青草天天亲夜夜操网| 最新三级网址| 精品久久久久久AV无码| 日韩久射综合| 久久久天堂| 大吊色| 欧美一级三级| 亚洲欧美经典一区二区| av天堂精品久久| 网友自拍第一页| 亚洲猛交| 影音资源男人日韩| 麻豆天美AV传媒第一页| 黄色十八禁| 久久精品72| 中文高清一区二区的| 色婷婷电影网| 亚洲AV成人无码一区二区三区在线观看 | 日韩成人网址| 免费一级视频特黄色大片| 超碰人妻天天干| 麻豆国产精品午夜视频| 97日韩欧美| 天天天干977| 99久草| 亚洲男人天堂2013| 歐美性天天| 91免费看一区二区三区| 蜜臀久久99精品久久久久久成人小说 | 中文字幕第9页萱萱影音先锋| 超碰久超碰久| 97超碰免费生活| 欧美另类自拍| 欧洲一区二区三区免费| 亚洲成人色情五月天丁香花| 熟女欧美日韩综合婷婷| 久污| 中文字幕十五区| 日本九九久久99| 天天色怡春院| 天天摸天天舔天天操| 日韩78m视频| 操老熟女AV| 老汉网| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 岛国片在线观看视频亚洲| 强歼乱伦资源网| 中国国国产一级特黄毛片| 久操视频资源站公开| 91小视频| 亚洲国产精品久久久久久久久久| 久艹伊人精品综合在线| 日本一天色道久久久精品视频| 玖玖综合色| 国产一区二区三区久久精品太古里| 免费的av网| 久久有码| 欧美猛交黑寡妇中文字幕| 99热18这里只有精品| 99热日| 日本中文字幕一区| 男人的天堂99| 在线观看高清AV| 国产精品自拍xxxx| 精品女人999| 91偷拍欧美亚洲| 二三四区精品| 久久黄人人爽视频| 免费观看性欧美一级| 丰满少妇乱子伦精品无| 97爱免费插| 伦在线97| 久久六六| 顶级丝袜熟女一区二区三区| 99热久| 色综合加勒比四四季| 后入式在线免费观看60秒| 精彩久久中文| 69XX一中文字幕人妻91| 福利色色| 人妻人人澡人人爽人人| 超碰导航97| 亚洲成人黄色在线观看| 久操精品网| 亚洲日韩青青草色月| 国产精品色约约| 澳门黄片一香蕉视频| 亚洲 欧美日韩 另类| 欧美色三级片91| 啊啊啊不要嗯嗯在线观看| 超清中文乱码字幕| 午夜理论片在线观看免费| 不卡九肏| 日韩一级二级三级| 99re公开精品免费视频| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 97人人操人人干| 国产成人主播| 一个人免费视频观看在线WWW | gogogo免费高清看中国国语 | 欧美九九九| 日韩一性一交一A片俄罗斯| 六月婷婷综合| 嗯嗯嗯啊啊啊干死我吧| 国产日韩区| 九九热精品免费视频| 亚洲色图欧美色18直播在线| 人干人人人操人人摸| 蜜伊人色综合97| 狠狠入| 91超级碰碰碰| www.av不卡中文字幕| 国产一进一出视频网站| 91麻豆天美国产| 日本一区二区亚洲综合| 欧美日韩性感| 国产精品不卡少妇白| 丁香九月激情啪| 91精品操美女| 三级片网站在线播放| 九热超碰| 日韩欧美午夜视频在线| 道久久五香丁月婷婷激情综合| 国产精品久久久久久久久久梁医生| 久久人妻视频| 综合色好色| 奸色色 男人天堂 天天射| 不卡视频一区蜜桃视频 | 黄色AAAAA欧美| 夜夜嗷嗷一区二区| 影音先锋视频在线| 久操影视| A V视频日本| 国产在线视视频有精品| 2019精品国产无码成人| 综合色啪| 久久宗合97| 日韩性爱再线视频| 高清肉丝中文无码| 综合久久久久久久综合网| 精品国产污一区二区三区| 久草成人| 丁香五月天婷婷姐| 亚洲AV色图一区| 97国产高清视频在线观看| 无毛精品| 操逼网免费无码视频| 精品无码一区二区人妻久久蜜桃| 日韩 欧美 视频 在线 一区| 日本欧美m v精品网站加| 狠狠操夜夜| 九一综合网| 隔壁邻居波多野结衣中文字幕 | 在线岛| 欧美日韩精品国产91| 久久黄片国产一区二区| 婷婷香网站| 久久亚洲AV成人精品无码| 九草九九九| 丁香六月综合激情| 96精品久久久久久久久久| 亚洲人在线| 在线岛| 天操天操夜操夜月月年年操操| 日本福利二区视频| 亚洲全色网| 四虎影库国产精品免费| 99久久久久久亚洲精品不卡| 欧美日韩国产人人| 久久老子无码午夜伦不卡| 亚洲综合97| 成人日本片久久久蜜桃| 狠狠爱综合网| 波多野结衣之双飞调教在线播放| 精品久久大胆人体| 九九综合色| 爱妃国产亚洲视频中文字幕| 久9爱经典视频| 性站| 日本国产欧美高清在线| 色婷婷一区二区三区久久| 绑缚麻绳人妻寝取完整版| 丝袜熟女一区二区三区| 麻豆久久精品亚洲精品88| 老汉网| 国产一区二区三区导航| 亚洲成a人v欧美综合天堂下载| 亚洲色资源| 91精品人妻电影| 污色区网站| 久9久9久9久9久9久9| 久操操| 日本三级大片| 免费的很黄很污的全部视频 | 亚洲天堂区| 无码不卡八戒| 97精品在线视频| 99热8| 欧美日韩淫加| 国内三级自拍小视频在线观看| 国产精品又黄又猛又粗| 成人性交免费视屏| 久久人妻无码毛片A片麻豆| 精品久久久九九九孕妇| 操逼网免费无码视频| 性爱综合一区二区| 中文字幕一区二区视频在线观看| 97草草| 和协影院中文字幕三区| 国产怡红院| 无码人妻丰满热妇又大又粗| 日韩三级伊人| 精品国产乱码久久久| 大香蕉日亚洲日本亚大| 亚洲AV不卡在线观看尤物| 99re久久| 五月丁香婷婷啪啪| 亚洲av强奸乱伦| 亚洲日韩美女中文字幕乱| 12一15性XXXX粉嫩国产| 国产精品日日摸夜夜添骚逼| 91色射| 亚洲 无码 有码 中文字幕| 熟女精品一区二区三区| 婷婷五月天伊人| 国产粉嫩出水在线播放| 3d成人精品一区二区| 欧美午夜视频免费观看| 亚洲在线网站| 亚洲自拍偷拍视频在线| 一区二区乱码福利| 中文字幕后石码四区五区| 91五十路| 懂色av一区二区三区天美传媒| 日本亚洲嫩草影院啪啪| 91情色在线| 久一区久久蜜桃| 四虎精品一区二区| 亚洲欧美999| 美日韩男女操屄视频| 色色毛片| 亚洲无线码欧洲精品区别| 无码免费在线观看黄色片| 韩三级a视频在线观看| 欧美日韩大黄片| 欧美一级黄片视频在线| 日本人妻伦在线中文字幕| 国产特级毛片AAAAAA高潮流水| 日韩欧美午夜一区二区| 成年人黄色小视频网站| 久久久久久精品免费看A级| 国产精品岛国片在线观看| 人人看人人摸人人色| 99热精品在线| 天天舔天天| 亚洲中文字幕乱码无码一区二区| 99操| 啊啊啊好疼| 高精欧美色| www.国产高潮精品| 在线观看一卡二卡| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 麻豆区99999| 伊人影院中文字幕| 97色色国产视频| 日本黄页视频在线观看| 9久热这里只有精品| 亚洲综合另类| 视频在线观看免费一区二区三区| a级理论午夜日本| 久久久草成人网站久久久草成人久久久草久久久| www.夜夜操| 成人婷婷丁香| 亚洲欧美setu| 久久久无码精品人妻二区 | 亚洲精品人妻吞精av| 又黑又大又粗 | 国产三区免费在线观看| 99色综合| 麻豆蜜桃视频在线观看| 东北女人操比视频| 好涩综合| 国产av美女被艹的乱叫| 67914亚洲精品| h色99999| 亚州综合色| 日韩乱伦影音先锋| 亚洲欧美一区二区三区在钱蜜桃 | 精品久久久久久无码| 午夜精品探花| 蜜桃中文字日产乱幕4区| 日日噜噜夜夜久久亚洲一区二区 | 日韩 欧美 另类 人妻| 亚洲男人bt天堂| 97视频www| 久久国产乱子伦精品免费女,网站| 日本人妻中文字幕精品| 欧美日韩国产中文超碰| 噜噜瑟| 国产精品探花色| 五月丁香色婷婷| 97超视频在线观看| 亚洲牲交| 婷婷伊人綜合中文字幕小说| 操死我干死我| 青草一区二区| 免费在线观看国内色片网站网址| 大香蕉在线视频15| 欧美日韩中文字幕不卡| 最新三级网址| 日本裸体久久色噜噜| 欧美精品不卡一二三四在线91| 成人七区| 精品人妻一区二区视频| 97色伦欧美| 美女91网| 国产偷拍网站| 乱人伦 国语对白:视频直接看| 午夜精品久久久久| 一级毛片电影免费看| 亚洲综合婷婷| 精品女同一区| 园内精品自拍视频在线播放| 97超碰jingpin| 69久久久久久久久久久久久| 综合激情二| 色第一页| 日本淫乱女一区二区三区视频| 五月丁香影视| 日韩欧美~中文字| 秋霞影音一区二区三区| 97爱b| 国产男女边吃边摸视频网站| 久操九九九九| 中文字幕乱亚洲美女精品一区| 久久久久久久人妻| 亚洲精品国产拍免费91在线| 久久精品国产免费观看99| 91四海无码日韩欧美| 曰韩av中文字幕专区| 日本 情色 1区2区3区| 无码乱人伦中文视频| 超碰欧美在线欧美| 91成人久久| 欧美综合网站999| 精品少妇一区二区三区在线视频| 熟妇一区,二区,三区。| 全球成人中文在线| 欧美亚洲清纯| 久久久久久国产精品免费网站| 九九九九精品一区| 亚洲砖码砖专无区2023| 中文字幕无码不卡啪啪| 久久久九九网站| 日韩有码中文字幕女同性恋| julia高潮后不停追击中出| 欧美天天干| 噜噜吧,噜噜色,噜噜| AV女资源| 色情成人五月天| 12一15性XXXX粉嫩国产| 天天天天天天天天综合| 婷婷丁香五月天亚洲天堂网| av网站在线观看了| 破处bbq| 综合五月天| 小日子操bb在线看| 欧美骚少妇| 淫荡少妇免费| 后入人妻无码| 久久久久久性爱片| 天堂俺去俺来也www久久婷婷| 日韩中文字幕av在线播放| 精品人妻美妇91job| 亚州色综合| 国产丝袜美腿美女麻豆| 美国一区二区免费视频| 欧美不在线| 久久的网站啊啊啊啊啊| 亚洲精品免费中文字幕| 久久久性少妇| 熟妇熟女一区二三区| 伊人激情五月天一区二区| 91欧| 四虎免费看黄| 超碰碰碰碰| 日本成人A片免费看| 久久大香蕉97| 91 丝袜在线| 久久一区二区三区入口| 色香AV| 一二视频神马久久传媒| 久操网视频| 中文久久久| 嗯~啊~快点 死我视频免费看网站| 大香蕉520| 成人无码电影在线观看网| 九九九999久久久网站| 97久久久精品| 欧美三级一级| 另类专区在线观看| 黑人美精品 A片| 九九九九AV| 曰韩少妇无码| 伊人亚洲国产一成人久久精品,久久| 婷婷丁香五月天综合东京热| 蜜臀一区二区三区在线| 日本不卡中文| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日本操大逼| 亚洲九九九| 精品国产乱码久久久久久免费| 天堂精品小草| 天天做日日爱夜夜爽| 亚洲AV成人精品网站在AV| 老熟女综合网| 日韩资源网| 中文乱码99| 亚洲 欧美 91| 久久九九综合| 无码免费精品高清| 为用户提供免费看黄网址在线观看| 特污精品女优骚货黄色视频在线免费观看| 亚洲成人色情五月天丁香花| 五月天激情婷婷| 屁屁影院一区二区三区国产| 天天爽夜夜爽夜夜爽精| 最近二区三区视频大全| 家庭乱伦网站国产| 麻豆AV短剧| 久久综合亚洲色1080p| 91天美传媒在线观看| 人人看黄色视频| 99爱在线视频| 久久久九九九| 97欧美色资源| 91欧美网| 九九av| 亚洲AV永久无码一区仙野| 国产精品亚洲天堂网址| 亚洲天天天| 91插B网站| 久久精品72| 最新精品久久蜜桃 | 欧美老熟另类| 亚洲欧洲偷拍一区| 欧美日韩操逼嗦吊| 五月丁香激情综合网| 激情丁香婷婷| 99热在线播放| 九九九九九九九精品视频| 激情五月综合| 成人无码专区精品视频| 亚洲熟妇无码一区二区三区| 一区二区三区四区姦女| 久插综合| 啊啊啊不要好爽日韩无码一区| 久都青青视频| 日韩欧亚中文在线| 欧美日韩美女精品久草一区二区三区 | 九九九色| 国产精品一二三区18| 操www| 国产高清成人mv在线观看| 乱伦av麻豆| 日韩不卡av一二三| 情色日播放AV| 亚洲超碰97| 日韩一级二级三级| 欧美色宗合| 看免费一级在线播放毛片| 尤物视频视频官网| 91九色蝌蚪在线观看| 97欧美性爱| 99在线免费视频| 色女女女导航| 91精品国产综合久久久蜜臀| 久久久艹艹艹| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 十八禁网站在线| 91黑丝美女| 成人草草视频| 国产精品久久蜜乳av| 在线观看亚洲成人精品| 国产在线精品偷| julia在线观看久久| 性交一区二区在线播放| 午夜啊啊| 眼镜人妻101.com| 亚洲操人| 韩国女主播青草福利视频| 欧美大片天天看| 欧美激情在线观看视频| 久久久久久久久久va| 色综合久久久久| A啊啊在线观看| 人妻熟女一区二区三区视频| 看免费一级在线播放毛片| 一二三四视频中文字幕在线看| 竹菊影视国产一区二区| 国内精品999| 国产精品3| 精品久久久av无码免费| 草莓精品视频在线免费观看| 志村玲子视频一区二区| 97香焦色区| 呻吟 欧美 日本 中出| 久久久久97| 日本熟女中文| 97超碰免费生活| 超碰九区| 国产激情av女片自拍| 欧美综合第一| 国产91美女视频| 12一15性XXXX粉嫩国产| 色五月亚洲| 日韩人妻精品| 强被迫伦姧在线观看无码网站| 日韩性爱播放| 亚洲人在线| 四虎精品亚洲| 亚洲最大成人a毛毛片| 美女诱惑爱爱| 91久热| 天天精品| 国产久久一区二区| 欧美中出| 久99| 怡红院网站在线视频| 久久五月天婷婷丁香中文字幕| 91欧美高清| 日韩电影天堂视频一区二区| 天天看天天日| 亚洲 日本 一 二 三| 91激情国产| 逼逼逼逼操操操操操操操操操午夜剧场| 伊人青青一区成人视频在线观看区| 96超碰网| 免费的很黄很污的全部视频| 日本999精品视频| 日本欧美中文字幕| 国产女人高潮视频| 国产自啪精品视频网站黑丝| 国产精品自在自拍视频| 性交一区二区在线播放| 一级特黄aaa大片在线观看成人一级片在线观看| 欧美亚洲综合色| 欧美久久人妻少妇一区二区| 五月婷婷丁香六月丁香| 国产无遮挡| 青娱乐国产剧情av一区| 欧美性爱伊人| 天天综合~91| 欧亚性爱视频免费看| 亚洲国产丝袜在线观看| 亚洲AV无码翔田千里网站| 精品四五区| 欧洲在线性爱视频| 亚欧美天堂在线| 日韩欧美性爱电影在线观看| 中文高清一区二区的| 亚洲无码视频免费在线观看网址!| 91粉芽高清在线一区二区| 狠狠爱夜夜| 亚洲日韩AV视色| 欧美色图校园春色| 婷婷五月天成人网| 精品黄色电影| 乱理日韩中文| 欧美大香蕉久| 性生活久久久久久久久久| 免费看黄片现成| 欧美情色贴图| 八戒午夜福利理论片| 中文熟女五十乱码在线| 综合久久中文字幕综合日韩精品| 99这里只有精品| 午夜精品五区| 亚洲欧美97| 亚洲欧洲小说图片视频| 秋霞一集毛片观看| 亚洲诱惑| 亚洲古典另类欧美在线| 五月天婷婷社区| 欧美日韩色图片| gogogo免费高清看中国国语| 97在线欧| 91ise欧美| 一本色道综合久久欧美| 黄色十八禁网站| 久久久久久AV无码免费网站| 精精品人妻一区二区三区| 91国产精品在线看| 欧美爆乳精品一区二区| 中文字幕av一区二区三区人妻少妇 | 日韩无码嘿咻黑热久| www久久国产精品| 精品人妻一二三四区视频| 六月丁香婷| 极品综合| 97精品一区二区视频在线观看| 91亚.色| 一区操逼日比视频| 激情在线青青操| 天天做天天爱天天爽AV| 国产 v乱码一区二| 亚洲人妻中文在线视频| 综合97久久| 蜜色网色哟哟| 播播亚洲小说亚洲| 超碰78| 风月影院男女十八禁| 男人的天堂在线有码| 美女午夜福利免费视频| 国产精品美女久久久久久网站| 超碰久在线天天做| 久操B网| 亚洲欧美激情在线视频| 无码高清操逼网址| 精品一区二区三区蜜桃| 伊人青青草久久| 全球成人中文在线| 波多野结衣一级视频| 操人妻视频| 欧美日韩97在线| 亚洲另类色图片| 操碰91| 亚洲AV操| 成人AV超碰免费在线| 少妇久久久久久| 亚洲AV无码久久精品蜜桃小说| 激情五月婷婷| 八戒午夜福利理论片| 老熟女网站| 亚洲精品蜜桃久久久| 成人在线永久| 成人AV素股で擦久久| 中文字幕日本久久| 在线观看免费视频国产| 97超碰超碰| 国产97视频| 欧美偷| 96精品一区| 少妇人妻精品| 国产精品国产自产拍高清AV| 91啪啪| 亚洲天堂 视频你懂的| 五月婷网站| 性爱视频无打码在线观看| 成人毛片免费| 欧美狠狠干| 久久精品99久久久久久| 亚洲情色在线| 一区二区三区日韩欧美 | 射丝袜大香蕉| 日韩人妻精品中文字幕| 亚洲老司机123专区| 7月婷婷综合| 欧美大码在线视频| 天天日日本| 在线天堂999| 亚洲国产一区二区三区在线| 九九热免费国产视频婷婷伊人五月| 色综合久| 狠狠色色| 国语av最新自产拍在线观看| 亚洲一区二区三区中文字幕| 无码人妻精品一区二区三区99不卡| 91久久青青草原精品| 无码137片内射在线影院| 97超碰人人模人人拍人人| 国产精品精品系列在线观看| 亚洲一区二区av| 综合久久97| 日韩欧美性吧婷婷乱伦大香蕉| 欧美春色| 69XX一中文字幕人妻91| 不卡中文字幕aⅴ在线| 成人性爱AV在线免费观看| 中文字幕蜜乳av| 91网九色蝌蚪操熟女| 国产黄色视频久久| 91色综合| 岛国免费视频在线| 久思思热视频在线观看| 性爱视频啪啪啪啪| 一区操逼日比视频| 秋霞蝌科网日本一区| 尤物网址| 精品久久久亚洲AV成人网站| 国产东北女人在线视频| 国产91精品福利在线| 婷婷丁香六月| 超碰久久性爱| 国产天天看| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 丁香五月综合| 日本狠狠干| 超碰av人人人| 欧美韩国你懂得在线|