日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

RTMP轉(zhuǎn)WebRTC低延遲直播實(shí)戰(zhàn):基于SRS的Docker部署與播放測試

RTMP轉(zhuǎn)WebRTC低延遲直播實(shí)戰(zhàn):基于SRS的Docker部署與播放測試 之前做直播項(xiàng)目時(shí)業(yè)務(wù)方經(jīng)常提一個(gè)需求“畫面要低延遲最好控制在 1 秒以內(nèi)但我們的攝像頭和編碼器只支持 RTMP 輸出”。瀏覽器原生又不能直接播放 RTMPHTTP-FLV 延遲又不理想。后來在測試環(huán)境里用 SRS 把 RTMP 轉(zhuǎn)成 WebRTC才把問題徹底打通。本文就用一套最小可復(fù)現(xiàn)的 rtmp2webrtc 測試環(huán)境帶你從環(huán)境搭建、協(xié)議轉(zhuǎn)換、推流驗(yàn)證到 WebRTC 播放完整跑一遍。文章會(huì)包含 Docker 部署、配置文件、ffmpeg 推流命令、網(wǎng)頁播放器代碼和常見排錯(cuò)思路適合剛接觸流媒體轉(zhuǎn)換、或者已經(jīng)在做直播/監(jiān)控項(xiàng)目想降低播放延遲的開發(fā)者。1. 背景與核心概念1.1 為什么需要 RTMP 轉(zhuǎn) WebRTC在真實(shí)項(xiàng)目中RTMP 和 WebRTC 經(jīng)常是兩個(gè)獨(dú)立的技術(shù)棧但業(yè)務(wù)上卻要把它們串起來。RTMP 目前依然是很多攝像頭、編碼器、推流軟件的標(biāo)準(zhǔn)輸出協(xié)議。傳統(tǒng) OBS、硬件編碼器、監(jiān)控?cái)z像頭幾乎都支持 RTMP 推流。但瀏覽器端對 RTMP 的支持已經(jīng)基本消失。以前用 Flash 播放 RTMP 已經(jīng)過時(shí)現(xiàn)代瀏覽器不可能直接解析 RTMP 流。如果要實(shí)現(xiàn)“攝像頭 RTMP 推流網(wǎng)頁端低延遲觀看”最直接的辦法是在服務(wù)器上搭建一個(gè)中間層把 RTMP 接收下來再轉(zhuǎn)換成瀏覽器能消費(fèi)的流。這個(gè)中間層可以是 HTTP-FLV、HLS 或 WebRTC。HTTP-FLV 延遲雖然不錯(cuò)但相比 WebRTC 還是不夠低HLS 延遲通常在 3 到 10 秒只適合點(diǎn)播或?qū)ρ舆t不敏感的場景。WebRTC 的優(yōu)勢在于基于 UDP 傳輸具備實(shí)時(shí)通信能力播放延遲通常可以控制在 1 秒以內(nèi)。所以“RTMP 推流 WebRTC 播放”成了低延遲直播測試和落地的主流組合。1.2 RTMP 與 WebRTC 的核心差異搞清楚這兩個(gè)協(xié)議的差異對理解轉(zhuǎn)換原理很有幫助。RTMP 是基于 TCP 的實(shí)時(shí)消息傳輸協(xié)議。它把視頻、音頻、metadata 封裝成 FLV 標(biāo)簽通過長連接推送到服務(wù)器。TCP 保證了可靠性但會(huì)有一定的緩沖和排隊(duì)延遲。早期 RTMP 用于 Flash 播放器到現(xiàn)在依然是行業(yè)里最常見的推流協(xié)議。WebRTC 是一套瀏覽器實(shí)時(shí)通信標(biāo)準(zhǔn)主要使用 UDP 傳輸 RTP/RTCP 媒體數(shù)據(jù)。它通過 ICE 做連接協(xié)商用 SDP 交換媒體能力基于 SRTP 加密傳輸。瀏覽器原生支持 WebRTC所以不需要安裝插件或 Flash。下面用表格對比會(huì)更直觀對比項(xiàng)RTMPWebRTC傳輸層TCPUDP RTP/RTCP瀏覽器支持不支持原生支持典型角色推流端為主播放端/雙向通話延遲范圍2 到 5 秒0.2 到 1 秒加密可配默認(rèn) SRTP端口固定 1935動(dòng)態(tài) RTP 端口/UDP簡單理解RTMP 在推流階段有優(yōu)勢WebRTC 在播放和雙向通信階段有優(yōu)勢。服務(wù)器需要做的就是接收 RTMP 流解出 FLV 封裝中的視頻幀和音頻幀再按 WebRTC/SDP 協(xié)商出來的能力重新封裝成 RTP 包發(fā)送給瀏覽器。1.3 一套完整的 rtmp2webrtc 測試環(huán)境包含什么一套可復(fù)用的 rtmp2webrtc 測試環(huán)境通常由以下幾個(gè)部分組成流媒體服務(wù)器承擔(dān) RTMP 接收和 WebRTC 轉(zhuǎn)換任務(wù)例如 SRS。推流端使用 ffmpeg 拉取本地視頻文件或者直接生成測試畫面把 RTMP 流推到服務(wù)器。播放端一個(gè)普通的 Chrome/Edge 瀏覽器頁面使用 WebRTC API 從服務(wù)器拉流。網(wǎng)絡(luò)環(huán)境服務(wù)器需要開放 RTMP 的 TCP 端口、HTTP API 端口以及 WebRTC 媒體傳輸?shù)?UDP 端口。本文選擇 SRS 作為測試服務(wù)器因?yàn)樗_源、部署簡單并且原生支持 RTMP 與 WebRTC 的雙向轉(zhuǎn)換。你可能還聽說過 Janus、mediacodec、GStreamer 等方案但 SRS 在中文社區(qū)資料比較豐富單機(jī)測試也最省事。2. 環(huán)境準(zhǔn)備與版本說明2.1 操作系統(tǒng)與硬件要求測試環(huán)境不要求高性能服務(wù)器。本文的示例在 Linux 系統(tǒng)上演示如果你用的是云主機(jī)、虛擬機(jī)或本地 Linux 開發(fā)機(jī)都可以。常見環(huán)境如下操作系統(tǒng)Ubuntu 20.04 / 22.04CentOS 7 及以上或者兼容性較好的 Linux 發(fā)行版。CPU/內(nèi)存2 核 4G 起步單路流媒體轉(zhuǎn)換測試完全夠用。瀏覽器Chrome 或 Edge 最新版本。如果你的測試機(jī)是國產(chǎn)化平臺例如麒麟操作系統(tǒng)搭配飛騰/鯤鵬或兆芯等架構(gòu)部署思路也類似。優(yōu)先選擇支持對應(yīng) CPU 架構(gòu)的 Docker 鏡像如果沒有現(xiàn)成鏡像可以改用源碼編譯方式。SRS 對 ARM64 的編譯還算友好但具體還要按實(shí)際系統(tǒng)環(huán)境調(diào)整這里重點(diǎn)演示配置思路而不是特定發(fā)行版的命令。2.2 軟件工具清單為了跑通測試環(huán)境我們需要的工具如下工具用途說明Docker / Docker Compose啟動(dòng) SRS 服務(wù)快速、環(huán)境隔離ffmpeg模擬 RTMP 推流可使用虛擬視頻源SRS 5流媒體服務(wù)器接收 RTMP 并轉(zhuǎn) WebRTCChrome 瀏覽器播放 WebRTC 流支持 WebRTC API版本說明SRS 5 開始完整支持 WebRTC 播放所以本文以 SRS 5 為例。SRS 6 也保留了類似配置細(xì)節(jié)上你可以參考官方文檔做微調(diào)。不要盲目用 latest 鏡像固定具體大版本更利于復(fù)現(xiàn)環(huán)境。如果你不希望安裝 Docker也可以直接從源碼編譯 SRS但需要額外安裝 Go、gcc、cmake 等依賴。本文優(yōu)先使用 Docker 方案因?yàn)樗梢园炎⒁饬性诹髅襟w本身而不是編譯環(huán)境上。2.3 測試目錄規(guī)劃建議在測試機(jī)上單獨(dú)建立一個(gè)目錄方便清理和備份。/data/rtmp2webrtc/ ├── conf/ │ └── srs.conf ├── pages/ │ └── player.html └── logs/conf 目錄放 SRS 自定義配置文件。pages 目錄放 WebRTC 播放頁面。logs 目錄留作日志備份。實(shí)際使用時(shí)按你的習(xí)慣調(diào)整目錄位置。下面所有命令都默認(rèn)在 /data/rtmp2webrtc 下執(zhí)行。3. 核心原理拆解3.1 SRS 在測試環(huán)境中的雙重角色SRSSimple Realtime Server在本文測試環(huán)境中承擔(dān)兩個(gè)角色RTMP 流媒體服務(wù)器監(jiān)聽 1935 端口接收 ffmpeg 或其他推流端發(fā)來的 RTMP 流。WebRTC 網(wǎng)關(guān)通過 HTTP 信令接口與播放端交換 SDP通過 UDP 端口傳輸 RTP 媒體數(shù)據(jù)。當(dāng) ffmpeg 推流到 SRS 后SRS 內(nèi)部會(huì)生成一條流。這條流先以 RTMP/FLV 的形式存在服務(wù)器上。當(dāng)播放端發(fā)起 WebRTC 請求時(shí)SRS 讀取這條流中的 H.264 視頻幀把它們封裝到 RTP 包中通過協(xié)商好的 UDP 路徑發(fā)送給瀏覽器。這里有一個(gè)關(guān)鍵點(diǎn)RTMP 到 WebRTC 的轉(zhuǎn)換并不等于轉(zhuǎn)碼。默認(rèn)情況下SRS 不改變視頻編碼格式而是做“轉(zhuǎn)封裝/轉(zhuǎn)協(xié)議”。如果推流端編碼是 H.264WebRTC 播放端同樣收到的也是 H.264。轉(zhuǎn)碼會(huì)消耗大量 CPU所以通常只在編碼格式不兼容時(shí)才考慮。3.2 WHIP 與 WHEP 信令流程WebRTC 連接并不是“服務(wù)器直接往瀏覽器扔數(shù)據(jù)”它需要先完成信令協(xié)商。兩端要先交換 SDPSession Description Protocol告訴對方自己支持什么編碼、用什么 IP 和端口通信。SRS 5 支持兩類標(biāo)準(zhǔn)信令接口WHIPWebRTC-HTTP Ingest Protocol用于 WebRTC 推流。WHEPWebRTC-HTTP Egress Protocol用于 WebRTC 拉流播放。本文場景是瀏覽器拉流所以走 WHEP 流程。大致步驟如下瀏覽器創(chuàng)建一個(gè) RTCPeerConnection 對象。調(diào)用 createOffer 生成自己的 SDP offer。把 SDP offer 通過 HTTP POST 發(fā)送到 SRS 的 WHEP 地址。SRS 返回 SDP answer。瀏覽器把 answer 寫入 remoteDescription。雙方通過 ICE 完成 UDP 連接。瀏覽器收到 RTP 媒體數(shù)據(jù)并渲染到 video 標(biāo)簽。整個(gè)流程看似復(fù)雜但 SRS 簡化了大部分服務(wù)端邏輯瀏覽器側(cè)使用原生 WebRTC API 就能完成。3.3 媒體格式兼容性注意事項(xiàng)WebRTC 對音頻編碼有比較強(qiáng)的偏好。瀏覽器普遍支持 Opus而 RTMP 推流端很多默認(rèn)使用 AAC。SRS 在某些版本中支持 AAC 到 Opus 的轉(zhuǎn)換但不同版本和配置下行為可能不一樣。為了減少測試環(huán)節(jié)的不確定性我們可以在 ffmpeg 推流時(shí)直接輸出 H.264 視頻和 AAC 音頻如果播放端沒有聲音再嘗試推 Opus 音頻。視頻方面H.264 是最穩(wěn)妥的 WebRTC 播放格式幾乎所有瀏覽器都能硬解。如果你推流端輸出的是 H.265瀏覽器 WebRTC 默認(rèn)不支持通常需要先轉(zhuǎn)成 H.264。這一點(diǎn)在視頻監(jiān)控項(xiàng)目中尤其常見。4. 完整實(shí)戰(zhàn)搭建 rtmp2webrtc 測試環(huán)境4.1 編寫 SRS 配置文件首先創(chuàng)建配置文件 /data/rtmp2webrtc/conf/srs.conf。# 文件路徑/data/rtmp2webrtc/conf/srs.conf listen 1935; max_connections 1000; daemon off; srs_log_tank console; http_api { enabled on; listen 1985; } http_server { enabled on; listen 8080; dir ./objs/nginx/html; } rtc_server { enabled on; listen 8000; candidate $CANDIDATE; } vhost __defaultVhost__ { rtc { enabled on; } }配置說明listen 1935RTMP 接收端口。http_api.listen 1985HTTP API 端口用于查看流信息、調(diào)用管理接口。http_server.listen 8080HTTPS 靜態(tài)文件服務(wù)端口方便直接訪問播放頁面。rtc_server.listen 8000WebRTC RTP/RTCP 媒體傳輸?shù)?UDP 監(jiān)聽端口。rtc_server.candidateSRS 向播放端通告的 IP 地址。這里寫成 $CANDIDATE 是為了通過環(huán)境變量動(dòng)態(tài)注入你也可以在測試環(huán)境里直接寫成服務(wù)器實(shí)際 IP。candidate 配置是 rtmp2webrtc 測試環(huán)境中最容易踩坑的地方。如果服務(wù)器是公網(wǎng)機(jī)器或云主機(jī)candidate 必須配置成客戶端能訪問到的 IP。如果配置成了 127.0.0.1 或內(nèi)網(wǎng) IP瀏覽器雖然完成了信令協(xié)商但媒體包可能永遠(yuǎn)到不了播放端。4.2 Docker 啟動(dòng) SRS進(jìn)入測試目錄執(zhí)行以下命令啟動(dòng) SRS 容器。假設(shè)你的服務(wù)器 IP 是 192.168.1.100請?zhí)鎿Q成實(shí)際環(huán)境。cd /data/rtmp2webrtc docker run -d --name srs \ -p 1935:1935 \ -p 1985:1985 \ -p 8080:8080 \ -p 8000:8000/udp \ -v /data/rtmp2webrtc/conf/srs.conf:/usr/local/srs/conf/srs.conf \ -e CANDIDATE192.168.1.100 \ ossrs/srs:5執(zhí)行后查看容器日志docker logs -f srs如果啟動(dòng)正常日志中會(huì)顯示配置加載成功并出現(xiàn) RTMP、HTTP API、RTC Server 的監(jiān)聽信息??吹筋愃葡旅娴膬?nèi)容時(shí)說明服務(wù)已經(jīng)起來了rtmp: listen tcp://0.0.0.0:1935 http api: listen tcp://0.0.0.0:1985 rtc_server: listen udp://0.0.0.0:8000注意容器的 8000 端口映射方式與普通 TCP 端口不同需要顯式聲明為 udp。漏掉 /udp 聲明會(huì)導(dǎo)致瀏覽器可以完成信令協(xié)商但媒體數(shù)據(jù)無法傳輸播放畫面會(huì)一直黑屏。4.3 驗(yàn)證 SRS 服務(wù)是否正常在瀏覽器訪問下面的地址如果能打開 SRS 的默認(rèn) HTTP 頁面說明靜態(tài)服務(wù)器正常http://192.168.1.100:8080/訪問 HTTP API 查看流列表curl http://192.168.1.100:1985/api/v1/streams此時(shí)還沒有推流返回結(jié)果中 streams 數(shù)組應(yīng)該為空。這個(gè)接口在后面可以用來確認(rèn)流是否成功推上來。4.4 使用 ffmpeg 模擬 RTMP 推流為了方便測試我使用 ffmpeg 的 lavfi 虛擬設(shè)備生成畫面和聲音不需要準(zhǔn)備真實(shí)視頻文件。先測試視頻和音頻均為 H.264 AAC 的推流命令ffmpeg -re -f lavfi -i testsrcsize1280x720:rate25 \ -f lavfi -i sinefrequency1000:sample_rate44100 \ -c:v libx264 -preset veryfast -b:v 1500k \ -c:a aac -b:a 128k \ -f flv rtmp://192.168.1.100:1935/live/livestream命令參數(shù)解釋-re以實(shí)時(shí)速率讀取輸入模擬真實(shí)推流。testsrcffmpeg 內(nèi)置測試畫面畫面帶有彩色條和時(shí)間信息。sine1kHz 正弦波模擬音頻。libx264H.264 編碼。aacAAC 音頻編碼。rtmp://192.168.1.100:1935/live/livestream推流地址其中 live 是應(yīng)用名livestream 是流名。如果你希望驗(yàn)證 WebRTC 音頻兼容性可以把音頻編碼改成 Opusffmpeg -re -f lavfi -i testsrcsize1280x720:rate25 \ -f lavfi -i sinefrequency1000:sample_rate44100 \ -c:v libx264 -preset veryfast -b:v 1500k \ -c:a libopus -b:a 64k \ -f flv rtmp://192.168.1.100:1935/live/livestream當(dāng) ffmpeg 成功推流后再次查看流列表curl http://192.168.1.100:1985/api/v1/streams如果返回結(jié)果表明存在 live/livestream 這條流說明 RTMP 推流已經(jīng)成功。4.5 編寫 WebRTC 播放頁面下面創(chuàng)建一個(gè)最簡單的 WebRTC 播放頁面。這個(gè)頁面不依賴任何第三方庫使用瀏覽器原生 API 和 SRS 的 WHEP 接口完成拉流。文件路徑/data/rtmp2webrtc/pages/player.html!DOCTYPE html html langzh-CN head meta charsetUTF-8 titleSRS WebRTC 播放測試/title style body { font-family: Arial, sans-serif; padding: 20px; } video { width: 640px; background: #000; } /style /head body h2RTMP 轉(zhuǎn) WebRTC 播放測試/h2 video idplayer autoplay controls muted/video p idstatus正在連接.../p script const video document.getElementById(player); const status document.getElementById(status); // 改成你的服務(wù)器實(shí)際地址 const whepUrl http://192.168.1.100:1985/rtc/v1/whep/?applivestreamlivestream; async function startPlayback() { // 1. 創(chuàng)建 RTCPeerConnection const pc new RTCPeerConnection({ iceServers: [{ urls: stun:stun.l.google.com:19302 }] }); // 2. 聲明接收音視頻 pc.addTransceiver(video, { direction: recvonly }); pc.addTransceiver(audio, { direction: recvonly }); // 3. 收到媒體流后渲染到 video pc.ontrack (event) { if (event.streams event.streams[0]) { video.srcObject event.streams[0]; status.textContent WebRTC 播放中; } }; // 4. 創(chuàng)建并設(shè)置本地 SDP const offer await pc.createOffer(); await pc.setLocalDescription(offer); // 5. 通過 WHEP 接口發(fā)送給 SRS const resp await fetch(whepUrl, { method: POST, headers: { Content-Type: application/sdp }, body: offer.sdp }); if (!resp.ok) { throw new Error(WHEP 請求失敗: resp.status await resp.text()); } // 6. 設(shè)置遠(yuǎn)端 SDP const answerSdp await resp.text(); await pc.setRemoteDescription({ type: answer, sdp: answerSdp }); } startPlayback().catch((err) { status.textContent 播放失敗: err.message; console.error(err); }); /script /body /html把這個(gè)頁面放到 SRS 的 HTTP 服務(wù)目錄下或者單獨(dú)用 Nginx 托管。最簡單的方式是直接使用 Docker 命令拷貝到容器內(nèi)。但更推薦在宿主機(jī)上通過 Nginx 或 Python HTTP 服務(wù)訪問避免修改容器內(nèi)部文件造成環(huán)境不可恢復(fù)。如果使用 SRS 的 8080 靜態(tài)服務(wù)可以直接把頁面放到容器映射目錄中。不過上面的配置里 http_server 的 dir 指向的是容器內(nèi)的 ./objs/nginx/html因此更方便的辦法是把 player.html 放到 SRS 的 html 目錄然后在瀏覽器訪問http://192.168.1.100:8080/player.html拷貝方式docker cp /data/rtmp2webrtc/pages/player.html srs:/usr/local/srs/objs/nginx/html/player.html4.6 運(yùn)行與驗(yàn)證在瀏覽器打開 player.html如果一切正常你會(huì)看到測試畫面同時(shí)頁面提示“WebRTC 播放中”。驗(yàn)證要點(diǎn)畫面是否流暢延遲是否符合預(yù)期。聲音是否正常。如果你用 AAC 推流沒有聲音可以換成 Opus 推流命令再試。瀏覽器控制臺沒有 WebRTC 連接失敗的錯(cuò)誤。為了更直觀地觀察延遲ffmpeg 生成的 testsrc 畫面上帶有時(shí)間信息。你用手機(jī)秒表或另一臺顯示當(dāng)前時(shí)間的設(shè)備對比一下就能粗略判斷延遲高低。正常情況下延遲通常在 1 秒以內(nèi)。5. 常見問題與排查思路5.1 問題速查表問題現(xiàn)象常見原因解決思路頁面一直轉(zhuǎn)圈無法播放candidate 配置錯(cuò)誤將 srs.conf 中 candidate 改成客戶端可達(dá) IP信令正常但畫面黑屏UDP 8000 端口不通檢查云安全組和服務(wù)器防火墻放通 UDP 8000瀏覽器報(bào) CORS 錯(cuò)誤播放頁面與 API 不同源用 Nginx 將頁面和 /rtc/v1/ 接口代理到同一域名ffmpeg 推流失敗RTMP 端口未放通檢查 TCP 1935 端口有畫面沒有聲音音頻編碼不兼容試試推 Opus 音頻或檢查 SRS 是否啟用轉(zhuǎn)碼延遲很高是否真正建立了 WebRTC 連接檢查頁面是不是走了 HTTP-FLV/HLS 回流5.2 典型問題信令通了但畫面一直黑屏這是 rtmp2webrtc 測試環(huán)境中最常見的問題?,F(xiàn)象是瀏覽器控制臺沒有報(bào)錯(cuò)WHEP 請求成功返回RTCPeerConnection 狀態(tài)也正常但 video 標(biāo)簽一直黑屏。根本原因通常是 UDP 媒體端口不通。WebRTC 的信令走 HTTP只要 TCP 1985 端口能訪問信令流程就會(huì)成功。但真正的視頻數(shù)據(jù)是走 UDP 8000 端口發(fā)送的。如果服務(wù)器防火墻或云安全組沒有放通 UDP 8000媒體包就會(huì)被丟棄。排查順序查看 SRS 容器是否監(jiān)聽 UDP 8000docker exec -it srs ss -lunp | grep 8000在客戶端測試 UDP 端口是否可達(dá)。UDP 沒有 telnet 那樣的三次握手但可以用 nc 做簡單驗(yàn)證nc -vuz 192.168.1.100 8000這個(gè)命令能證明 UDP 包是否有去有回不過不同系統(tǒng)下結(jié)果不一定絕對準(zhǔn)確。更可靠的判斷方式是在 SRS 容器里開啟詳細(xì)日志觀察是否有 RTP 包進(jìn)來。檢查云廠商安全組。云主機(jī)通常有兩個(gè)防火墻層級操作系統(tǒng)內(nèi)部防火墻firewalld/iptables和安全組。兩個(gè)地方都要放通 UDP 8000。解決方案在防火墻中放通 UDP 8000然后重啟 SRS 容器并重新播放驗(yàn)證。5.3 典型問題CORS 跨域錯(cuò)誤當(dāng)你用瀏覽器直接訪問另一個(gè)端口的 WHEP 接口時(shí)如果 SRS 沒有返回正確的 Access-Control-Allow-Origin 響應(yīng)頭控制臺會(huì)報(bào)跨域錯(cuò)誤播放自然失敗。規(guī)避方法有兩種。第一種把播放頁面放到 SRS 的 8080 端口靜態(tài)目錄中但 API 是 1985 端口這仍然是跨域。所以更推薦第二種。第二種用 Nginx 做反向代理。把頁面和 API 統(tǒng)一暴露在同一個(gè)域名和端口下。Nginx 配置示例server { listen 80; server_name 192.168.1.100; location /rtc/ { proxy_pass http://127.0.0.1:1985; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; } }配置完成并重啟 Nginx 后播放頁面要改成訪問 Nginx 的地址const whepUrl http://192.168.1.100/rtc/v1/whep/?applivestreamlivestream;頁面本身通過http://192.168.1.100/player.html訪問。這樣頁面和接口就在同一個(gè)源下不會(huì)有跨域問題。5.4 典型問題Candidate 地址不對SRS 的 rtc_server.candidate 決定了 SRS 在 SDP 中通告給瀏覽器的媒體連接地址。如果這個(gè)地址是內(nèi)網(wǎng) IP 或者 127.0.0.1瀏覽器會(huì)嘗試往這個(gè)地址發(fā)媒體數(shù)據(jù)自然連不上。在 Docker 部署方式下還需要注意容器網(wǎng)絡(luò)模式。如果你把 candidate 設(shè)成了容器內(nèi)部 IP瀏覽器訪問不到。正確做法是設(shè)置成宿主機(jī)可訪問的 IP 或域名。如果部署在云主機(jī)上candidate 可以填云主機(jī)私網(wǎng) IP也可以填公網(wǎng) IP。這里沒有絕對標(biāo)準(zhǔn)原則只有一個(gè)客戶端能夠訪問到該地址。對于公網(wǎng)播放場景candidate 必須配置成公網(wǎng) IP。修改配置文件后一定要重啟容器docker restart srs然后重新打開播放頁面測試。6. 最佳實(shí)踐與工程建議6.1 測試環(huán)境與生產(chǎn)環(huán)境的差異測試環(huán)境跑通后不代表生產(chǎn)環(huán)境可以直接按同樣方式部署。下面幾點(diǎn)在工程上尤其值得注意。生產(chǎn)環(huán)境建議使用固定版本鏡像而不是 latest。Docker 鏡像的 latest 標(biāo)簽會(huì)隨時(shí)間變化容易導(dǎo)致測試和生產(chǎn)版本不一致。推薦在 Docker Compose 文件里寫死鏡像 tag。生產(chǎn)環(huán)境還要考慮域名和 HTTPS。瀏覽器對 WebRTC 的限制非常嚴(yán)格如果頁面通過 HTTPS 訪問媒體流的信令和傳輸會(huì)有更統(tǒng)一的兼容性。雖然這個(gè)純拉流示例不一定強(qiáng)制要求 HTTPS但在真實(shí)業(yè)務(wù)中頁面和 API 都建議統(tǒng)一走 HTTPS/WSS。6.2 配置管理SRS 配置文件應(yīng)該納入版本管理。不同環(huán)境使用不同配置文件例如srs.conf公共配置。srs.conf.test測試環(huán)境配置。srs.conf.prod生產(chǎn)環(huán)境配置。candidate 這類和環(huán)境強(qiáng)相關(guān)的配置不要寫入公共配置應(yīng)該通過環(huán)境變量或部署管道注入。這樣同一份配置可以在不同環(huán)境之間切換不容易出現(xiàn)“本地能跑線上黑屏”的問題。6.3 安全與訪問控制SRS 默認(rèn)的 HTTP API 端口如果直接暴露到公網(wǎng)任何人都有可能調(diào)用接口查看流信息或執(zhí)行管理操作。測試環(huán)境問題不大但生產(chǎn)環(huán)境至少做好兩步限制 API 端口訪問來源例如只允許管理網(wǎng)段訪問 1985。對播放和推流做鑒權(quán)SRS 支持回調(diào)鑒權(quán)可以在推流或播放時(shí)通過 HTTP 回調(diào)到業(yè)務(wù)服務(wù)器校驗(yàn)身份。涉及服務(wù)器防火墻和云安全組配置時(shí)遵循最小權(quán)限原則。只放通必要的端口不要順手放行整個(gè)網(wǎng)段更不要在生產(chǎn)環(huán)境關(guān)閉防火墻做測試。6.4 性能與穩(wěn)定性媒體服務(wù)器對 UDP 端口和網(wǎng)絡(luò)質(zhì)量比較敏感。大規(guī)模并發(fā)播放時(shí)UDP 8000 端口會(huì)成為瓶頸單節(jié)點(diǎn)能力有限。建議在接入生產(chǎn)流量前做壓測觀察 CPU、內(nèi)存和帶寬占用。時(shí)間同步也是一個(gè)容易被忽視的點(diǎn)。WebRTC 對時(shí)間戳和 RTCP 反饋有要求服務(wù)器時(shí)間漂移會(huì)影響播放穩(wěn)定性。部署服務(wù)后建議開啟 NTP 時(shí)間同步。如果測試環(huán)境是國產(chǎn)化平臺例如麒麟系統(tǒng) ARM 架構(gòu)部署前先確認(rèn)鏡像是否支持對應(yīng) CPU 架構(gòu)。不支持的架構(gòu)就用源碼編譯不要盲目用docker pull避免啟動(dòng)時(shí)出現(xiàn) exec format error。7. 總結(jié)與下一步這篇文章從零搭建了一套 rtmp2webrtc 測試環(huán)境核心內(nèi)容包括RTMP 與 WebRTC 的協(xié)議差異。SRS 如何接收 RTMP 流并轉(zhuǎn)換給瀏覽器。Docker 啟動(dòng) SRS 的具體步驟。ffmpeg 推流命令和 WebRTC 網(wǎng)頁播放器。黑屏、CORS、candidate 配置錯(cuò)誤的排查方法。把這套環(huán)境跑通之后你可以繼續(xù)往更多方向深入例如測試 SRT 協(xié)議接入、WebRTC 推流、多路流轉(zhuǎn)發(fā)、集群部署、鑒權(quán)回調(diào)等。RTMP 轉(zhuǎn) WebRTC 只是流媒體接入層的一個(gè)環(huán)節(jié)掌握它以后再去理解低延遲直播的全鏈路架構(gòu)就不會(huì)覺得有障礙了。如果你在搭建過程中遇到其他問題建議先把容器日志打開再按“信令是否通過、媒體端口是否放通、candidate 是否正確、編碼格式是否兼容”的順序逐步排查。這套思路能覆蓋大部分測試環(huán)境中的故障場景。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久香蕉网| 亚洲综合码| 久久久久9久久久久| 超碰一区二区| 日韩一区二区精彩视频| 天天日天天色| 日韩超碰97| 国产成人网| 亚洲高潮影院| 久操热| 尤物视频偷拍免费| 久久国产乱子伦精品免费女人| 理论久久婷婷网 8| 精品黄色电影| 欧美第38页| 日本αv| 色一射色一射| 不卡av在线中文字幕| 中文在线久久字幕| 国产aⅴ无码片毛片一级网站| 超碰夫妻97| 福利操逼| 人妻第一页| 精品久久久久久亚洲| 久艹日日日| 97国产精品国| 操逼视频色| 人妻在线臀日韩| 午夜精品99久久久久传媒| 成人欧美日超碰| 久久国内| 欧美综合色,www| 91狠狠综合久久| 色噜噜国产精品视频一区二区| 国产精选三级在线观看| 呦呦影院| 六月婷婷五月丁香| 天天操夜夜嗨| 亚洲 图片 欧美 色图| 中文人妻av高清一区| 久久国99999| 在线一道啪| 99久在线精品99re8| 91天天美女| 成人开心网在线视频| 国产女人极品高潮毛片| 2017,超碰| 91狠狠综合久久久久久| 人妻日日干| 操人妻少妇中文 | 欧美色综合图片| 诱惑网综合| 丁香五月激情啪啪| 欧美大香蕉同搞| 人人妻人人澡人人爽人人精品浪潮| 国产精品久久久亚洲一区| 天堂а√在线最新版在线| 色777999综合| 日本A级视频| 欧美成人午夜免费福利785| 老熟女91视频| 精品人妻一区二区免费看| 亚州色站 日韩电影| 欧美激情综合| 激情接吻视频久久久久久| 欧美97| 中文一区二区| 伊人991| 欧美后进式| 日本高清_区二区三区| 91天天综合网| 97综合在线| 免费操逼91| 国产乱弄免费在线视频。 | 久久9精品网站| rivers-china.com| 久久9久| 无码高清操逼网址| 日本午夜福利影院| 97干com| 男人的天堂在线| 中文字幕欧洲有码| 熟女熟妇一区二区三四区| 黄色成年| 中文字幕AV乱伦| 久草福利在线资源站| 91婷婷| 久草视频制服诱惑| 欧美亚洲清纯| 7777奇米影视久久| 香蕉在线一区二区三区| 一区中文字幕二区日韩| 91热色| 精品无码欧美三级| 99久久99久久综合| Aa东京男人的天堂| 精品人妻一区二区三区四区石在线| 成人七区| 国产农村妇女精品一二区| 后入福利| 国产性爱在线视频一区二区| 超91综合网| 九九热九九| 日本高清一本二本免费不卡| 亚洲综合图色在线| 日本午夜久久电影| 另类视频在线| 久久久久久亚洲中文| 亚洲天堂另类小说男人| 青娱乐福利99| 欧美国产有色电影| 乱老女人一区二区视频| 日韩日本欧美在线观看| 久久AV色| 亚州Av天美传媒| 操国产逼| 久久香蕉综合一本到3atv| 日韩在线人妻网站| 乱抡国产91| 天操老女人| 日韩AV无码中文一区二区| 亚洲天堂久| 综合熟女| 午夜成人爽爽爽爽A片李冰冰| 91爰爱欧美| 人人看人人爰人人操| 国产91 丝袜在线播放| 北条麻妃99精品青青久久| 日本视频在线中文字幕| 久久久久久久久久黄色网| 少妇xx精品| 99少妇内射| 中文字幕日韩人妻视频一区二区三区交换夫妻| 久热九九| 国产成年女人免费视频播放a| 日韩欧美蜜桃精品久久中文字幕久久| 成人资源中文字幕在线观看天天| 一起草AV| 日人妻视频91| 欧美国产精品| 97欧美资源| 男人的天堂在线2| av最新免费中文字幕| 密臀成人视频久久久| 男人的天堂成人的社区| 欧美在线播放aaaa| 多乙久久久久久| 日韩欧美tv一区二区在线观看| 欧美97超碰| 色在线69堂| 色香在线| 91爰爱欧美| 一区二区三区四区色图| 国产丝袜视频| 亚洲精品蜜桃久久久一区二区三区| 久久久久婷婷| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲一区二区中文字幕| 超碰在线人妻中文字幕| 精品成人无码| 国产精品视频麻豆入口| 国产大陆天天艹| 强被迫伦姧在线观看无码网站| 亚洲激情视频| 丝袜六区| 97超碰色五月| 一级黄碟在线观看| 91丝袜人妻| 天天射日日干| 免费观看的黄色的网站| 五月丁香色婷婷| 91暧暧| 九九夜精品九九在线| 丰满人妻-区二区三区免费| 色婷婷电影网| av天堂影视中文在字幕在线中文| 亚洲精品97在线| 熟妇最新先锋一二三区| 好看的91视频| 9精品久久久久| 插入逼91| av中文在线| 久久久久久久久久久人妻| 色九九九综合| 99热销国产这里有精品| 特级毛片特黄久久免费看| 桃花色综合影院| 熟女字幕| 啊啊啊好大好湿| 亚洲日韩电影| 久久久久成人蜜桃精品| 国产树林里野战在线看| 国产精品成人无码av无码免费| 久久有码视频| 欧美特大AA级黄片| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 久久夜夜夜夜| 大香蕉手机在线| 91色香| 亚洲图片激情综合另类| 天天爽夜夜操| 中文字幕精品三级久久久| 97超碰人人操人人操| 麻豆国产96在线| 成人黄页| 国产免费永久精品无码| 亚洲熟妇综合久久久久久| 99久久久无码精品国产人| 超碰免费97| 亚洲av资源| 超碰欧美97| 无码日韩网站| 91精品人妻五十路| 国产 v乱码一区二| 1204人成网站色www| 成人一级性爱| 大香蕉色欲AV| 深爱五月天| 男女啊啊啊| 亚洲精品久久久久久久蜜桃臀| 激情四射五月天| 91人人臊| 国产精品视频91久久| 自拍偷拍第26| 熟女自慰久久久| 久久久久久九| 亚洲日韩肥臀视频在线观看| 人人干黄色| 超碰午夜| 极品尤物在线观看| 麻豆视频一区二区| 10000部十八禁看电影| 日本不卡高清视频| 久久78| 日韩无码AB| 99热精品在线播放| 一起草欧美| 精品人妻少妇| 中文字幕久久亚州无码| 亚洲另类小说卡通动漫| 少妇高潮喷水无套久久久久久| 看黄片视频免费| 撸无码不卡免费视频| 青青草密桃在线播放| 乱伦色图网址是多少| 色播丁香| 青青草原香蕉日本Ap| 亚洲一区日韩精品| 9美女超碰在线免费观看| 8050无码八戒| 99热在线观看| 色九色久| 久久久久婷婷精品av电影| 好淫网一二三视区| 精品中文日韩字幕视频| 亚洲 欧美综合| 久久久久久久九九九九九九| 日韩无码黄色片| 91在线免费精品视频| 91痴汉| 亚洲永久AV无码精品秋霞| 亚洲人妻av| 国产综合网站在线播放 | 亚瑟国产精品久久无码| 精品少妇99| 蜜桃久久精品一区二区三区| 黄色污污污污污污网站| 亚洲黑丝在线| 天天流夜夜操| 天天做天天爱| 天美传媒国产原创中文字幕亚洲欧美另类| 91狠狠综合久久久久久| 人妻丝袜一区二区三区在线| 污色区网站| 国产精品视频精品一二| 麻豆久久久久久久久丝袜 | 中文字幕乱碼在线| 超碰午夜在线| 99色| 97婷婷色| 亚洲激情av| 国产熟女免费观看久久| 日韩性爱1级片视频| 国产成人超碰在线| 丰满美女一级毛片在线播放| 懂色中文一区二区三区| 久草福利在线资源站| 国产精品青草综合久久| 九九热男人天堂| 91天天综合网,天天综合网| 99操视频| 思思热在线观看| 亚洲激情综合| 97色冈| 激情欧美日韩女同久久| 国产精品禁久久久精品| 97视频在线看| AV天堂国产| 欧美午夜一区二区三区| 久9久| 伊人四虎综合| 91在线精品一区二区三区| 国产伊人自拍| 9色国产精品一区粉嫩| 日韩成人无码| 国产伦精品一区二区三区在线观| 国产欧美一区二区| 国产欧洲精品亚洲午夜拍精品| 欧美国产操逼| 97精品全部| 91综合色噜噜| 亚洲一区二区 麻豆传媒| 91欧美美女日韩国产婷婷| 欧美在线 亚洲| 中文字幕99999| 欧美性爱中文字幕无线码| 夜夜爽爽爽| 亚洲丝袜99| 免费无码婬片AAAA片直播色戒| 综合久久中文字幕综合日韩精品| 狠狠2050在线观看| a网站免费观看| 大学生美女口爆| 婷婷色色五月天福利| 国产小视频91| 亚洲91网站| 精品视频在线观看精品| 国产伦精品一区二区三区视频女| 国产第11页| 日韩亚洲中文有码视频| 亚洲AV成人在线| oumeizonghese,www| 少妇贴图| 视频分类 国内精品| 亚洲情色1区| 欧美一区二区男人天堂| 精品在线观看视频在线| 黄站在线免费观看| 一级性爱aaaa| 色噜噜国产精品视频一区二区| 97人人超| 激情熟女12P| 色色五月婷| 欧美性夜| 超碰国产在线| 亚洲熟女av中文字幕| 天天综合网~91| 91精品久久久久五月天精品| 国产精品麻豆成人AV艾秋| 91高清欧美| 国产精品久久久视频| 国产一区二区三区高清视频| 思思热免费视频观看| 一本色道人妻久久| 日韩中文字幕国产| 久久综合97| 嗯嗯啊啊操死我| 久久鲁干| 精品四五区| 97九色| 亚洲一区制服诱惑| 岛园激情| 欧美日韩国产一区二区小黄片大全| 亚洲男人的天堂AV| 大但人体久久久久| blacked精品一区国产| 精品四五区| 二男一女成人A片| 97视频在线免费看| 日本道久久综合色色| 国产午夜精品理论片a大结局| av操操不卡| 成全动漫视频观看免费下载| 91熟女视频网| 欧美日韩一干二干| 激情五月天婷婷| 国产综合在线视频网站| 亚洲精品熟妇1区2区3区。| 澳门成人网站久国产日韩| 97国产高清视频在线观看| 久久久久久久人妻丝袜| com 首页 18岁 禁区 女优 免费 精选 同城 | 中文久久久| 99人妻| 无码九九| 天天综合有色网| 曰韩无码777| 超碰97伊人| 色鬼在线综合| 激情五月天视频| 亚洲黄色视频在线观看视频| 超碰人妻97| 久草线上视频免费看| 97天天综合网| 久久国产精品m码| 天美传媒在线一区| 欧美猛交黑寡妇中文字幕| 欧美78p| 9999久久久久| 五月丁香六月婷综合成人综合 | 大黄片做爱的大的| 亚洲日韩av专区无码| 国产精品69久久久久久久 | 97极品无码| 啊啊啊 在线| 97在线观视频免费观看| 口爆欧美91| 久jiu久神马影院| 色色99| 最新国产精品久久精品| 大香蕉免费乱伦视频| 色狠狠一区二区三区香蕉| 亚欧操逼片在线观看 | 国产h小视频在线观看免费| 久久精品老司| 欧美刺激色黄片免费看| 欧美美女在线高潮999| 操人妻视频| 天天摸夜夜摸| 午夜精品99久久久久传媒| 人人射人人操人人摸| 亚洲成人精品久久久| 88xx成人精品视频| 97色涩| 96久久科窝| 开心五月婷婷| 欧美极品女人的天堂| 天天综合91在线| 久久久久成人蜜桃精品| 九九玖玖精品| 久久鲁夜| 日韩中文9| 98福利在线视频| 91无摭挡| 亚洲色欧| 亚洲国产成人精品女人久久久| 搡老女人老91二区| 日韩无码视频黄色| 欧美一级特黄淫片在线观看| 久久国产逼| 亚洲无无码αⅴ每日更新| 久久天天艹| 最新中文字幕精品在线| 99热在线观看| 精品久久久久久亚洲| 婷婷中文字幕| 老鸭窝亚洲毛片| 乱理日韩中文| 丰满丝袜少妇AV| 色97欧美| 激情综合网亚洲| 成 人片 黄色大片| 亚洲欧美日韩夜夜| 亚洲最大的综合性av| 久久综合久久综合人久久夜精品| 亚洲成人精品久久久| www.男人天堂| 日本午夜精品理论片A级APP发布| 免费精品福利在线观看| 日日狠狠久久偷偷色综合免费| 美女啊啊啊啊pc| 日韩不卡码| 色五月AV在线| 久久内射| 熟女五十路一区二区三| www.91久久| 综精品久久久aaaa| 国产热av| 日本人妻最新在线中| 国产专区第一页| 在线性黄高清免费视频| 日韩伦理视频| 激情文学亚洲| 国产无码成人无码| 日本午夜久久电影| 97天天做| 有码专区最新中文字幕有码| 综合网91| 深夜激情无码| 第四色色综合91| 久草线上视频免费看| 亚洲欧美不卡线| 亚洲国产精品无码AV在线| 婷婷五月天成人| 欧美日韩青操| 久久丁香久草综合网| 十八禁啪啦拍视频无遮挡| 亚洲综合图色在线| 96精品久久久久久久久久| 黄片直播三级黄片两女一男| 欧美日韩免费专区在线| 超碰久超碰久| 日韩成人大片在线观看| 人妻无码久久一区二区三区免费| 玖草在线视频| 99在线免费观看| 人妻精品一区一区三区蜜桃91| 波多野结衣之双飞调教在线播放| 国产三区免费在线观看| 97硬碰| 欧美亚洲特P| 国产AV无码AV| 91N综合在线| 成人久久久| 激情丁香婷婷| 98福利在线视频| 高清无码久操视频| 天天影视网综合少妇| 色哟哟av| 美國A片| 欧美国产有色电影| 香蕉国产精品麻豆亚洲欧美日韩| 91九久| 九九九国产| www.色操逼| 亚洲怡春院| 午夜福利在线合集| 99只有精品| 亚川综合视频| 五十路熟女工口 | 人妻少妇精品| 97久久精品亚洲| 狠久久| 麻豆这里只有精品| 欧美成人国产精品| 青娱乐久久艹| 精品国产乱码久久久影院| 333kkkk·亚洲com久久| 综合九九| 中文字幕免费看大片| 日本性爰一道本| 久久久久久久久九九久孕交| 丰满美女一级毛片在线播放| 99热超碰| 欧美日韩午夜精品一区二区三区| 美女的肌被草喷水视频| 久久午夜鲁丝片| 天天爽夜夜欢视| 岛国在线免费视频| 1204av韩国| 男女激烈网站最新| 久久久专区| 日韩欧美中文| 色噜噜日韩精品| 香蕉综合网| 99少妇| 综合网欧美在线| 精品九九| 国产二区三区粉嫩在线| 天天色天天干天天射| 试看60秒| 色婷婷综合网站| 亚州一区二区| 97超碰亚洲| 黄色av片三级三级三级免费看| 日韩精品影视| 大香蕉啪啪网| 思思久热在线精品66| 9超碰免费| 亚洲av影音先锋| 青青草导航在线视频| 首页亚洲国产高跟丝袜诱惑视频| dy888午夜老子影视达达兔| 青青色综合| 国产精品女久久久久av爽| 亚洲男人天堂2| 六九九九| 精品无码不卡视频| 久久久久女教师免费一区| 在线啊啊啊啊| 国产精品久久久久亚洲av| 超碰97极品9| 欧洲综合视频| 成人无码影片视频在线| 亚洲久9| 亚洲精品欧洲精品| 久操不卡视频| 午夜国产成人精品视频| 午夜AV污污污| 人妻在线中出视频| 一个国产在线综合网站| 亚洲中文字幕av | 色婷婷亚洲婷婷| 人人操人人爽人人操人人| 日韩色女精品| 欧亚乱色熟一区二区三四区| 永久免费发布性爱网| 色妺妺AⅤ| 操亚州| 96精品在线| xxx0国产在线播放| 久久精品国产亚洲AV清纯| 亚洲狠狠入| 亚洲国产精品久久久男人的天堂| 屌色在线97视频| 亚洲三区视频| 肏逼视频日本| 青青在线视频免费| 国产精品久久99日日| 亚洲a色| 欧美综合 站| 北京专精特新企业招聘信息| 欧美99热| 国产亚洲色婷婷久久99精品91葵花宝典 | 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 国产JDAV无码视频在线观看| 国产丁香精品露脸视频| 亚洲人在线| 伊人久久88国产女| 久久精品色欧美aⅴ一区二区| 在线人成亚洲视频免费观看| 亚洲欧美碰碰| 久操视频在线| 性交一区二区在线播放| 久久久穴999| 冬京热男人的天堂| 女色视频社区| 久久婷五月| 美女一区二区国产精品| 免费日韩黄片| 久久久999国产| 久久视频,这里只有精品| 69人妻精品丰满熟女区| 亚洲色图久久成人| 另类在线| 久久久麻豆精品| 激情无码日韩| 三级激情网站| 久久综合国产精品国产| 中国AAAAAA黄色片| 偷拍精品一区二区三区| 日韩欧美日韩| 日韩欧美日韩| 蜜臀视频网站| 99人妻| 国产精品香蕉| 久久久久久九九九九| 精品人妻一区二区三区在线视频不卡| 99rre在线精品99re8| 欧美 日韩第一性色| 插入粉嫩少妇视频| 一二视频神马久久传媒| 日本精品一区二区三| 中日韩久久久免费看| 日韩电影免费网站麻豆视频| 色偷偷人人玩人人舔人人操人人摸人人爽| 精品二999| 99精品高潮| 加勒比伊人影院| 中文字幕一区二区三四五区日日骚| 蜜屁Av| 超碰无码五月97| 超碰久草| 人人妻人人澡人人爽久久av| 欧美激色| 91热热色| 国产色产精品在线观看| 性videos欧美熟妇hdx| 天天懆天天日| 高跟丝袜AV专区国产| 黄色欧美性爱视频| 99热综合| 快点操死我| 磁力99AV| 激情视频图片| 性猛交| 国产JDAV无码视频在线观看| 人人妻人射| 一区二区娱乐网站| 九九天堂| 东京太热男人的天堂久久久| 性老妇一区二区三区| 91亚洲综合| 亚洲AV麻豆Aⅴ无码电影一| 日韩人妻制服丝袜av| 日本三级R| 98色网| 99热精品青草在线 | 另类小说五月天| 激情四射婷婷四五月天| 亚洲三级网址久久最新| 91丝袜美腿片| 欧美精品一二三| 性色AV蜜色av色欲av| 亚洲AV操| 超碰79人人乐| 狠狠躁日日躁夜夜躁A| 国语精品av| 视频不卡中文字幕| 综合影视国产无码| 97超碰jingpin| 91精品丝袜久久久久久无码人妻| 91青青在线视频| 一本久道久久综合狠狠爱一密臀精| 操屄日韩| 丁香五月综合| 蜜臀亚洲中文| 日本久久久精品电影| 美女被啪到深处抽搐视频| 国产一级特黄大片处女| 在线人人人人人人精品超| 亚洲 日韩 欧美 国产综合体| 日产中文字幕2020| 99re6在线视频精品免费完整版安卓版| 天美传媒精品久久视频| 香蕉欧美| 在线观看精品国产免费| 日本一区二区三区精品| 粉嫩少妇自慰在线| 国产深喉视频一区二区| 女同女同恋久久级三级| 国产97色在线| 丝袜亚洲91| 亚洲色图一区二区三区| 激情视屏国产乱伦强奸| 99综合自拍| 蜜臀视频网站| 午夜黄色免费在线观看| 九九热精彩视频| 玖玖爱在线视频免费观看| 五月丁香综合激情| 97操综合| 亚洲精品天堂久久A∨51成人漫 | 色精品极品| 久操网视频| 草草草视频在线免费看| 激情综合亚洲| 国产精品不卡一区二区三区| 91综合网在线| 久操视频资源站公开| 97香焦色区| 日本性一区| 久久黄色性爱视频| 2019天天操天天爽天天拍| 欧美图片校园春色| 国产美女销魂在线观看不卡| www.狠狠干.coom| 超碰97综合在线| 日韩A优精品在线观看| 91殴美大片| 97超碰中文在线| 日亚韩精品视频二区三| 射丝袜高跟鞋99| 91n.欧美| 国产女人高潮嗷嗷嗷叫小说| 嗯嗯嗯不要不要免费视频| 狠狠超| 久久久一级| 日夜伊人网| 亚洲天堂 视频你懂的| 欧美九一精品久久久熟妇| 91精品女厕偷拍视频| 99国产精品免费| 看免费的黄片| 久久久久久9999| 高清无码一区二区三区| 另类 综合 日韩 欧美 亚洲| 成人a级高清视频在线观看| 亚洲美女色图| 人妻少妇被猛烈进入中| 一区二区三区色综合| av天堂天堂av日韩| 在线免费试看60秒| 女同性恋久久| 亚洲第一页色网| 99日韩| 日本一二区不卡| 99热超碰| 亚洲三区视频| 加勒比综合a∨| 亚洲无码一区二区三区三州| 先锋女优在线观看视频| 91亚州日韩高清| www.亚洲黄色| 亚洲性少妇| 国模精品一区二区三区苹果色戒| 青娱乐 青青青操 日逼| 首页亚洲国产高跟丝袜诱惑视频| 熟女人妻精品一区二区视频| 九九热男人天堂| 在线观看不卡一区二区三区| 校园春色宗合网| 东京太热男人的天堂久久久| 亚洲一二三四区| 国产成人网址| 亚洲综合骚逼| 后入式福利| 最新加勒比丝袜在线| 91AV入口| 一级黄色性爱A级片| 欧美激情久久久久| 五月丁香激情啪啪| 中文操逼字幕| 啊啊啊好疼| 丰满欧美少妇| 超碰色男人操熟女| 欧美色图亚洲色,麻豆| 91亚洲人电影| 一二三四视频中文字幕在线看| 蜜臀av网址| caorenqi shipin| 精品国产av一区二区三区四区入口| 99综合自拍| 麻豆啪啪啪视频| 亲子敌伦对白在线播放| 91AV天堂| 婷婷五月在线视频| 26UUU欧美激情一区二区| 欧美日韩欧美| 品亲网欧美品亲网| 欧洲色| 亚洲色图欧美| 极品销魂美女一区二区| 蜜乳av一区二区三区| 精品视频久久久久九九九九9999| 91久久免费视频互動交流| 亚洲素人综合| 91色黑人少妇| 欧美亚洲日本视频久久久| 日本操逼无码| 欧亚 另类 久| 久久久∴| 亚洲精品久| www.色婷婷色综合| 亚洲熟女精品| 亚洲国产精品无码AV久久| 久久女女| 天天α片| 婷婷色一区| 亚洲图片偷拍视频区| 操操逼视频| 国产精品丝袜在线| 91精品免费| 97色97好| 91美女视屏| 九九人人操| av日韩手机在线影视| 欧美成人A√在线一区二区| 欧美色图91| 91超碰丝袜制服| 97一区二区三区视频| 国产白嫩精品久久| 白嫩国模丰满一二三区| 一级片在线观看高清无码| 蜜臀视频网站| 日韩精品一二三| 精品国产乱码久久久久久日本公司| 精品十三区| 操九九九九九九| 日韩AV电影网站| 久久XX| 免费毛片在线播放| 黄片免费久久久久久久| 少妇一级婬片免费放一级a性色.| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 五月天精品| 夜夜做夜夜爽精品视频| 亚洲精品蜜桃久久久久久久| 一区二区三区 丝袜 高跟 美腿| 色婷五月| 亚洲aV性爱| 黄色一级视| 亚洲古典另类欧美在线| 99在线无码精品秘 入口黑人| 性色AV蜜色av色欲av| 亚洲图片另类| 92久久| 精品久| 嗯嗯啊好爽| 91精品老女人| 边做饭边操逼逼| 欧美中文字幕日韩在线| 伊人专区一区二区三区| 9国产超碰| 色色色日本| 日韩中文字幕人妻视频| 精品一区二区成人| 操比国产| 亚洲性爱无码乱伦av| 亚洲色图亚洲无码强奸乱伦| 日韩在线观看字幕精品| 无套内射性感少妇视频| 久久午夜伦| 天天综合网久久ww| 亚洲色丰满少妇高潮| 久久久久久裸体| 超碰99在线| 久久熟女人| 丝袜喷水在线| 97精品在线| 99热欧美| 人人操欧美风骚| 欧美成熟性爱精品| 男女性无套 免费九一| 久久综合国产精品国产| 久久一级无码精品毛片6| 26uuu国产免费观看| 婷婷啪啪| 久久欧美1卡2卡3| 亚州操操穴网| 人人搡人人肉久久精品| 视频在线97| 射久久| 欧美性爱无码一区二区三区| 一牛影视成人片免费| JIZZJIZZ国产精品喷水| 狠狠狠狠狠| 中文字幕丝袜人妻| 日韩无码久久熟女一级片| 撸撸成人在线视频| 亚洲做性| 亚洲影院成人| 日本国产高清色www视频在线| 日欧操屄视频| 美腿色图| 亚洲性综合11| 一级一性爱免费视频| 国产最新小视频在线播放下载 | 人妻夜夜爽天天爽麻豆三区网站| 成人老鸭窝人人在线视频| 老司机午夜福利视频一区二区| 夜夜春夜夜操| 亚洲AV麻豆Aⅴ无码电影一| 精品人妻一区二区视频| 日本 欧美 国产一区| 亚洲精品蜜桃久久久一区二区三区| 一区二区视频你懂的| 物业黑人 AV一区| 中文字幕丰满子伦无码专区在线视频最新 | 亚洲无码电影久久久| 人干人人人操人人摸| 色婷婷丁香五月| 伊人精品视频| 91综合熟女| 九九无码视频| 亚洲一二三| 欧州91高潮| 日韩丰满熟妇| AV天堂男人的天堂| 欧美色图欧美| 日韩欧美成人性爱在线| 开心激情站| 欧天美中出| 亚洲色婷婷久久91| 强奸乱亚洲| 亚熟hd视频在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 三级日韩一区二区三区| 91粉嫩萝控精品福利网站_精品影音先锋国| 欧美亚综合色图| 久久↗↗| 少妇一级婬片免费放一级a性色.| 99自拍视频| 夜夜青青无码影院| 亚洲日韩人妻中文字幕一区| 色色色色综合网| 天美传媒AV国产在线| 亚洲在线欧美| 大香樵伊人网| 亚洲色婷婷综合久久久久中文| 成人性爱美曰韩| 天天综合网AV91| 午夜福利激情在线视频| 久久亚洲不卡一区二区三区| 色图综合网| 在线观看AV不卡| 大白逼三四级| 亚洲欧美日韩精品久久久一区二区 | 在线看片国产精品每日更新| 蜜伊人色综合97| 中文字幕一区二区三区四五区| 天天搞在线综合网| 91欧美美女日韩国产婷婷| av影片在线观看不卡| 少妇干B| 精品少妇人妻一区二区三区| 天天干天天操天天干天天操| 亚洲污污网站| 久久精品国内Av熟女高清| 青娱乐亚洲热| 欧美狠狠| 精精夜夜| 激情干在线| 嗯嗯啊啊操我| 国产亚洲深夜激情| 男人的天堂.com| TS人妖另类精品视频系列| 综合激情婷婷| 亚洲狠狠入| 国产精品久久伊人| 国产91丝袜 在线播放| 图片区小说区| 国语精品av| 超碰资源亚洲97| 激情五月天中文字幕色| 中文字幕一二三区| 国产精品久久久久久亚洲色欲| 亚洲综合性感在线| 日韩性爱啪啪视频| 精品无人区麻豆乱码久久久| 老司机午夜精品视频| 一区黄二区黄| 无码区蜜乳| 国产白领连续中出在线播放| 八戒午夜福利理论片| 97超碰色屌| 欧美大香蕉同搞| 校园春色欧美色图| 亚洲好看强奸乱伦| 在线中文AV| 国产AV超爽| 屁股久久久久久| 亚洲国产精品成人无码久久久 | 人人妻人人色| 91天堂色男人的天堂| 国产精品农村妇女精品| 狂操嫩妻视频一区二区三区| 在线免费观看高清无码视频| 日韩AV中文字幕电影| 日韩精品在线观看观看| 欧美成人国产精品| 婷婷五月天激情网| 蜜臀无码视频在线观看| 夜夜嗨绯色| 成人黑料社久久| 亚洲动态色图| 日韩精品作爱导航| 女人被添高潮免费视频| 亚洲欧美黄| 亚洲成人妻日韩在线| 久久香蕉综合一本到3atv| 97色碰| av天堂影视中文在字幕在线中文 | 18一区二区三区| 强奸乱伦Av网| 久久婷婷成人综合色怡春院| 超碰 另类 欧美 | 69精品少妇一区二区三区蜜桃| 91久久九九精品国产综合| 久久↗↗| 亚洲日韩肥臀视频在线观看| 色网在线视频观看免费| 亚洲性综合11| 亚洲棕合电彰| 欧美色视频在线| 久操频道免费在线呗看| 啊啊啊啊二区好大| 久久久久久久久久8888| 国产成人欧美精品在线| 久久鲁夜| 亚洲 日韩 欧美 国产综合体| 91久久免费视频互動交流| 激情情色五月天| 欧美黄色图片| 国产在线精品偷| 日韩中文字幕精品一区在线| 亚洲图片小说欧洲| 精品久久大胆人体| 热天堂一区二区| 亚洲九月丁香| 蜜臀无码视频在线观看| 伊人九九| 天天操人人操骚逼网站| 人妻啊啊人妻啊啊| 操逼www.| 黄色片A级一区二区三区| 强乱老妇中文字幕| 亚洲 另类 丝袜 自拍 动漫| 口爆综合网| 伊人女女资源在线观看| 黄色AAAAA欧美| 黄片免费日韩| 99超碰碰| 日本性一区| yazhousetuoumei| 欧美十八禁网站| 99re视频在线播放青草| 天堂国产AV| 9久久精品| 亚洲97久久精品亚洲| 少妇一级婬片免费放一级a性色. | 久久久久白虎| 9 1超碰九色| 1二区9| 久久欧美1卡2卡3| 大香樵伊人网| 日韩精品在线观看网站| 国产品精品自在在线午夜免费| 欧美综合网站999| 麻豆人妻偷人精品无码视频| 欧美黄页在线| 无套内射性感少妇视频| 欧美性爱视频免费一区一A| 伊人热综合| 日本天天干天天操一区| 亚洲人精品久久久| 操九九九九九九| 午夜天堂精品久久久久91| 偷窥自拍A片| 亚洲欧美日韩精品久| 思思热国产在线视频| 五月丁香六月综合缴清无码| 老司机午夜精品视频| 欧美BT 亚洲色图| 2020天天色综合| 婷婷五月天色网| 久久久久久久久国产| 91 国产丝袜在线播放-百度| 99后入| 图色综合网| 久久久9品一区二区三区| 日韩偷拍色图| 日本人妻中文字幕| 亚洲一区操| 亚洲春色欧美激情自拍| 欧美性91| 97超碰香蕉| 亚洲狠| 密臀在线一区尤物| 91亚洲欧洲| 一级毛片电影免费看| 中日韩免费看男女操逼大全| 综合网欧美| 色欲天天综合久久久无码网中文| 国产精品懂色tv影视免费观看| 97色欧洲| 亚洲欧洲日韩中文字幕一区| 十八禁一区二区无码观看| 日韩精品人妻系列无码天堂| 色色无码| 射 色综合| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美系列在线一区二区| 老司机射| 好爽免费视频| 91综合网在线| 综合五月天| 久久伊人最新网址视频| 亚洲日韩人妻中文字幕一区| 男人天堂欧美| 国产成人无码a| 91精品人妻电影| 色婷婷久久| 啊啊啊好湿久久| 午夜毛片高清免费不卡| 中字一区| 97精| 秋霞成人一级在线观看| 男人a天堂手机在线版| 激情小说五月天| 久久夜嗨| 97免费视频在线观看视频| 日韩精品一二三| 成人26uuu| 激情小说成人日本无码一| 国产精品久久久三级无码| 精品视频日日夜夜| 欧美少妇性乱| 欧美美逼| 国产精品96|