99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Ubuntu 18.04下編譯FFmpeg實(shí)現(xiàn)H.265 RTMP推流完整指南

Ubuntu 18.04下編譯FFmpeg實(shí)現(xiàn)H.265 RTMP推流完整指南 1. 為什么非要自己編譯一份FFmpeg如果你只是想推 H.264 的 RTMP 流Ubuntu 18.04 上通過 apt 直接安裝的 FFmpeg 完全夠用系統(tǒng)源里那個(gè) 3.4 版本雖然老但推流 H.264 一點(diǎn)問題沒有??尚枨笠坏┳兂伞鞍?H.265 畫面推成 RTMP”自帶版本立刻翻臉報(bào)錯(cuò)非常直接[flv 0x...] Could not find tag for codec hevc in stream #0, codec not currently supported in container這句話翻譯過來就是FLV 封裝器muxer的編碼格式表里根本沒有 HEVC 這個(gè)條目它不知道該怎么把 H.265 的數(shù)據(jù)包塞進(jìn) FLV/RTMP 的流里。這不是你的參數(shù)寫錯(cuò)了也不是 FFmpeg 不認(rèn)識(shí) H.265而是 RTMP 的老協(xié)議規(guī)范在設(shè)計(jì)時(shí)只認(rèn) H.264、VP6 那一批老編碼格式。要解決這個(gè)問題本質(zhì)上就兩條路要么換用新版 FFmpeg 內(nèi)建的增強(qiáng) RTMP 能力要么自己改源碼、讓 FLV 封裝器支持 HEVC。目前生產(chǎn)環(huán)境里大量攝像頭方案、直播服務(wù)端和自研播放器沿用的還是“HEVC codec id 12”這套老約定所以自己編譯一份打過補(bǔ)丁的 FFmpeg反而是最通用、最好控制的做法。這篇文章就完整記錄我在 Ubuntu 18.04 下從零編譯、打補(bǔ)丁、推流驗(yàn)證的全過程所有步驟都按可復(fù)現(xiàn)的粒度寫清楚了。1.1 系統(tǒng)自帶FFmpeg到底缺了什么Ubuntu 18.04 的 apt 源里的 FFmpeg默認(rèn)沒有開啟 libx265 編碼器也沒有完整的 RTMP 推流能力。更重要的是它作為一份“原版”代碼遵循的是 RTMP/FLV 的原始規(guī)范而原始規(guī)范里沒有 H.265 的位置。所以哪怕你手動(dòng)裝了 libx265-dev系統(tǒng)自帶那份 FFmpeg 也不會(huì)讓你把 H.265 數(shù)據(jù)封裝進(jìn) FLV 容器里。有人可能想用-c:v libx265去推結(jié)果發(fā)現(xiàn)命令剛執(zhí)行就停在初始化階段根本到不了編碼那一步。這就是因?yàn)榉庋b器在avformat_write_header階段檢查編碼格式表時(shí)發(fā)現(xiàn) HEVC 沒有對(duì)應(yīng)的 FLV codec tag于是直接拒絕了輸出。搞清楚這個(gè)報(bào)錯(cuò)出現(xiàn)的時(shí)機(jī)很重要它不是推流中途才掛而是輸出格式初始化時(shí)就掛了。另外還要理解一層關(guān)系FFmpeg 推 RTMP實(shí)際是“flv 封裝器”拼出 FLV tag 的字節(jié)流然后把字節(jié)流交給“rtmp 協(xié)議層”發(fā)送到服務(wù)器。RTMP 協(xié)議層本身對(duì)視頻編碼格式并不敏感它只是搬運(yùn) FLV 數(shù)據(jù)塊。真正攔路的是 flv 封裝器那一層所以補(bǔ)丁的主戰(zhàn)場在libavformat/flvenc.c和libavformat/flv.h。1.2 這套補(bǔ)丁方案的來龍去脈FLV 容器里視頻 tag 的第一個(gè)字節(jié)用低 4 位表示視頻編碼 ID。原規(guī)范里H.264 對(duì)應(yīng) ID 7VP6 對(duì)應(yīng) ID 4所以你在抓包工具里看到的 H.264 視頻 tag 首字節(jié)一般是 0x17關(guān)鍵幀或 0x27非關(guān)鍵幀。而 H.265 在原規(guī)范里根本沒有官方 ID。后來為了在 RTMP 鏈路里跑 H.265行業(yè)內(nèi)逐步形成了一個(gè)事實(shí)約定把 codec id 120x0C定義為 HEVC。支持“H.265 RTMP”的流媒體服務(wù)器和播放器都是拿著這個(gè) ID 互相認(rèn)的。服務(wù)器看到視頻 tag 首字節(jié)低 4 位是 12就知道接下來按 H.265 的配置記錄格式解析播放器也是靠這個(gè) ID 決定調(diào)用哪個(gè)解碼器。我們要打的補(bǔ)丁本質(zhì)就是把 FFmpeg 的 FLV 封裝器改造成能輸出這套格式第一在編碼格式表里登記 HEVC 與 codec id 12 的映射關(guān)系第二像 H.264 那樣在關(guān)鍵幀之前把 H.265 的配置記錄HEVCDecoderConfigurationRecord里面包含 VPS、SPS、PPS作為 sequence header 發(fā)出去第三把編碼器輸出的 Annex B 格式 NAL 包轉(zhuǎn)成 FLV 里使用的 length-prefixed 形式。這三件事做完FFmpeg 就能把 H.265 畫面推成 RTMP 流了。1.3 誰需要、誰不需要這套方案先潑點(diǎn)冷水。H.265 推 RTMP 不是“推出去誰都能播”的通用能力它需要服務(wù)器端和播放端都認(rèn)這套約定。如果你只是本地錄文件、推 H.264、或者播放端完全不受控比如只能用通用桌面播放器那就沒必要折騰編譯。很多桌面播放器至今只認(rèn) RTMP 里的 H.264你推 H.265 過去就是黑屏或花屏這不是你編碼參數(shù)的問題是播放端壓根不認(rèn)這個(gè)格式。反過來如果你在做直播采集、攝像頭/NVR 上云、低帶寬直播、或者自研播放器那這套方案就非常值。H.265 在同等畫質(zhì)下碼率通常比 H.264 省 30% 到 50%同樣是 1080p 畫面H.264 可能要 4 到 6 MbpsH.265 壓到 2.5 到 3.5 Mbps 就能達(dá)到差不多的觀感。帶寬成本下來之后服務(wù)器壓力、存儲(chǔ)成本都會(huì)跟著降。下文所有操作都默認(rèn)你是“自己控制服務(wù)端和播放端”的場景。2. 環(huán)境準(zhǔn)備Ubuntu 18.04 的依賴安裝2.1 系統(tǒng)基礎(chǔ)工具編譯 FFmpeg 第一步是裝好編譯工具鏈。Ubuntu 18.04 的默認(rèn)源里這些東西都有直接 apt 安裝即可sudo apt update sudo apt install -y build-essential pkg-config git curl如果你用的 Ubuntu 18.04 已經(jīng)比較舊apt update 可能會(huì)遇到源失效的情況這是老版本鏡像下線導(dǎo)致的。解決辦法就是把 apt 源切換到當(dāng)前還能用的鏡像源具體切換方式每家公司鏡像都有說明這里不展開。裝好之后確認(rèn)一下gcc --version能正常輸出別在編譯中途才想起編譯器沒裝。這里有一個(gè)實(shí)際經(jīng)驗(yàn)不要圖省事用 Ubuntu 20.04 或更新系統(tǒng)的 apt 包去湊合。標(biāo)題既然限定在 18.04就按 18.04 的依賴情況來因?yàn)椴煌到y(tǒng)版本里 x265 庫的版本、soname 都不一樣混著用藥不對(duì)癥。2.2 匯編器為什么必須裝sudo apt install -y yasm nasm這兩個(gè)匯編器不是可選依賴是硬依賴。FFmpeg 的 x86 平臺(tái)優(yōu)化代碼、x264、x265 的匯編加速都依賴它們。很多人編譯 x264 或 FFmpeg 時(shí)卡在nasm not found就是少了這一步。Ubuntu 18.04 源里的 nasm 版本是 2.13.02yasm 是 1.3.0對(duì) FFmpeg 4.4 和 x265 2.6 來說完全夠用。值得多提一句的是yasm 和 nasm 的語法體系不同不能互相替代。FFmpeg 內(nèi)部大量內(nèi)聯(lián)匯編用的是 nasm/yasm 兩套都能處理的格式但 x264 編譯時(shí)需要 nasmlibvpx 也需要。所以別偷懶兩個(gè)都裝上一勞永逸。2.3 編解碼依賴庫清單推流 H.265 到 RTMP音頻那邊通常還需要 AAC所以除了 x265 之外建議把常用編解碼庫一次裝齊。下面是我實(shí)測可用的安裝命令sudo apt install -y libx264-dev libx265-dev libvpx-dev libmp3lame-dev libopus-dev sudo apt install -y libfdk-aac-dev如果你執(zhí)行apt install libfdk-aac-dev提示找不到包說明系統(tǒng)沒開 multiverse 軟件源。Ubuntu 18.04 的 fdk-aac 在 multiverse 里開一下源再裝sudo apt install -y software-properties-common sudo add-apt-repository multiverse sudo apt update sudo apt install -y libfdk-aac-dev這套依賴?yán)飈ibx264 和 libx265 是核心。x264 是為了留一條 H.264 推流的后路萬一目標(biāo)服務(wù)器不認(rèn) H.265你還能切回去libvpx、libmp3lame、libopus 是音頻和 VP8/VP9 編碼的補(bǔ)充裝上之后 FFmpeg 的可選編碼覆蓋就比較完整了。libfdk-aac 是目前 FFmpeg 里質(zhì)量最好的 AAC 編碼器但它的許可證和 GPL 不兼容所以后續(xù) configure 需要加--enable-nonfree這一點(diǎn)到配置時(shí)再說。2.4 關(guān)于libx265版本的一句話提醒Ubuntu 18.04 自帶的 libx265-dev 是 2.x 老版本只有 8-bit 編碼能力。對(duì)直播場景來說8-bit 反而更穩(wěn)因?yàn)橥屏鞲袷胶筒シ哦私獯a器大多按 8-bit 驗(yàn)證。如果你的項(xiàng)目確實(shí)需要 10-bit H.265或者想要新版 x265 的速度優(yōu)化那建議單獨(dú)從源碼編譯一份更新的 x265再把 FFmpeg 的 configure 指向它。本文后面全都基于 apt 版本的 libx265-dev先把鏈路跑通升級(jí) x265 是后面的事。裝完依賴之后可以用dpkg -l | grep -E libx26|libfdk快速核對(duì)一下幾個(gè)關(guān)鍵包是否在位。3. 源碼獲取與 H.265 補(bǔ)丁的三個(gè)關(guān)鍵修改3.1 選擇哪個(gè)FFmpeg版本我推薦用 4.4.x 分支下文以 4.4.2 為例。這個(gè)版本在攝像頭、編碼器、直播服務(wù)商的項(xiàng)目里用得非常多穩(wěn)定性已經(jīng)過大量生產(chǎn)驗(yàn)證。5.x、6.x 分支也能改但代碼位置有差異網(wǎng)上找到的很多補(bǔ)丁也是按 4.x 寫的。另外一個(gè)現(xiàn)實(shí)問題新版 FFmpeg 主線對(duì)增強(qiáng) RTMP 有了原生支持它用 FourCC比如 “hvc1” 標(biāo)識(shí) H.265的方式工作這和我們要打的“codec id 12”老補(bǔ)丁格式不是一套。如果你的服務(wù)端和播放器是按老格式實(shí)現(xiàn)的直接拿新版 FFmpeg 推流雙方對(duì)不上反而推不進(jìn)去。所以做生產(chǎn)集成時(shí)版本鎖定很重要。下載源碼wget -c https://ffmpeg.org/releases/ffmpeg-4.4.2.tar.xz tar xf ffmpeg-4.4.2.tar.xz cd ffmpeg-4.4.23.2 補(bǔ)丁第一處flv.h 增加 codec id先打開libavformat/flv.h找到聲明 FLV codec id 的枚舉位置在里面加一行enum { FLV_CODECID_VP6F 5, FLV_CODECID_H264 7, FLV_CODECID_AAC 10, FLV_CODECID_H265 12, // 新增H.265 over RTMP 的行業(yè)通行 ID };注意這個(gè) 12 不是 FLV 原規(guī)范定義的它是業(yè)界為了讓 H.265 走 RTMP 而約定出來的擴(kuò)展值。你熟悉的 H.264 對(duì)應(yīng) 7所以你在網(wǎng)上看到的視頻 tag 首字節(jié) 0x17、0x27 就是“幀類型 codec id 7”拼出來的。H.265 對(duì)應(yīng) 12首字節(jié)就是 0x2C關(guān)鍵幀、0x3C非關(guān)鍵幀這類組合。3.3 補(bǔ)丁第二處flvenc.c 的 codec tag 表接著打開libavformat/flvenc.c找到flv_video_codec_ids[]數(shù)組在 H264 那行后面加一行static const AVCodecTag flv_video_codec_ids[] { { AV_CODEC_ID_FLV1, FLV_CODECID_SCREENVIDEO }, { AV_CODEC_ID_VP6, FLV_CODECID_VP6 }, { AV_CODEC_ID_VP6F, FLV_CODECID_VP6 }, { AV_CODEC_ID_H264, FLV_CODECID_H264 }, { AV_CODEC_ID_HEVC, FLV_CODECID_H265 }, // 新增 { AV_CODEC_ID_NONE, 0} };這個(gè)數(shù)組是 FLV 封裝器判斷“某種編碼能不能裝進(jìn) FLV”的依據(jù)。av_codec_get_tag在寫頭的時(shí)候會(huì)查這張表查不到就直接報(bào)Could not find tag for codec hevc。加了這行報(bào)錯(cuò)自然消失。3.4 補(bǔ)丁第三處寫 sequence header這是最關(guān)鍵的一處也是難度最高的一處。H.264 在 FLV 里的封裝套路是第一個(gè)視頻 tag 不攜帶圖像數(shù)據(jù)而是攜帶 AVCDecoderConfigurationRecord里面是 SPS、PPS 等解碼參數(shù)這個(gè) tag 的第二個(gè)字節(jié)是 0表示“sequence header”。之后每個(gè)真正的幀用四字節(jié)長度前綴把 NAL 單元串起來。H.265 要照葫蘆畫瓢把它的 HEVCDecoderConfigurationRecord里面是 VPS、SPS、PPS作為 sequence header 發(fā)出去。在flv_write_packet函數(shù)里找到 H264 的分支在它后面加一個(gè) HEVC 分支大致邏輯如下} else if (par-codec_id AV_CODEC_ID_HEVC) { if (par-extradata par-extradata_size 0) { avio_w8(pb, 0x2C); // 關(guān)鍵幀 H265 codec id 12 avio_w8(pb, 0); // AVCPacketType: sequence header avio_w24(pb, 0); // CompositionTime 設(shè)為 0 avio_write(pb, par-extradata, par-extradata_size); } }但注意光發(fā) extradata 還不夠真正的幀數(shù)據(jù)也要處理。H.264 的現(xiàn)有邏輯里如果編碼器給出的包以00 00 00 01開頭的 Annex B 起始碼flvenc.c 會(huì)調(diào)用ff_avc_parse_nal_units之類的函數(shù)把它轉(zhuǎn)成四字節(jié)長度前綴形式。HEVC 分支也要做同樣的轉(zhuǎn)換對(duì)應(yīng)的處理函數(shù)在h2645_parse相關(guān)代碼里可以找到啟發(fā)。很多現(xiàn)成的補(bǔ)丁干脆就是把 H264 分支復(fù)制一份把AV_CODEC_ID_H264換成AV_CODEC_ID_HEVC把 avc 配置記錄的處理換成 hevc 配置記錄的處理再在 codec id 的位置用 12實(shí)測就能跑通。這里我強(qiáng)調(diào)一句這部分修改因?yàn)?FFmpeg 版本不同、x265 版本不同代碼細(xì)節(jié)會(huì)有差異不要指望一個(gè) diff 拷遍天下。補(bǔ)丁的核心思想就三點(diǎn)——登記 codec id、發(fā)配置記錄、轉(zhuǎn) NAL 長度前綴。弄懂這三點(diǎn)遇到任何版本你都能自己改。3.5 解碼端要不要改如果你編譯這份 FFmpeg 只是為了推流那改上面三個(gè)地方就夠了不需要碰解碼端。但如果你想用這份 FFmpeg 自己拉流驗(yàn)證、或者做轉(zhuǎn)流轉(zhuǎn)發(fā)那libavformat/flvdec.c里也需要對(duì)應(yīng)的 H.265 解析支持否則播放的時(shí)候同樣會(huì)因?yàn)椴徽J(rèn)識(shí) codec id 12 而報(bào)錯(cuò)。實(shí)操建議是把推流和拉流分開先用支持 H.265 RTMP 的服務(wù)端和播放器驗(yàn)證封裝格式正確再用這份 FFmpeg 做推流端。不要一上來就指望同一個(gè)二進(jìn)制把拉流播放也全包了那樣排錯(cuò)時(shí)變量太多。4. configure、編譯與安裝4.1 configure參數(shù)逐項(xiàng)解讀打完全部補(bǔ)丁之后開始配置。下面是我在 Ubuntu 18.04 上驗(yàn)證過的一段完整 configure./configure \ --prefix/usr/local \ --enable-gpl \ --enable-nonfree \ --enable-libx264 \ --enable-libx265 \ --enable-libfdk-aac \ --enable-libmp3lame \ --enable-libopus \ --enable-libvpx \ --enable-pthreads幾個(gè)參數(shù)要說明白--enable-gplx264、x265 這些庫基于 GPLFFmpeg 要鏈接它們必須打開這個(gè)開關(guān)。--enable-nonfreelibfdk-aac 的許可證和 GPL 不兼容必須配合--enable-nonfree才能一起編。如果前面 fdk-aac 沒裝成功那這里就把--enable-libfdk-aac和--enable-nonfree一起去掉音頻用 FFmpeg 自帶的原生aac編碼器也能用只是質(zhì)量略遜。--enable-libx265這就是我們這次的主角H.265 編碼能力來自它。--enable-libx264保留 H.264 推流能力萬一服務(wù)器不支持 H.265 還能降級(jí)。--enable-pthreads多線程編碼x265 本身的多線程能力也需要它。配置完成后注意看輸出末尾的 configuration 匯總應(yīng)該有x265 yes之類的字樣。如果沒有多半是 pkg-config 找不到 x265 庫回頭檢查 libx265-dev 是否真的裝上了。4.2 編譯與安裝make -j$(nproc)這里有個(gè)實(shí)際教訓(xùn)-j$(nproc)在核心多的機(jī)器上會(huì)把內(nèi)存吃滿。FFmpeg 鏈接階段很吃內(nèi)存如果你只有 4G 內(nèi)存還開 16 核并行很容易 OOM。保守起見內(nèi)存不夠就手動(dòng)限制make -j4編譯完成后sudo make install sudo ldconfigldconfig這步很多人會(huì)漏。FFmpeg 默認(rèn)裝到/usr/local/lib如果系統(tǒng) ldconfig 緩存里沒有這個(gè)路徑運(yùn)行時(shí)就會(huì)報(bào)error while loading shared libraries: libavcodec.so.58。穩(wěn)妥的做法是把路徑寫進(jìn) ld 配置echo /usr/local/lib | sudo tee /etc/ld.so.conf.d/ffmpeg.conf sudo ldconfig4.3 驗(yàn)證編譯結(jié)果裝完之后先確認(rèn)用的是不是剛編譯出來的那份which ffmpeg ffmpeg -version | head -n 5如果which ffmpeg顯示的還是/usr/bin/ffmpeg說明 shell 的路徑緩存或 PATH 順序有問題先hash -r或者直接跑/usr/local/bin/ffmpeg -version驗(yàn)證。接著檢查我們最關(guān)心的兩樣ffmpeg -hide_banner -encoders | grep 265 ffmpeg -hide_banner -protocols | grep rtmp第一行應(yīng)該能看到libx265第二行應(yīng)該能看到rtmp。最后再確認(rèn)一下編譯配置ffmpeg -hide_banner -buildconf | grep -E x265|fdk|gpl能看到--enable-libx265就說明這份二進(jìn)制確實(shí)帶 H.265 編碼能力補(bǔ)丁也在這個(gè)二進(jìn)制里生效了。5. 推流實(shí)操H.265編碼 RTMP5.1 一條能跑的推流命令編譯和補(bǔ)丁都正常后推流命令反而不復(fù)雜。從一個(gè)本地文件推流最簡單的形態(tài)是這樣ffmpeg -re -i 1080p.mp4 \ -c:v libx265 -preset veryfast -b:v 3000k \ -maxrate 3600k -bufsize 6000k \ -c:a aac -b:a 128k -ar 44100 \ -g 60 -keyint_min 60 -sc_threshold 0 \ -x265-params bframes0 \ -f flv rtmp://你的服務(wù)器地址/live/test逐個(gè)解釋。-re表示按原視頻的幀率來讀文件模擬實(shí)時(shí)推流不加這個(gè)參數(shù) FFmpeg 會(huì)以最快速度讀完文件然后瞬間推完直播場景必須加。-c:v libx265指定 H.265 編碼器。-b:v 3000k是目標(biāo)碼率1080p H.265 直播一般 2.5 到 4 Mbps 之間就能達(dá)到可用畫質(zhì)這個(gè)值需要根據(jù)內(nèi)容動(dòng)態(tài)微調(diào)。-preset veryfast是編碼速度和壓縮率的折中直播場景推薦 veryfast 或 faster別用 medium延遲會(huì)變大、CPU 占用也高。音頻方面-c:a aac用的是 FFmpeg 原生 AAC 編碼器如果你編譯時(shí)帶上了 fdk-aac可以換成-c:a libfdk_aac音質(zhì)更好。-g 60是 GOP 大小也就是每 60 幀一個(gè)關(guān)鍵幀在 30 幀率下相當(dāng)于 2 秒一個(gè)關(guān)鍵幀這個(gè)值對(duì)直播延遲和首開速度影響很大。-x265-params bframes0是關(guān)掉 B 幀直播場景強(qiáng)烈建議關(guān)能讓播放端不用為了重排幀序多等時(shí)間。5.2 直播編碼參數(shù)的核心取舍關(guān)于 H.265 直播參數(shù)有幾個(gè)取舍值得單獨(dú)說。第一是碼率控制方式。VOD 場景用-crf恒定質(zhì)量很舒服但直播場景網(wǎng)絡(luò)帶寬是固定的我更推薦用-b:v配合-maxrate、-bufsize做限速這樣碼率波動(dòng)不會(huì)把上行帶寬打滿。如果非要 CRF建議范圍在 26 到 30 之間超過 32 畫面細(xì)節(jié)就開始明顯丟失了。第二是 GOP 和延遲的關(guān)系。關(guān)鍵幀間隔越短播放端啟播越快、拖到關(guān)鍵幀的等待時(shí)間越短但碼率開銷越大。直播場景 1 到 2 秒一個(gè)關(guān)鍵幀是比較平衡的選擇。有些人圖省事寫-g 0那在推流場景會(huì)出問題因?yàn)椴糠址?wù)端認(rèn)定關(guān)鍵幀間隔太大會(huì)主動(dòng)斷連。第三是 B 幀問題。RTMP/FLV 容器本身通過 CompositionTime 字段是支持 B 幀的但很多低延遲播放器收到帶 B 幀的流要等重排延遲直接上去。-x265-params bframes0這個(gè)參數(shù)實(shí)測對(duì)延遲幫助非常明顯而且犧牲的畫質(zhì)微乎其微。5.3 攝像頭或采集卡輸入如果你是做攝像頭接入輸入源就不是 mp4 文件而是 v4l2 設(shè)備。命令形態(tài)類似這樣sudo ffmpeg -f v4l2 -framerate 25 -video_size 1920x1080 \ -input_format yuyv422 -i /dev/video0 \ -c:v libx265 -preset veryfast -b:v 2500k \ -f flv rtmp://你的服務(wù)器地址/live/camera01這里-video_size和-input_format要按攝像頭的實(shí)際輸出格式調(diào)整不少 USB 攝像頭直接出 MJPEG 格式這時(shí)把-input_format換成mjpeg能讓 CPU 負(fù)擔(dān)小很多。注意 v4l2 設(shè)備通常需要 root 權(quán)限或者把自己的用戶加進(jìn) video 組。5.4 播放端和服務(wù)端的配合驗(yàn)證推流命令起來了畫面能不能播取決于接收端是不是認(rèn)這套格式。如果服務(wù)端不支持 codec id 12推流可能表現(xiàn)為連接建立后沒有報(bào)錯(cuò)但服務(wù)器端日志能看到 FLV tag 解析異?;蛘吒纱嘣谖帐趾笾鲃?dòng)斷開。所以在正式環(huán)境上線前一定要先用一個(gè)支持 H.265 RTMP 的接收端做一次端到端驗(yàn)證。驗(yàn)證時(shí)最干凈的做法是先用支持 H.265 RTMP 的服務(wù)端收流再用自研播放器或打過對(duì)應(yīng)補(bǔ)丁的拉流播放鏈路看圖像。不要用通用桌面播放器去驗(yàn) H.265 RTMP大概率黑屏這會(huì)讓你誤以為是自己推流推錯(cuò)了。我個(gè)人的排查順序是先看推流端是否持續(xù)打印編碼日志再看服務(wù)端是否持續(xù)收到數(shù)據(jù)最后才懷疑播放端和解碼格式。6. 常見問題與排查技巧實(shí)錄6.1 問題速查表現(xiàn)象可能原因解決辦法configure 報(bào)ERROR: libx265 not foundlibx265-dev 沒裝好或 pkg-config 路徑不對(duì)重裝 libx265-dev檢查/usr/lib/pkgconfig下有沒有 x265.pcmake 后運(yùn)行 ffmpeg 報(bào)cannot open shared object fileldconfig 緩存里沒有 /usr/local/lib執(zhí)行l(wèi)dconfig或?qū)懭?etc/ld.so.conf.d/ffmpeg.conf推流直接報(bào)Could not find tag for codec hevcflv_video_codec_ids 數(shù)組沒加 HEVC 映射檢查補(bǔ)丁第二處是否生效推流能建立但播放端黑屏sequence header 沒發(fā)對(duì)或播放端不認(rèn) codec id 12檢查 HEVC 分支是否寫入 extradata換一個(gè)支持 H.265 RTMP 的播放端驗(yàn)證出現(xiàn)Non-monotonous DTS警告時(shí)間戳不連續(xù)常見于沒加-re或 B 幀引發(fā)推流加-re直播參數(shù)里加bframes0服務(wù)器連上就斷服務(wù)端不認(rèn) H.265 RTMP 擴(kuò)展換支持該約定的服務(wù)器或用 H.264 降級(jí)測試CPU 占用接近滿載preset 太慢、分辨率太高、碼率控制沒做好換-preset veryfast限制分辨率用-b:v限碼率6.2 最隱蔽的坑補(bǔ)丁沒生效但編譯也不報(bào)錯(cuò)這可能是最坑的一點(diǎn)。有些情況下你改了flv.h和flvenc.c但實(shí)際編譯的時(shí)候用的還是舊的目標(biāo)文件FFmpeg 的增量編譯偶爾會(huì)騙人。最穩(wěn)的做法是改完源碼后先make clean再重新 configure 和 make或者干脆刪掉整個(gè)源碼目錄重新解壓、重新打補(bǔ)丁。我踩過一次這個(gè)坑花了大半個(gè)晚上排查最后發(fā)現(xiàn)是增量編譯用了舊的 flv 封裝器對(duì)象文件。另外如果你的編譯過程有多個(gè)工作目錄或者用了別的構(gòu)建腳本務(wù)必確認(rèn)ffmpeg -buildconf里顯示的就是你當(dāng)前源碼目錄這次 configure 的結(jié)果。用strings去 grep 二進(jìn)制里有沒有 HEVC 相關(guān)字符串也是個(gè)快速檢查法但最直接還是看自己的補(bǔ)丁步驟有沒有真正執(zhí)行。6.3 推流端正常但服務(wù)端拒收這種情況多半不是編譯問題而是兩邊的格式約定不一致。現(xiàn)在凡是支持 H.265 RTMP 的服務(wù)端內(nèi)部實(shí)現(xiàn)也可能有細(xì)微差異有的嚴(yán)格校驗(yàn) sequence header 的格式有的只認(rèn)特定的 VPS 層級(jí)有的要求 extradata 必須是完整 HEVCDecoderConfigurationRecord少一個(gè)數(shù)組就斷流。實(shí)測中我最常遇到的就是 x265 在某些參數(shù)下輸出的 extradata 結(jié)構(gòu)和服務(wù)端解析器不兼容。遇到這種情況先用最簡單的參數(shù)組合測試-profile:v main、-pix_fmt yuv420p、bframes0把變量降到最少。H.265 RTMP 這條鏈路本身就處在“事實(shí)標(biāo)準(zhǔn)”的地帶參數(shù)越花哨踩到兼容性問題的概率越大。等基礎(chǔ)鏈路通了再慢慢往上加編碼質(zhì)量參數(shù)。6.4 低配機(jī)器編譯時(shí)的內(nèi)存問題如果你是在云服務(wù)器或者老舊的工控機(jī)上編譯內(nèi)存只有 2 到 4 G那么make -j$(nproc)很容易把內(nèi)存打滿表現(xiàn)為編譯中途進(jìn)程被內(nèi)核殺掉。解決辦法是限制并行度make -j2甚至make -j1同時(shí)關(guān)掉不必要的服務(wù)釋放內(nèi)存。編譯 FFmpeg 本身不像編譯 chromium 那么恐怖但鏈接階段的瞬間內(nèi)存確實(shí)不小別掉以輕心。6.5 關(guān)于10-bit H.265的兼容性提醒如果后續(xù)你把 x265 換成了 10-bit 版本推流前先確認(rèn)-pix_fmt是yuv420p10le并且在配置 ESP 時(shí)考慮播放端的解碼能力。很多嵌入式和網(wǎng)頁播放器只支持 8-bit 解碼10-bit 推流會(huì)導(dǎo)致花屏或者完全沒有圖像。我的建議是RTMP H.265 場景老老實(shí)實(shí)用 8-bit Main Profile10-bit 留給文件存儲(chǔ)和高畫質(zhì)點(diǎn)播場景。7. 個(gè)人實(shí)操心得與后續(xù)擴(kuò)展思路編譯這份 FFmpeg 的前前后后我最大的體會(huì)是工作量其實(shí)不在編譯本身而在理解封裝器那三層邏輯——codec tag 表、sequence header、NAL 格式轉(zhuǎn)換。一旦你把這三件事想透了以后無論是換 FFmpeg 版本、加新的編碼格式還是排查兼容性問題思路都會(huì)清晰很多。很多人卡在“編譯失敗了”這一步其實(shí)回去看看 configure 的輸出百分之八十的問題都在依賴庫沒裝全。補(bǔ)丁管理上我的建議是不要直接在源碼目錄里用 sed 或手改完就扔而是把修改整理成一個(gè)獨(dú)立的 diff 文件下次解壓新源碼后一條命令打上去。這樣既方便版本升級(jí)時(shí)復(fù)用也方便團(tuán)隊(duì)協(xié)作時(shí)讓別人 review 你到底改了哪里。我的習(xí)慣是命名成h265_rtmp.patch和源碼放在同一個(gè)目錄管理。如果未來不想維護(hù)這套老補(bǔ)丁可以關(guān)注新版 FFmpeg 主線對(duì)增強(qiáng) RTMP 的支持。它用 FourCC 的方式重新定義了 H.265 在 RTMP 里的封裝格式理論上更規(guī)范。但要注意增強(qiáng) RTMP 和本文講的 codec id 12 老格式并不等價(jià)服務(wù)端和播放端都需要升級(jí)才能兼容。所以現(xiàn)有的攝像頭、編碼器項(xiàng)目如果已經(jīng)在線上跑著老協(xié)議不要盲目升級(jí)先做兼容性測試。這個(gè)方案后續(xù)還可以做一些很實(shí)用的擴(kuò)展。比如把這套FFmpeg 集成進(jìn)推流腳本配合 shell 或服務(wù)端程序做多路攝像頭輪詢推流比如在推流的同時(shí)用-f flv落一份本地備份方便事后回看再比如把目標(biāo)碼率、GOP、分辨率做成配置文件按場景動(dòng)態(tài)切換參數(shù)。H.265 over RTMP 這個(gè)鏈路目前看還會(huì)在生產(chǎn)環(huán)境存在很長一段時(shí)間自己掌握編譯能力比每次都去網(wǎng)上找一個(gè)別人編譯好的二進(jìn)制要靠譜得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月好婷婷| 日韩欧美一级大黄网站| yw.av| 五月激情综合美女久久| 成人操呦av| 精品成人在线| 深爱综合网| 色很很96| 99热都是精品| 久久九九热re6这里有精品| 天天操天天操天天操天天操天天操 | 色狠狠999综合| 婷婷欧美激情综合| 九九色色网| 日本不卡高字幕在线2019| 97碰碰在线观看视频| 99热18| 九九久久网| 国产精品久久久99视频| 色爱99| 国产亚洲色婷婷久久99精品91| 丁香色五月婷婷91桃色| 深爱激情小说五月婷婷| 丁香色情五月天| 丁香五月综合久久| 五月婷久久综合| 99在线精品视频| 高清无码视频网址| 五月之婷婷| 99re青青草| 九九热在线视频| 婷婷五月丁香综合激情| 99九九综合久久九九| 天天色综合综合| 色五月婷婷激情基地| 国产精品久久久久久亚洲毛片| 五月婷婷,狠狠操| 啪啪激情综合| 亚洲天堂99| 久久丁香| 亚洲综合久| 狠狠综合色网| 日韩另类在线观看| 亚韩在线视频| 婷婷九月丁香天堂丁香天堂| 色欧美日| 欧美日韩成人高清在线| 亚洲午夜国产成人电影VA国产欧…| 婷婷色综合| 色五月五月天色婷婷色五月| 能看的AV| 五月激情婷婷综合| 91精品综合久久久久久五月丁香| 日本狠狠干| 欧美综合激情五月丁香| 丁香婷停五月激情综合深爱| 久月丁香爱婷婷综合| 色五月综合| 激情综合网激情五月丁香五月俺也去| 99热10在线高清播放| 久热9| 色五月在线观看| 超碰免费大香蕉| 色天五月天在线观看视频| 婷婷五月色丁香在线看| 成人免费va| 五月天久久网站| 久久婷婷色五月| 青青草六月丁香| 国产成人亚洲综合A∨婷婷| 五月香六月婷| 香蕉国产2013| 综合久久99| 久久五月天婷婷| 91久久综合亚洲鲁鲁五月天| 超碰人人色| 狠狠干综合| 国产国产乱老熟女视频网站97| 91超级碰碰碰| 久久久亚洲成人无码A片| 97五月婷| 色婷婷AAA| 五月丁香婷婷福利| 婷婷伊人五月天| 色婷婷亚洲五月天| 五月天综合在线| 欧美三级巜人妻互换| 五月丁香色婷婷| 五月婷丁香| 亚洲精品无人区| 久久se 综合网| 99精彩视频| 中文中文在线| 婷婷丁香五月91| 婷婷五月天激情综合| 性色人人爽| 婷婷激情五月天色| 美女网黄| 99热欲| 小色小蛇伊人婷婷色香五月| 99精品在线观看| 丁香激情网| 丁香五月天色婷婷| 97香蕉人人在线观看| 国产操B视频| 久久婷婷六月| www.夜夜| 亚洲图色五月天| 99热爱爱干干日| 国产夫妻操逼内射视频| 人人操人av| 天天射美女| 五月天激情网图片| 91avse| 精品久久婷婷五月天| 婷婷中文字暮| 大色鬼综合| 日本偷拍九九九| 97久久人人| 我爱va亚洲va52| 色综合天天| 亚洲视频在线观看| 激情五月综合| 情久久综合五月天| 日本无码专区| 情婷婷五月天在线| 色综合天天综合成人网| 色色色干| 五月婷婷久久大香蕉| 久久精品一区二区三区四区| 亚洲午夜精品久久久久久人妖| 五月天婷婷导航| 伊人久久中文网| 天天搽天天射| 99色在线| 99这里只有免费的精品| 五月丁香激情综合| 久久98| 丁香五月天堂网| 无码日本精品XXXXXXXXX | 日本久久性| 五月天电影网| 丁香五月天堂婷婷| 66精品成人免费网站在线观看| 欧美婷婷综合| 激情人妻综合| 这里只有精品在线看| 狠狠色丁香| 97碰| 色色色色热| 波多野结衣AV无码Porn| 91青娱乐青青草| 丁香五月色激情| 乱女乱妇熟女熟妇综合网站| 能看的AV| www.com操| 天天色天天| 日本色99| 99热官网| 五月在在观看| ZpRSw| 色欲九区| XX色综合| 综合热无码| 亚洲爆乳无码精品AAA片蜜桃 | 五月激情小说| 久久作爱| 五月天婷婷影院| 激情五月天在线观看色婷婷| 农村熟妇高潮精品A片| 91中文在线| 国产五月天欧美色| 色九月欧美| 婷婷四色五月| 金品在线视频99| 日日夜夜综合| 色婷婷91| 91久久久久久久久18| 激情婷婷九月| 色婷婷色99国产综合精品| 99热99ai| 五月四色激情| 精品成人a v无码内射| 99网| 五月婷婷丁香狠狠撸久久| 色无码| 热的国产99热| 久久人人添人人爽添人人片αV| 思思热再线视频| 综合久久十| 99激情网| 成人精品视频99在线观看免费| 思思99热热热99| 91性高潮久久久久久久久| 丁香九月婷婷| 狠狠操天天日| 一级性感毛片| 午夜成人AV在线| 久久综合干| 超碰人人操人人干| 热九九在线| 性做久久久久久久免费看| 新99色色色色色色| 激情综合六月| 狠狠色丁香婷婷久久综合| 丁香五月婷婷综合精品素人| av 一区三区四区| 99热久久这里只有精品| 丁香六月久| 日本免费91| 999婷婷综合| 狠狠干狠狠色| 激情6月| 99亚洲日韩| 综合五月丁香97| 九色自拍| 激情五月婷婷综合视频| 97色97干| AA片在线观看视频在线播放| 丁香婷婷社区| caobi四区| 五月丁香婷婷伊人日韩| www婷婷| 全网最新网黄大秀直播高清,主播国产录屏在线| 亚洲中文字幕在线观看| 日本婷婷色日| www.99热视频在线观看| 秋霞丝袜啪啪啪| 99操碰| 伊人六月无码视频| 91超级碰在线视频| 99五月香婷婷丁香在线视频| 亚洲综合婷婷| 79色色| 亚洲旡码| 日韩野外 无套| 超碰在线9| 欧美激情丁香五月天久久婷婷一区| www.丁香五月| 色色色色色色色综合| 久久久久久久久18久久| 日日干天天爽| 五月天成人综合| 思思色播| 婷婷九色| 超碰操日| 久操婷婷| 激情综合五月天| 五月的婷婷六月丁香| 99久久色| 久久六月婷婷| 五月丁香成人网| 亚洲VA口| 日本五月视频| 亚洲五月婷婷在线| 99ri在线| 婷婷精品综合| 六月婷婷操逼| 涩丁香| 六月丁香五月婷婷| 亚洲激情网站| 狠狠干思思热| 六月丁香婷婷天堂| 人人草成人视频| 久久九九经典| Www.sesese丁香| 久草五月天| 婷婷五月丁香色情| 五月停亭六月,六月停亭的英语| 9999热免费视频视频| 99色网站| 九九热免费视频| 五月丁香色播| 婷婷五月天综合蜜桃| 亚洲av日韩无码| 天天肏天天爽夜夜爽| 99自拍视频在线| 综合精品99| 色婷丁香91| 天天插天天日| 亚洲精品亚洲人成人网| 99热婷婷| 亚洲激情婷婷| 久热这里只有精品6| 色五月婷婷小说亚洲中文字幕组| 噜噜色噜噜网| 色色网站免费| 久久五月天婷婷| 日日操,天天操| 丁香五月婷婷姐| 精品99这里有| 五月花综合网| 五月婷婷综合激情| 3p日韩网站视频| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 996er热| 久久性爰视频这里只有精品| 俺也高清无码高清视频| 五月婷婷丁香综合网| 五月丁香AV、伊人业余、性色熟妇| 九九综合视频在线观看| 深爱五月激情综合| 激情五月综合免费| 这里只有精品视频一区| 久热这里只有精品视频免费观看| 婷婷六月天| 大香蕉AV电影在线| 欧美一级毛卡片无码| 九九九九九九热| 91中文狠狠综合| 久久99国产综合精品免费| 综合网色| 免费做A爰片77777| 久久精品国产一区二区三区四区| 无码激情AAAAA片-区区| 色婷婷五月丁香色| 91日日日| 亚洲精品网站色视频| 五月天五月色婷婷综合| 婷婷五月激情欧美大胆视频| 天天天天天久久久久久| 九色色| 思思re99视频在线观看| 六月婷婷视频| 婷婷伊人綜合中文字幕| 色狠狠色噜噜AV天堂五区| 中文幕无线码中文字蜜桃| 国产做爰视频免费播放| 9色小视频在线观看| 久久伊人婷| 色色色色色五月丁香| 99九九精品视频| 色V狠狠的干| 91久久精品无码一区二区三区| www.色色五月天.com| 日韩999| 色五月涩涩婷婷蜜桃| 婷婷玉月丁香五月在线视频| 99热激情| 26uuu日韩| 国产AV一区二区三区最新精品| 教师性爱毛片| 久久与婷婷| 丁香五月综合激情久久潮喷| 热99只有里视频| 激情五月婷婷| 伊人激情AV一区二区三区| 九色综合网| 91操在线观看| 色国产五月| 开心五月婷婷婷美女| 99精品自拍| 国产AV一区二区三区最新精品 | 久久婷婷免费| 久久9视频| 另类国产综合| 4399成人黄A片| 日本综合久久| WWW.五月com| 婷婷精品在线| 日日舔夜夜操| 色婷婷99| 五月色婷婷影院| 丁香五月婷婷天激情| 九九成人| 99热每日| 99热这里只有精品10| 国产视频婷婷| 婷婷五月天网| 久久婷网| 色亚洲欧洲| 色爱五月天| 人妻免费网站| 婷婷六月丁香久| 五月丁香六月激情综合| 色啦啦视频| AV在线大香蕉| 婷婷社区五月天| 午夜精品777| 五月丁香香蕉| 五月色色网| 欧洲综合视频| 可以免费观看的av网址| 国产精品18久久久| 五月婷六月婷婷| 日韩啪图| 久热欧美| 婷婷五月天,影院| 中字幕视频在线永久在线观看免费| 久久综合激情五月天| 中文无码婷婷| 色婷婷欧美在线| 色色三级视频| 九九在线视频| 开心深爱五月天| 欧美性色A片免费免费观看的| 天天做天天要天天爽| 欧美性生交XXXXX无码小说| 婷婷五月天亚洲综合网| 亚洲另类av| 亚洲综合草草| 婷婷丁香第一页| 激情人妻蜜夜系列区| 激情五月天伊人影院| 六月婷欧美| 九九色色| 婷婷五月天综合中文| 999九九九久久久99HD| 五月丁香六月婷婷久久肏| 久草大| 丁香六月婷婷综合| 九九婷婷网五月天| 欧洲亚洲最新精品| 婷婷五月天大香蕉| 99在线精品免费视频| 亚洲色A| 久99视频在线观看| www.99riav99| 日韩AAAAA| 玖玖资源站视频| 久久五月网| 欧美69久成人做爰视频| 99热综合在线| 午夜婷婷六月天| 欧美在线操| 日日操天天操| 超碰网站在线观看| 色色 9| 新97人人上人人| av操逼网| 婷婷激情综合网| 五月天天爱| 一夜福利不卡| 9久精品视频| 久久婷婷五月综合色丁香花| 五月天婷婷激情| 丁香婷婷月| 激情综合网,婷婷| www热久久yy9| 欧美久久久中文字幕| 激情小说婷婷| 久久婷婷五月丁香网| 午夜婷婷六月天| 狠狠色婷婷7777久| 另类伊人婷婷| 婷婷爱五月| 99婷婷狠狠成为人免费视频| 337p大胆噜噜噜噜噜91Av| 夜夜干 夜夜操| 先锋男人99资源| 亚洲免费看片| av在线激情| 婷婷丁香黄色| 97人人操人人拍| 夜夜 操无码| jiqingliuyuetian| 久久思思热视频| 色色亚洲无码| 色热久资源| 高清不卡一区| 亚洲精品电影| 狠狠色丁香| xx久久| 综合欧美五月婷婷| 婷婷五月天淫荡| 偷偷与邻居做爰完整视频| 9色在线| 色五月婷婷操逼| 深爱激情综合网| 国产美女最新VA在线免费观看| 午夜大香蕉| 日韩综合天堂| 五月天无码| 91综合色噜噜| 91精品人妻少妇无码影院| 丁香六月亚洲| 丁香婷婷超碰 | 丁香六月婷婷久久亚洲天堂| 九九九九精品精| 五月丁香| 伊人网色婷婷五月天| 日本少妇裸体做爰高潮片| 激情丁香五月婷婷| 99久久九九视频| 开心色色五月天综合| 激情婷婷狠狠干综合| 激情五月天在线视频| 婷婷丁香色五月| 五月丁香婷婷综合| 久久在线视频免费观看| 爱穴久久| 丁香五月婷婷av| 天堂久久精品| 天天在线天天综合网色| 思思久热| 色九亚洲| 99久久九九| 日本精品人妻无码77777| 91av传媒高清在线视频网| 婷婷丁香中文字幕| 欧美日韩成人高清在线| 全亚洲最大的婷婷五月天网站COM| 久久永久网址| 激情综合网激情五月丁香| 婷婷六月情| 成人免费在线电影| 亚洲妇女熟BBW| 午夜天天精品视频| 超碰资源在线| 日日操,日日爽| 久久九九99字幕| 丁香五月乱中文字幕| 熟女网站久久| 精品少妇人妻AV无码专区偷人 | 丁香五月天婷婷在线视频| 青青操绿aaa一区日v| 五月婷婷丁香五月婷婷| 久久婷婷91| 开心激情久久久久久久| 激情 五月 婷婷 丁香| 色情五月婷| 天天日天天久久青青| 国产激情视频在线观看| 91久热| 日韩欧美成人片| 激情五月综合网最新 | 国产成人高清| 五月狠狠| 九热视频精品| 99热全是精品| 亚洲av成人电影在线观看| 小泽玛利亚视频一区二区| 99精品久久| 伊人五月丁香| 成人做爰高潮A片免费视频| 91男人操女人视频| 久久丁香五月综合六月激情红杏视频| 99r这里只有精品在线观看| 久久99视频| www.一起草av| 五月天丁香久久综合| 欧美性生交XXXXX无码小说| 综合网五月| 五月天久久久| 五月丁香六月综合激情| 五月激情天| 五月天激情小说| 99精品免费视频| 天天操天天操天天操天天操天天操 | 国产亚洲99久久精品| 超碰成人免费| 五月天激情小说| 草五月| 天天干天天拍| 91日韩美女被插视频| 色婷婷基地| 五月天激情综合网| 色婷婷丁香AV综合| 日本欧美国产| 婷婷欠久少妇| 天天干肏夜夜| 亚洲精品V天堂中文字幕| 婷婷久久五月丁香| 99ri6在线视频| 淫视馆av三区| 色婷婷丁香九月| 色婷婷AⅤ| 五月天操逼网| av婷婷丁香 六月| 色综合xx| 狠狠狠狠狠狠狠狠| 激情综合五月天| 激情五月天婷婷丁香| 五月婷视频| 色色五月婷婷狠狠| 超碰9在| 久久久WWW| 五月丁香综合在线| 五月婷婷涩涩爱| 久久机热这里只有精品免费视频| 五月婷婷五月色| 开心久久网婷婷| 五月丁香操亭亭网| 婷婷久久色| 国产成人99久久亚洲综合精品| 久久综合五月天激情小说网站| 婷婷亚洲丁香五月| 天天色情站| 三级av在线| 欧美精品久| 色色日韩网| 第一区久久网站| 久久免费精彩视频| 大学生高潮无套内谢视频| 高清免费在线视频| 色婷婷久久| 韩国婷婷丁香五月| 情色五月天网站| av大香蕉| 人人操 色| 开心久久xxx色| 曰日爽日日操| 激情五月天色播| av操B网站| 玖玖综合色| 99色在线观看| 香蕉婷婷色五月| 综合aV在线| 99九九在线精品热动漫| 玖玖精品资源| 丁香五月影院| 伊人久热91| 天天爽天天弄| 精品成人a v无码内射| 婷婷成人五月天| 另类激情五月| 蜜臀av粉嫩av懂色av| 99色视频| 激情五月,婷婷五月,丁香五月| 婷婷五月久久| 色色色色色色色色网站| 亚洲综合成人网| 久婷婷久草| 婷婷久久欧美| www.91在线观看| 激情色五月天| 在线VA视频| 欧美三日本三级少妇三99| 丁香五月婷婷图片综合| 色综天天综合| 色偷偷色婷婷| 91精品视频男人的天堂| 久久99热 这里有精品| 碰碰91| 区啪精品| 欧美激情凹凸丁香网| 亚洲五月婷婷| 天堂A∨在线| www.99精品在线| 国产色色网站网址| 婷婷九月| 色狠狠999综合| 色色色色av色色色色| 成人无码精品1区2区3区免费看| 色天堂操| 五月色亚洲| 超碰熟女农村在线69| 激情文学天天| AV五月丁香| 七月激情六月婷婷综合在线播放| 99免费视频在线观看爱| 欧美五月停| 色9色| 九九热精品在线| 激情综合婷婷久久| 噜噜色噜噜网| 任我肏视频精品| 六月狠狠综合| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 夜色.cnm| 激情二色月| 丁香六月天婷婷开心综合| 中文字幕av亚洲| 久久XX日本综合| 青青青在线视频国产| 五月丁香啪| 超碰狠狠操| 大香蕉啪啪啪| 婷婷五月综合婷婷| 色区久久| 激情五月天啪啪| 国产午夜精品一区二区三区嫩草| 色综合xx| 国产精品电| 丁香五月天BBw| 99热网精品| 99久久精品网| 九九色情网五月天| 丁香美女五月天婷婷| 色五月婷婷1| 九九免费精品| 六月激情丁香一道本7777| 这里只有精品1| 四季AV综合网| 色婷婷综合网站| 日韩狠狠色| 久草婷婷| 狠狠干2007| 99热超碰人| 五月婷婷啪啪啪啪| 五月激情久久| 激情六月婷婷| 婷婷四月 成人 狠狠干| A片试看50分钟做受视频| 麻豆五月丁香婷婷| 超碰色天堂| 五月色丁香| 色色色热| 婷婷五月天性| 丁香花五月天婷婷成人社区| 夜夜操天天爽| 六月婷婷香蕉| 亚洲色婷婷| 极品人妻videosss人妻| 加勒比久热| 色丁香久久| 天天爽日日搞| www.激情五月天.con| 综合色色色色色色| 日本3级片偷拍网站| 中文字幕在线免费观看视频| 夜夜撸天天日| 一区二区乱视频码| 超碰人人超碰| 久久婷婷亚洲五月天| 日韩免费99| 99天堂网| 婷婷五月免费视频| 超黄亚洲瑟瑟网站| 亚洲免费视频网站| 天天爽天天干| 这里只有精品视频免费在线观看| 异能之下短剧免费观看全集| 91啦丨九色丨刺激中文| 精品色| 精品无码99| 亚洲综合九九| 婷婷丁香六月天激情四射网| 婷婷久久综合| 亚洲热久久| 激情五月深爱五月观看| 久久九九99.www| www.色婷婷| 欧美成人精品一区二区 | 天天干夜夜欢| 欧美精品999| 大香蕉婷婷婷| 久久九九综合| 狠狠干在线| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 日逼影音先锋AV男人资源站| 99综合| 另类激情综合| 五月天激情中文字幕| 久久婷婷五月综合伊人| 婷婷色狠狠| 婷婷五月天av| AV五月丁香| 99视频只有这里精品| 性爱网久久| 91狠狠色丁香| av婷婷丁香| 日日夜夜天天| 久久久免费精彩视频| 欧美综合丁香网| 任你爽视频| 国产色视频网站2| 深夜婷婷 丁香| 激情五月天婷婷丁香| 来吧亚洲综合网| 激情五月天色婷婷综合| 婷婷五月天成人娱乐| 激情综合99| 99天堂网最新| 六月丁香AV| 粉嫩AV久久一区二区三区| 天天肏高清在线| 久99热| 五月天自拍视频| 五月色在线| 超碰99热在线观看| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 俺去也婷婷| 超碰在线视屏| 另类视在线| 婷婷成年人免费视频| 五月婷婷伊人久久| 亚洲色欲欧美一区二区三区| 99久久丝| 欧美极品999| 久久久久久久97| 99精品人人| 九月色婷婷婷| 五月丁香 狠狠爱| 热日韩欧美| 日本黄色一级| 色网五月婷婷| 色色色激情网| 激情五月丁香五月综合| 成人免费黄色短视频| 中文字幕丰满孑伦无码专区| 成人做爰A片免费看视频| 狠狠色婷婷7777久| av国产精品| 久久久天堂国产精品女人| 婷婷五月天小说| 五月天开心网| 99色综合| 日日操夜夜擼| 婷婷五月五月丁香| 抽插特写| 日本三级色| 丁香五月综合首页| 日本欧美国产| 日本久久精品| 日日日日做夜夜夜夜无码| 激情深爱婷婷网| 翔田千里aV中文字幕| 五月丁香av在线| 色五月涩涩婷婷蜜桃| 深爱激情九九五月天| 五月天性色| 99亚洲色色| 丁香五月欧美色综合| 丁香六月伊人| 九热视频在线精品15| 欧洲毛片基地c区| 激情六月婷婷| 国外亚洲成AV人片在线观看| 亞洲自怕| 婷婷色中文| 九九热AV| 人妻在线中文字幕久久| 色婷婷AV久久久久久久| 亚洲欧美婷婷五月色综合| 中文av网站| 激情综合婷婷| 99精品国产热久久91色欲| 天天色天天日| 色吧婷婷五月亚洲| www综合久久| 成人片在线播放| 天天婷婷操| 99在线精品在线视频| 99噜噜| 丁香五月婷婷啪| 99er6热在线观看精品6| 色欲久久久久久综合网综合网| 操人无码| 激情都市另类| 激情中文在线| 丁香婷婷激情五月色| 婷婷色爱| av九九| 欧亚成人A片一区二区| 成人片黄网站色大片免费毛片| 激情五月最新网址| 五月激情综合网| 丁香综合伊人AV| 久久精彩免费视频| 丁香五月激情五月| www.色情五月天.com| 69热在线| 开心五月深爱五月丁香五月激情五月 | WWW夜夜| 五月天激情www| 99视频久久| 大香蕉太香蕉视频97| 久久九精品| 丁香六月色情| 超碰com| 亚洲视频综合网| 欧美 日韩 成人在线| 激情婷婷五月色| 狠狠色噜噜狠狠狠狠综合| 国产免费性爱| 激情综合网五月婷婷| 丁香五月停停av| 第四色五月天| 色婷婷操逼网| 日日干夜夜撸夜夜骑| 殴美综合激情五月天免费视频| 精品人妻伦九区久久AAA片| 91精品刘玥| 五月婷婷六月丁香免费| 精a品a| 婷婷色综合| 五月婷婷导航| www,婷婷五月天,com| 婷婷色色丁香五月天| 激情综合视频| 涩涩五月天综合| 第四色首页| 麻豆WWWCOM内射软件| 91美女被操| 天天干、天天日日| 激情小说五月天| 丁香五月婷婷av| 丁香五月开心婷婷| 99精品成人无码A片观看金桔| 亚韩在线视频| 99性色| 日本久久久97| 丁香六月激情综合网| 99热精品在线播放| 操人久久| AV性爱网| 在线成人国产| 天天射夜夜骑| 精品亚洲国产成AV人片传媒| 夜夜撸夜夜骑| 色天堂A| 色综合色色色| 激情精品久久| 婷婷久久六月费| 1000部毛片A片免费观看| 欧洲毛片基地c区| 99热免费精品| 草草影院爱爱| 丁香婷婷情色五月天| 99re资源在线视频导航| 六月丁香综合网| 嫩BBB槡BBBB搡BBBB| 五月五婷婷网| 99在线小视频| 色婷操逼| 五月丁香久久综合| 思思99久久| 色爱99| 超碰爱爱爱| 五月欧美丁香在线观看| 五月天基地| 婷婷情爱五月天6| 婷婷综合在线视频| 丁香六月婷婷综合缴| 99九九免费精品| 激情五月天在线视频| 丁香五月色色婷| 色色色9| 丁香九月综合在线| 五月天综合在线观看| 色婷婷影视99| 蜘蛛女侠2003满天星免费观看| 东京热人妻一区二区三区在线| 日韩欧美一级大黄网站| 1024在线视频| 五月婷视频| 丁香五月婷婷久久久| 99久久玖玖| 狠狠色婷婷7777久综合| 日亚二欧美| 91九色熟女| 精品久久久人妻| 六月亚洲婷婷6月中文字幕| 婷婷久久久| 五月天小说激情| 婷婷视频在线碰| 色久五月天| 色玖玖玖| 九九色图| 五月丁香婷婷在线| 天天日天天插| 深爱开心五月天| 亚洲黄色操逼| 激情五月婷婷| 色色色欧美| 777米奇影视第四色| 九九久久视频| 99在线视频免费| 色婷婷影院| 五月天成人在线视频丁香| 一本色道久久综合狠狠躁一二三| 99这里都是精品6| 99在线免费视频| 婷婷五月丁香五月| WWW.开心五月天.COM| 欧美日韩中国| 超碰人妻在线| 丁香五月激情综合网激情五月| 性爱激情久久| 欧美影院| 天天操夜夜夜夜爽| WWW.五月com| 成人 视频免费观看网站| 婷婷激情五月天综合| 丁香五月狠狠在线观看| 色综合激情| 丁香五月之久操视频| 影音先锋色婷婷| 久久人妻高清中文| 超碰在线人妻| 超级久久久| 99热18| 婷丁香五月天| 色情激情五月| 99热超碰在线| 9 9热这里有精品| 一起草av| 亚洲AV日韩无码| 成人精品99| 丁香五月天堂| 婷婷六久久| 99精品在线播放| 五月天黄色激情小说| 婷婷丁香97| 丁香六月婷婷色XXXX| 日本色图综合| 开心五月婷婷在线| 91超碰人人操| 成人精品免费在线观看| www.超碰在线| 天天爽天天摸| site:901-07.com| 亚洲在线播放| 亚洲视频在线观看| 激情五月天色播| 丁香六月 人妻| 色情婷婷。| 三级片AAA久久久AAA久久久AAA | 亚洲无aV在线中文字幕| 蜜臀AV在线观看| 国产婷婷综合在线免费视频| 激情五月图| 精品99在线看| 超碰天堂网| 极品人妻VideOssS人妻| 色五月综合网| 五月开心婷婷网| 9视频1在线| 欧美大片| 91碰碰碰| 婷婷五月天亚洲精品| 思思热这里只有精品视频666| 97碰碰人人视频| 国产精产国品一二三在观看| 色综合婷婷| 久久精品只有这| 97婷婷丁香五月天激情图片| 五月天开心色情网| 日韩一级网站| 超碰cap| 日日杆天天| 丁香婷婷色情| 丁香五月婷综合网| 久久婷婷五月天激情| 六月亚洲婷婷6月中文字幕| 色情五月婷| 亚洲国产网站| 色欲AVV| 五月丁香影视| 婷婷色五月天在线观看| 任你草| 五月丁香久久| 婷婷五月天久久| 天天操人人干| 五月婷婷丁香五月| 五月天综合在线| 婷婷五月天色色| a网站免费观看| 深爱激情五月天| 性无码专区无码| 久久99国产综合精品免费 | 丁香五月激情宗合| 99色视| 99热99日…..| 色欲五月天| 五月丁香色婷| 3www激情| 欧美色色网| 色五月婷婷九月| 99九九视频| www久| 五月花婷婷| 乱岳熟女50岁| 五月丁香综合精品欧美| Caoporn公开| 哇嘎成人久久| 五月激情婷婷综合| 色五月婷婷中文字幕在线观看 | 五月天婷婷五月| 99亚洲日韩| 丁香 亚洲 久久| www.久久久久| 久99热| 色综合综合综合| 操比激情五月| 99碰网站| site:xiongshengzz.com| 婷婷五月天无码熟女| 可以免费看的av网站| 免费在线观看欧美激情xx小视频| 99热精品观看| 五月天六月色| 玖玖色综合色| 在线伦子99热| 99色在线视频| 99热99免费| 色99在线视频| 激情五月天色色| 国产69久久久欧美黑人A片| 东北熟女高潮99综合99| 手机旧版看人妻1025| 综合玖玖性爱免费视频| 四虎婷婷五月天| 综合久久五月天| 婷婷综合久久| 亚洲三A| 六月丁香婷婷色狠狠久久| 97色色色色| 色色丁香激情五月| 91九色国产在线| A片试看50分钟做受视频| 婷婷五月天性爱视频| 天天摸天天肏| 天天综合亚洲综合| 99男人的天堂| 少妇水多A片太爽了| 综合网狠狠| 99热最新精品| 婷婷五月18永久免费视频| 婷婷综合色图| 日韩AV中文在线观看| 97超碰在线免费观看| 久久久er热| 激情六月色| 99热思思| 久久久A级视频| 五月婷婷狠天天色综合| 丁香五月六月综合欧美| 亚洲激情四射| 91操在线观看| 色婷婷4| 婷婷五月色色| 婷婷伊人久久无码色五月| 五月婷婷影| 婷婷射图五月天| 久久97| 97人妻人人| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 五月丁香久久| 免费看欧美成人A片无码| 天天操婷婷| 五月天六月婷婷电影| 开心五月网 | 亚洲超碰在线| 色色色色av色色色色| 五月婷久久| 久99热在线观看| 婷激情五月| 九九热视频在线观看| 亚洲av无码精品色午夜| 亚洲综合色丁香五月天| 91久久久久久久久18| 婷婷激情97| 婷婷5月天av| 色噜噜狠狠色综合日日| 五月天激情综合网| 精品九九视频| 激情五月天色播| 在线观看亚洲视频影院| 丁香 婷婷 亚洲 熟女| 极品少妇高潮啪啪AV无码| 亚洲av免费在线| 天天插天天日| 九色综合五月天婷五月| 婷婷五月天va| 天天爽天天日| 五月丁香成人| 色五月在线播放| 婷五月天影院| 五月综合777| 丁香五月天堂网| 色播婷婷大香蕉| 日本欧美成人片AAAA| 婷婷天天五月天| 五月天久久www| 北京熟妇搡BBBB搡BBBB| 丁香婷婷久久| 久久五月激情| ′久久99一| 99色精品| 丁香色情五月综合激情| 亚洲综合狠狠艹| 婷婷五月色播天| 夜色综合网| 欧美成人AAA片一区国产精品| 伊人玖玖精品| 色婷婷www| 91在线资源| 日韩小视频在线99| 白人荫道BBWBBB大荫道| 狠狠五月激情在线| 色爱亚洲| 婷婷五月天综合激情| 久久99操| 色五月天堂| 91一起操| 中文字幕av久久爽一区| 色久女| 国产97色在线 | 日韩| 开心激情婷婷| 色99无码| 丰满人妻一区二区三区| 色婷婷影| h亚洲| 五月婷婷久久大香蕉| 日韩在线视频网站| 婷婷久久综| 91热在线| av九九| 色综合天天| 九九九九九无码| 伊人综合网站| 99热精品综合| 男女啪啪视频久 9| 九九性视频| 综合九九中文字幕| 久久综合影院| 97资源碰碰| 六月婷婷中文字幕| 77799热| 大伊香蕉精品视频在线| 激情 婷婷 插| 天天日日| 日本人人xxx| 久久精品99久久久久久| 大香蕉人妻| 色久婷婷五月| 狠狠精品干练久久久无码中文字幕| 色婷婷六月综合| 五月 婷 久| 日日操天天操| 婷婷色网站| 九九综合| 99精品22| 操逼六区| jiZZdr| 丁香五月激情婷婷激情| 大香蕉网 久久| 国产性爱一级| 深爱激情中文五月天av| 无码免费人妻A片AAA毛片西瓜| 伊人午夜综合色啪| 综合网狠狠| 婷婷丁香五月综合| 插插干干干色| 91n网站cad入口在线观看| 色老久久| 亚洲色色在线| 亚洲免费成人电影AV| 九热免费视频| 99这里只有精品视频在线| 久热99视频在线观看| 久久性爱视频| 色五月激情问网站| 婷婷五月丁香性爱| 思思热久久艹| 综合色天天| 九月丁香八月婷婷久久综合久97| 9999久久久久| 日逼免费视频 | 伊人在线视频| 99热6这里只有精品| 免费婷婷| 五月丁香婷婷成人网| 91久久色| 开心亚洲久久开心| 婷婷激情啪啪| 欧美激情综合色综合啪啪五月| 日本欧美国产| 久热成人| 九色亚洲| 丁香九月婷婷| 激情综合激情五月一起草| 99色色热| 五月激情综合性爱|