国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xià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 上通過(guò) apt 直接安裝的 FFmpeg 完全夠用系統(tǒng)源里那個(gè) 3.4 版本雖然老但推流 H.264 一點(diǎn)問(wèn)題沒(méi)有??尚枨笠坏┳兂伞鞍?H.265 畫(huà)面推成 RTMP”自帶版本立刻翻臉報(bào)錯(cuò)非常直接[flv 0x...] Could not find tag for codec hevc in stream #0, codec not currently supported in container這句話(huà)翻譯過(guò)來(lái)就是FLV 封裝器muxer的編碼格式表里根本沒(méi)有 HEVC 這個(gè)條目它不知道該怎么把 H.265 的數(shù)據(jù)包塞進(jìn) FLV/RTMP 的流里。這不是你的參數(shù)寫(xiě)錯(cuò)了也不是 FFmpeg 不認(rèn)識(shí) H.265而是 RTMP 的老協(xié)議規(guī)范在設(shè)計(jì)時(shí)只認(rèn) H.264、VP6 那一批老編碼格式。要解決這個(gè)問(wèn)題本質(zhì)上就兩條路要么換用新版 FFmpeg 內(nèi)建的增強(qiáng) RTMP 能力要么自己改源碼、讓 FLV 封裝器支持 HEVC。目前生產(chǎn)環(huán)境里大量攝像頭方案、直播服務(wù)端和自研播放器沿用的還是“HEVC codec id 12”這套老約定所以自己編譯一份打過(guò)補(bǔ)丁的 FFmpeg反而是最通用、最好控制的做法。這篇文章就完整記錄我在 Ubuntu 18.04 下從零編譯、打補(bǔ)丁、推流驗(yàn)證的全過(guò)程所有步驟都按可復(fù)現(xiàn)的粒度寫(xiě)清楚了。1.1 系統(tǒng)自帶FFmpeg到底缺了什么Ubuntu 18.04 的 apt 源里的 FFmpeg默認(rèn)沒(méi)有開(kāi)啟 libx265 編碼器也沒(méi)有完整的 RTMP 推流能力。更重要的是它作為一份“原版”代碼遵循的是 RTMP/FLV 的原始規(guī)范而原始規(guī)范里沒(méi)有 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 沒(méi)有對(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)場(chǎng)在libavformat/flvenc.c和libavformat/flv.h。1.2 這套補(bǔ)丁方案的來(lái)龍去脈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ī)范里根本沒(méi)有官方 ID。后來(lái)為了在 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就知道接下來(lái)按 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 畫(huà)面推成 RTMP 流了。1.3 誰(shuí)需要、誰(shuí)不需要這套方案先潑點(diǎn)冷水。H.265 推 RTMP 不是“推出去誰(shuí)都能播”的通用能力它需要服務(wù)器端和播放端都認(rèn)這套約定。如果你只是本地錄文件、推 H.264、或者播放端完全不受控比如只能用通用桌面播放器那就沒(méi)必要折騰編譯。很多桌面播放器至今只認(rèn) RTMP 里的 H.264你推 H.265 過(guò)去就是黑屏或花屏這不是你編碼參數(shù)的問(wèn)題是播放端壓根不認(rèn)這個(gè)格式。反過(guò)來(lái)如果你在做直播采集、攝像頭/NVR 上云、低帶寬直播、或者自研播放器那這套方案就非常值。H.265 在同等畫(huà)質(zhì)下碼率通常比 H.264 省 30% 到 50%同樣是 1080p 畫(huà)面H.264 可能要 4 到 6 MbpsH.265 壓到 2.5 到 3.5 Mbps 就能達(dá)到差不多的觀感。帶寬成本下來(lái)之后服務(wù)器壓力、存儲(chǔ)成本都會(huì)跟著降。下文所有操作都默認(rèn)你是“自己控制服務(wù)端和播放端”的場(chǎng)景。2. 環(huán)境準(zhǔn)備Ubuntu 18.04 的依賴(lài)安裝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ì)遇到源失效的情況這是老版本鏡像下線(xiàn)導(dǎo)致的。解決辦法就是把 apt 源切換到當(dāng)前還能用的鏡像源具體切換方式每家公司鏡像都有說(shuō)明這里不展開(kāi)。裝好之后確認(rèn)一下gcc --version能正常輸出別在編譯中途才想起編譯器沒(méi)裝。這里有一個(gè)實(shí)際經(jīng)驗(yàn)不要圖省事用 Ubuntu 20.04 或更新系統(tǒng)的 apt 包去湊合。標(biāo)題既然限定在 18.04就按 18.04 的依賴(lài)情況來(lái)因?yàn)椴煌到y(tǒng)版本里 x265 庫(kù)的版本、soname 都不一樣混著用藥不對(duì)癥。2.2 匯編器為什么必須裝sudo apt install -y yasm nasm這兩個(gè)匯編器不是可選依賴(lài)是硬依賴(lài)。FFmpeg 的 x86 平臺(tái)優(yōu)化代碼、x264、x265 的匯編加速都依賴(lài)它們。很多人編譯 x264 或 FFmpeg 時(shí)卡在nasm not found就是少了這一步。Ubuntu 18.04 源里的 nasm 版本是 2.13.02yasm 是 1.3.0對(duì) FFmpeg 4.4 和 x265 2.6 來(lái)說(shuō)完全夠用。值得多提一句的是yasm 和 nasm 的語(yǔ)法體系不同不能互相替代。FFmpeg 內(nèi)部大量?jī)?nèi)聯(lián)匯編用的是 nasm/yasm 兩套都能處理的格式但 x264 編譯時(shí)需要 nasmlibvpx 也需要。所以別偷懶兩個(gè)都裝上一勞永逸。2.3 編解碼依賴(lài)庫(kù)清單推流 H.265 到 RTMP音頻那邊通常還需要 AAC所以除了 x265 之外建議把常用編解碼庫(kù)一次裝齊。下面是我實(shí)測(cè)可用的安裝命令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提示找不到包說(shuō)明系統(tǒng)沒(méi)開(kāi) multiverse 軟件源。Ubuntu 18.04 的 fdk-aac 在 multiverse 里開(kāi)一下源再裝sudo apt install -y software-properties-common sudo add-apt-repository multiverse sudo apt update sudo apt install -y libfdk-aac-dev這套依賴(lài)?yán)飈ibx264 和 libx265 是核心。x264 是為了留一條 H.264 推流的后路萬(wàn)一目標(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í)再說(shuō)。2.4 關(guān)于libx265版本的一句話(huà)提醒Ubuntu 18.04 自帶的 libx265-dev 是 2.x 老版本只有 8-bit 編碼能力。對(duì)直播場(chǎng)景來(lái)說(shuō)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 是后面的事。裝完依賴(lài)之后可以用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)過(guò)大量生產(chǎn)驗(yàn)證。5.x、6.x 分支也能改但代碼位置有差異網(wǎng)上找到的很多補(bǔ)丁也是按 4.x 寫(xiě)的。另外一個(gè)現(xiàn)實(shí)問(wèn)題新版 FFmpeg 主線(xiàn)對(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先打開(kāi)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 而約定出來(lái)的擴(kuò)展值。你熟悉的 H.264 對(duì)應(yīng) 7所以你在網(wǎng)上看到的視頻 tag 首字節(jié) 0x17、0x27 就是“幀類(lèi)型 codec id 7”拼出來(lái)的。H.265 對(duì)應(yīng) 12首字節(jié)就是 0x2C關(guān)鍵幀、0x3C非關(guān)鍵幀這類(lèi)組合。3.3 補(bǔ)丁第二處flvenc.c 的 codec tag 表接著打開(kāi)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在寫(xiě)頭的時(shí)候會(huì)查這張表查不到就直接報(bào)Could not find tag for codec hevc。加了這行報(bào)錯(cuò)自然消失。3.4 補(bǔ)丁第三處寫(xiě) sequence header這是最關(guān)鍵的一處也是難度最高的一處。H.264 在 FLV 里的封裝套路是第一個(gè)視頻 tag 不攜帶圖像數(shù)據(jù)而是攜帶 AVCDecoderConfigurationRecord里面是 SPS、PPS 等解碼參數(shù)這個(gè) tag 的第二個(gè)字節(jié)是 0表示“sequence header”。之后每個(gè)真正的幀用四字節(jié)長(zhǎng)度前綴把 NAL 單元串起來(lái)。H.265 要照葫蘆畫(huà)瓢把它的 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開(kāi)頭的 Annex B 起始碼flvenc.c 會(huì)調(diào)用ff_avc_parse_nal_units之類(lèi)的函數(shù)把它轉(zhuǎn)成四字節(jié)長(zhǎng)度前綴形式。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 配置記錄的處理?yè)Q成 hevc 配置記錄的處理再在 codec id 的位置用 12實(shí)測(cè)就能跑通。這里我強(qiáng)調(diào)一句這部分修改因?yàn)?FFmpeg 版本不同、x265 版本不同代碼細(xì)節(jié)會(huì)有差異不要指望一個(gè) diff 拷遍天下。補(bǔ)丁的核心思想就三點(diǎn)——登記 codec id、發(fā)配置記錄、轉(zhuǎn) NAL 長(zhǎng)度前綴。弄懂這三點(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í)操建議是把推流和拉流分開(kāi)先用支持 H.265 RTMP 的服務(wù)端和播放器驗(yàn)證封裝格式正確再用這份 FFmpeg 做推流端。不要一上來(lái)就指望同一個(gè)二進(jìn)制把拉流播放也全包了那樣排錯(cuò)時(shí)變量太多。4. configure、編譯與安裝4.1 configure參數(shù)逐項(xiàng)解讀打完全部補(bǔ)丁之后開(kāi)始配置。下面是我在 Ubuntu 18.04 上驗(yàn)證過(guò)的一段完整 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ù)要說(shuō)明白--enable-gplx264、x265 這些庫(kù)基于 GPLFFmpeg 要鏈接它們必須打開(kāi)這個(gè)開(kāi)關(guān)。--enable-nonfreelibfdk-aac 的許可證和 GPL 不兼容必須配合--enable-nonfree才能一起編。如果前面 fdk-aac 沒(méi)裝成功那這里就把--enable-libfdk-aac和--enable-nonfree一起去掉音頻用 FFmpeg 自帶的原生aac編碼器也能用只是質(zhì)量略遜。--enable-libx265這就是我們這次的主角H.265 編碼能力來(lái)自它。--enable-libx264保留 H.264 推流能力萬(wàn)一服務(wù)器不支持 H.265 還能降級(jí)。--enable-pthreads多線(xiàn)程編碼x265 本身的多線(xiàn)程能力也需要它。配置完成后注意看輸出末尾的 configuration 匯總應(yīng)該有x265 yes之類(lèi)的字樣。如果沒(méi)有多半是 pkg-config 找不到 x265 庫(kù)回頭檢查 libx265-dev 是否真的裝上了。4.2 編譯與安裝make -j$(nproc)這里有個(gè)實(shí)際教訓(xùn)-j$(nproc)在核心多的機(jī)器上會(huì)把內(nèi)存吃滿(mǎn)。FFmpeg 鏈接階段很吃?xún)?nèi)存如果你只有 4G 內(nèi)存還開(kāi) 16 核并行很容易 OOM。保守起見(jiàn)內(nèi)存不夠就手動(dòng)限制make -j4編譯完成后sudo make install sudo ldconfigldconfig這步很多人會(huì)漏。FFmpeg 默認(rèn)裝到/usr/local/lib如果系統(tǒng) ldconfig 緩存里沒(méi)有這個(gè)路徑運(yùn)行時(shí)就會(huì)報(bào)error while loading shared libraries: libavcodec.so.58。穩(wěn)妥的做法是把路徑寫(xiě)進(jìn) ld 配置echo /usr/local/lib | sudo tee /etc/ld.so.conf.d/ffmpeg.conf sudo ldconfig4.3 驗(yàn)證編譯結(jié)果裝完之后先確認(rèn)用的是不是剛編譯出來(lái)的那份which ffmpeg ffmpeg -version | head -n 5如果which ffmpeg顯示的還是/usr/bin/ffmpeg說(shuō)明 shell 的路徑緩存或 PATH 順序有問(wèn)題先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就說(shuō)明這份二進(jìn)制確實(shí)帶 H.265 編碼能力補(bǔ)丁也在這個(gè)二進(jìn)制里生效了。5. 推流實(shí)操H.265編碼 RTMP5.1 一條能跑的推流命令編譯和補(bǔ)丁都正常后推流命令反而不復(fù)雜。從一個(gè)本地文件推流最簡(jiǎn)單的形態(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表示按原視頻的幀率來(lái)讀文件模擬實(shí)時(shí)推流不加這個(gè)參數(shù) FFmpeg 會(huì)以最快速度讀完文件然后瞬間推完直播場(chǎng)景必須加。-c:v libx265指定 H.265 編碼器。-b:v 3000k是目標(biāo)碼率1080p H.265 直播一般 2.5 到 4 Mbps 之間就能達(dá)到可用畫(huà)質(zhì)這個(gè)值需要根據(jù)內(nèi)容動(dòng)態(tài)微調(diào)。-preset veryfast是編碼速度和壓縮率的折中直播場(chǎng)景推薦 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ì)直播延遲和首開(kāi)速度影響很大。-x265-params bframes0是關(guān)掉 B 幀直播場(chǎng)景強(qiáng)烈建議關(guān)能讓播放端不用為了重排幀序多等時(shí)間。5.2 直播編碼參數(shù)的核心取舍關(guān)于 H.265 直播參數(shù)有幾個(gè)取舍值得單獨(dú)說(shuō)。第一是碼率控制方式。VOD 場(chǎng)景用-crf恒定質(zhì)量很舒服但直播場(chǎng)景網(wǎng)絡(luò)帶寬是固定的我更推薦用-b:v配合-maxrate、-bufsize做限速這樣碼率波動(dòng)不會(huì)把上行帶寬打滿(mǎn)。如果非要 CRF建議范圍在 26 到 30 之間超過(guò) 32 畫(huà)面細(xì)節(jié)就開(kāi)始明顯丟失了。第二是 GOP 和延遲的關(guān)系。關(guān)鍵幀間隔越短播放端啟播越快、拖到關(guān)鍵幀的等待時(shí)間越短但碼率開(kāi)銷(xiāo)越大。直播場(chǎng)景 1 到 2 秒一個(gè)關(guān)鍵幀是比較平衡的選擇。有些人圖省事寫(xiě)-g 0那在推流場(chǎng)景會(huì)出問(wèn)題因?yàn)椴糠址?wù)端認(rèn)定關(guān)鍵幀間隔太大會(huì)主動(dòng)斷連。第三是 B 幀問(wèn)題。RTMP/FLV 容器本身通過(guò) CompositionTime 字段是支持 B 幀的但很多低延遲播放器收到帶 B 幀的流要等重排延遲直接上去。-x265-params bframes0這個(gè)參數(shù)實(shí)測(cè)對(duì)延遲幫助非常明顯而且犧牲的畫(huà)質(zhì)微乎其微。5.3 攝像頭或采集卡輸入如果你是做攝像頭接入輸入源就不是 mp4 文件而是 v4l2 設(shè)備。命令形態(tài)類(lè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)限或者把自己的用戶(hù)加進(jìn) video 組。5.4 播放端和服務(wù)端的配合驗(yàn)證推流命令起來(lái)了畫(huà)面能不能播取決于接收端是不是認(rèn)這套格式。如果服務(wù)端不支持 codec id 12推流可能表現(xiàn)為連接建立后沒(méi)有報(bào)錯(cuò)但服務(wù)器端日志能看到 FLV tag 解析異?;蛘吒纱嘣谖帐趾笾鲃?dòng)斷開(kāi)。所以在正式環(huán)境上線(xiàn)前一定要先用一個(gè)支持 H.265 RTMP 的接收端做一次端到端驗(yàn)證。驗(yàn)證時(shí)最干凈的做法是先用支持 H.265 RTMP 的服務(wù)端收流再用自研播放器或打過(guò)對(duì)應(yīng)補(bǔ)丁的拉流播放鏈路看圖像。不要用通用桌面播放器去驗(yàn) H.265 RTMP大概率黑屏這會(huì)讓你誤以為是自己推流推錯(cuò)了。我個(gè)人的排查順序是先看推流端是否持續(xù)打印編碼日志再看服務(wù)端是否持續(xù)收到數(shù)據(jù)最后才懷疑播放端和解碼格式。6. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄6.1 問(wèn)題速查表現(xiàn)象可能原因解決辦法configure 報(bào)ERROR: libx265 not foundlibx265-dev 沒(méi)裝好或 pkg-config 路徑不對(duì)重裝 libx265-dev檢查/usr/lib/pkgconfig下有沒(méi)有 x265.pcmake 后運(yùn)行 ffmpeg 報(bào)cannot open shared object fileldconfig 緩存里沒(méi)有 /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ù)組沒(méi)加 HEVC 映射檢查補(bǔ)丁第二處是否生效推流能建立但播放端黑屏sequence header 沒(méi)發(fā)對(duì)或播放端不認(rèn) codec id 12檢查 HEVC 分支是否寫(xiě)入 extradata換一個(gè)支持 H.265 RTMP 的播放端驗(yàn)證出現(xiàn)Non-monotonous DTS警告時(shí)間戳不連續(xù)常見(jiàn)于沒(méi)加-re或 B 幀引發(fā)推流加-re直播參數(shù)里加bframes0服務(wù)器連上就斷服務(wù)端不認(rèn) H.265 RTMP 擴(kuò)展換支持該約定的服務(wù)器或用 H.264 降級(jí)測(cè)試CPU 占用接近滿(mǎn)載preset 太慢、分辨率太高、碼率控制沒(méi)做好換-preset veryfast限制分辨率用-b:v限碼率6.2 最隱蔽的坑補(bǔ)丁沒(méi)生效但編譯也不報(bào)錯(cuò)這可能是最坑的一點(diǎn)。有些情況下你改了flv.h和flvenc.c但實(shí)際編譯的時(shí)候用的還是舊的目標(biāo)文件FFmpeg 的增量編譯偶爾會(huì)騙人。最穩(wěn)的做法是改完源碼后先make clean再重新 configure 和 make或者干脆刪掉整個(gè)源碼目錄重新解壓、重新打補(bǔ)丁。我踩過(guò)一次這個(gè)坑花了大半個(gè)晚上排查最后發(fā)現(xiàn)是增量編譯用了舊的 flv 封裝器對(duì)象文件。另外如果你的編譯過(guò)程有多個(gè)工作目錄或者用了別的構(gòu)建腳本務(wù)必確認(rèn)ffmpeg -buildconf里顯示的就是你當(dāng)前源碼目錄這次 configure 的結(jié)果。用strings去 grep 二進(jìn)制里有沒(méi)有 HEVC 相關(guān)字符串也是個(gè)快速檢查法但最直接還是看自己的補(bǔ)丁步驟有沒(méi)有真正執(zhí)行。6.3 推流端正常但服務(wù)端拒收這種情況多半不是編譯問(wèn)題而是兩邊的格式約定不一致。現(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í)測(cè)中我最常遇到的就是 x265 在某些參數(shù)下輸出的 extradata 結(jié)構(gòu)和服務(wù)端解析器不兼容。遇到這種情況先用最簡(jiǎn)單的參數(shù)組合測(cè)試-profile:v main、-pix_fmt yuv420p、bframes0把變量降到最少。H.265 RTMP 這條鏈路本身就處在“事實(shí)標(biāo)準(zhǔn)”的地帶參數(shù)越花哨踩到兼容性問(wèn)題的概率越大。等基礎(chǔ)鏈路通了再慢慢往上加編碼質(zhì)量參數(shù)。6.4 低配機(jī)器編譯時(shí)的內(nèi)存問(wèn)題如果你是在云服務(wù)器或者老舊的工控機(jī)上編譯內(nèi)存只有 2 到 4 G那么make -j$(nproc)很容易把內(nèi)存打滿(mǎn)表現(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)頁(yè)播放器只支持 8-bit 解碼10-bit 推流會(huì)導(dǎo)致花屏或者完全沒(méi)有圖像。我的建議是RTMP H.265 場(chǎng)景老老實(shí)實(shí)用 8-bit Main Profile10-bit 留給文件存儲(chǔ)和高畫(huà)質(zhì)點(diǎn)播場(chǎng)景。7. 個(gè)人實(shí)操心得與后續(xù)擴(kuò)展思路編譯這份 FFmpeg 的前前后后我最大的體會(huì)是工作量其實(shí)不在編譯本身而在理解封裝器那三層邏輯——codec tag 表、sequence header、NAL 格式轉(zhuǎn)換。一旦你把這三件事想透了以后無(wú)論是換 FFmpeg 版本、加新的編碼格式還是排查兼容性問(wèn)題思路都會(huì)清晰很多。很多人卡在“編譯失敗了”這一步其實(shí)回去看看 configure 的輸出百分之八十的問(wèn)題都在依賴(lài)庫(kù)沒(méi)裝全。補(bǔ)丁管理上我的建議是不要直接在源碼目錄里用 sed 或手改完就扔而是把修改整理成一個(gè)獨(dú)立的 diff 文件下次解壓新源碼后一條命令打上去。這樣既方便版本升級(jí)時(shí)復(fù)用也方便團(tuán)隊(duì)協(xié)作時(shí)讓別人 review 你到底改了哪里。我的習(xí)慣是命名成h265_rtmp.patch和源碼放在同一個(gè)目錄管理。如果未來(lái)不想維護(hù)這套老補(bǔ)丁可以關(guān)注新版 FFmpeg 主線(xiàn)對(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àn)上跑著老協(xié)議不要盲目升級(jí)先做兼容性測(cè)試。這個(gè)方案后續(xù)還可以做一些很實(shí)用的擴(kuò)展。比如把這套FFmpeg 集成進(jìn)推流腳本配合 shell 或服務(wù)端程序做多路攝像頭輪詢(xún)推流比如在推流的同時(shí)用-f flv落一份本地備份方便事后回看再比如把目標(biāo)碼率、GOP、分辨率做成配置文件按場(chǎng)景動(dòng)態(tài)切換參數(shù)。H.265 over RTMP 這個(gè)鏈路目前看還會(huì)在生產(chǎn)環(huán)境存在很長(zhǎng)一段時(shí)間自己掌握編譯能力比每次都去網(wǎng)上找一個(gè)別人編譯好的二進(jìn)制要靠譜得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
韩日性爱av| 亚洲 欧美 综合 91| 激激五月| 麻豆91熟妇人妻中文字幕茄子| 国产强奸AV在线| 欧美疯狂做爰xxxx| 在线一区| 人人操人人干网页| 97一区二压| 国产成人91一区二区三区| 五月天激情四射| 中字一区| 成人av动漫在线观看| 2017大香蕉国产精品久久| 蜜臀久久99精品久久久久| 五月婷婷六月色| 加勒比av网| 欧美一级A片不卡视频。| 99精品热| 亚洲91在线播放影院| 日日A∨| 黑人猛交| 精品国产91久久久久久一区黄无| 久久AV无码AV| 一区二区精品更新提醒| 国产日韩色综合| 97在线资源| 激情综合网五月婷婷五月天| 日韩性爱一级片| 天天舔天天| 91综合中文字幕| 人妻夜夜爽天天爽麻豆三区网站 | 92一区二区| 99精品在线| 无码抄逼网| 97国产综合欧美| 日韩天天综合| 磁力99AV| 久久欲| 亚洲国产麻豆一区二区三区| 国产熟码AV| 国产欧美一区激情交| 久久青娱乐| 9Ⅰ超碰| 98人妻精品一区二区色欲| 中日韩久久人妻一区二区| 精吧天堂| 97色在线| 99re8超碰| 亚欧美天堂在线| 国产又粗又又黄又猛| 亚洲欧美国产日本一区二区三区| 激情五月天网站| 狠狠干,狠狠操| 欧美色棕合| 国产精品一二三免费网站| 99热66| 曰韩精品九九无码| 91久久久视| 国产情色在线| BBBBB97COM| 久久超碰网| 五月天激情四射| 无码乱人伦中文视频| 激情抓乳插进去啪啪啪日韩| 成人网址在线观看| 无码人妻一区二区一牛影视| 久久一二三级一一一| 欧美后入视频| 蜜臀99久久精品| 高清视频一区| 久久国产热视频97电影| 中文字幕文字幕无码一区二区三区电影99| 精品美女久久一二三| 久久九九热| 少妇高潮对白在线观看| 一类av片在线看| 91精品丝袜在线观看| 大香蕉啪啪啪| 91国精产品| 变态综合色| 夜草网站| 91影库| 两女互慰AV高潮喷水在线观看| 亚洲 一区二区 自拍| 99亚洲精品| 日韩欧美中文字| 精品对白久久不卡| 丁香九月激情啪| 日韩欧亚太美不卡| 在线洲亚线| 为用户提供免费看黄网址在线观看| 亚洲国产成人精品无码专区| 欧美亚洲丝袜美女电影| 久久春色| 97超碰人操| 亚洲男人在线观看天堂| 日本免费人成视频播放120秒| 亚洲综合一区二区| 欧美淫乱视频| 欧美另类综合久久| 蜜臀久久99精品| 香蕉99秘 一区精品蜜桃臀| 老子午夜伦不卡影院| 久久久激情| 青青草乱入乱欲视频在线观看| 99热婷婷一区二区三| 91狠狠综合久久久| 欧美麻豆成人同性GⅤ在线| 蜜臀国产AV中文字幕| 久久久久久久久久久久九| 婷婷久久五月综合激情| 中文字幕在线24| 欧美96交| av资源在线观看少妇| 日日干男人的天堂| 一类av片在线看| 天堂国产AV| 三上悠亚在线毛片91| 亚洲黄色影视| 偷窥自拍亚洲| 婷婷啪啪| 色五月av| 99热97| 日韩一二三区| 东北黄色电影| 日本精品网站在线中文| 中文字幕人妻色偷偷久久皮| 欧美日韩色综合网| 91女优在线观看 | 九草在线大香蕉| wwwxxx日本爽| 九一综合网| 97人妻免费中文字幕| 久久神马影院| 日韩av不卡在线观看| 色色青青久久| 97干com| 成人av毛片在线观看| 骚货人妻偷情自拍在线视频| 操逼免费视频无码国产| 美女骚尻视频| 夜夜操狠狠操| 色色网91| 极品人妻少妇综合| 日本亚洲vr欧美不卡高清专区| 97在线视频免费观看| 闷骚老熟女15P| 青娱乐亚洲自拍| 91精品少妇搡搡搡| 蜜桃臀 后入 一区 二区 三区 在线| 蜜臀99久久精品久久久懂爱| 日韩97视频| 亚洲色综合| 91美女视频在线观看| 九九久久一区二区三区| 久久人人爽爽人人爽人人片αV| www. 男人天堂成人在线| 激情四射五月天| 在线a亚洲视频播放在线| 91麻豆天美传媒HD| 欧美色色色| 欧美中文字幕精品人妻| 天天天天天天天天综合| 久久女婷| 国产一区二区a毛片| 色香网| 欧美 亚洲 制服 精品| 免费1级a做爰片观看| 91在线国产后入风骚翘臀美女素人| 这里只有精品视频在线| 成人免费不卡在线视频| 欧美色亚洲| 欧美第一页| 青青草一区二区三区四| 六月丁香五月婷婷| 婷婷性爱| 久久久久久精品免费看A级| 国产精品夜夜| 超碰97人人乐| 久久久久元码视频| 99re3这里只有精品| 99亚洲天堂| 久久受www免费人成| 青青草一区二区三区四| 99热aaa| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 狠狠图片青青草| 欧美综合区| 亚洲精品三区在线观看| 亚洲资源站| 91九色丰满高潮| 无码视频一区二区| 日本青青草在线| 五月丁香啪| 国产精品一级毛片不卡视| 亚州熟女乱伦| WWW.操逼.COM| 亚洲中文字幕熟女| 青草成人免费视频一COm| 久久久草草精品| 99re只有精品| 10000部十八禁看电影| 嗯嗯啊在线视频| 天天天天天干夜夜夜夜夜操| 日韩精品免费高清视频在线| 男人a天堂手机在线版| 丰满人妻一区二区三区性色| 精品人妻视频入口| 黄色片一区二区三区四区五区| 午夜精品久久一区二区| 国产老太乱伦一区| a男人的天堂久久一级A毛片| 熟妇的味道HD中文字幕| 天天摸夜夜添无码小视频| 久久在线观看免费视频| 少妇无码av专区线| 操逼片中文| 中国国国产一级特黄毛片| 韩国成人精品久久久免费看| 国语对白在线播放视频| 强奸乱伦动态污图免费 | 懂色AV一区二区三区| 色色色网站| 激情开心五月天| 啊啊啊不要好疼视频| 亚洲最大91网| 97自拍一区| 老熟女中文字幕高清| 久久精品国产亚洲AV清纯| 欧美v日韩v亚洲v最新在线| 69一区二区三区| 婷婷色色五月天福利| 国产在线视频午夜精华在| 无码不卡亚洲成?人片| 性饥渴少妇av无码毛片| 欧美后入式| www亚洲免费| 在线v中文字幕一区二区三区| 在线无码操| 国产亚洲综合欧美一区| 91偷拍欧美亚洲| 校园春色宗合网| 97日韩欧美亚洲| 色97干| 黑人美精品 A片| 凸凹视频在线观看| 91女在线观看| 日日干夜夜骑| 蜜乳AV免费观看| 日本精品无码三级网站| 国产在线76页| 一区二区亚州激情久婷婷欧美| 99999亚洲另类| 97在线免费观看| 久草免费在线一区二区| 啊啊啊97视频| 97久久久久| 中国AAAAAA黄色片| 不卡啪啪视频| 黄色不卡视频| 97免费在线观看视频| 欧美日韩在线国产在线| 一区麻豆 高清中文字幕| 色网综合网| 久久AV无码AV| 又黄又爽在线观看视频| 99久久免费看精品国产一区| 岛国激情视频在线观看| 色哟哟国产精品免费网址| 人妻黑丝袜电影| 2024黄色视频| 高潮内射在线| 亚洲日韩美女丝袜美腿人妻视频| 日韩欧美俄罗斯A片| 少妇人妻无码| 蜜桃狠狠色伊人亚洲综合网站| 中文一区在线视频| 日韩中文字幕宗合在线| 久久久91| 秋霞福利网| 精品人妻一区二区三区四区不卡在| 中文字幕日韩人妻视频一区二区三区| 精品网站9999| 国产精品久久久| 伊人AAA| 精品大全99999| 91丨豆花丨熟女| 欧美AB在线观看| 天天天肏屄肏屄肏屄欧美欧美| 福利视频一区二区微拍| 青女在线| 亚洲图片婷婷五月天| 屌妞视频久久久久久久久久久久| 自拍偷拍国产欧美日韩韩| 97九色人妻| 怡红院成人视频| 丁香五月天堂| www欧美91| 亚洲激情综合| AV乱伦国产| 日韩伦理久 久久 清纯| 国产中出内射一区二区| 久久超碰亚洲人| 久久久99免费| 无码人妻系列少妇| 日本一级性爱| 国产久久久久久| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 特级大荫道BBwBBwBBW| 97超碰色色| 日韩精品区二区三区不卡| 亭亭在线资源| 黑人精品欧美一区二区蜜桃| 国产精品爽爽va在线观看98| 久久香蕉国产线看观看亚洲女人 | 999岛国大片| 精品人妻美妇91job| 91亚洲丝袜| 九九热精品| 超碰在线一区| 99日免费视频中文字幕| 99热久| 羞涩视频| 亚码人妻| 92福利社视频| 午夜福利一区二区影院| 97人人色| 日韩少妇丰满亚洲| 色999亚洲人成色| 91在线免费精品视频| 日韩三级网址| AV大香蕉| 国语精品内射在线观看| 国内伊人久久久久久网站视频| 北条麻妃99精品青青久久| 在线欧美69V免费观看视频| 精品国产乱码久久久久久久| 国产久久一区二区三区野外在线| 97人人模人人爽人人| 中文字幕三四区| 97超碰在线资源网站| 婷婷久久综合| 久操com| 超碰九7免费| 久久精品亚洲婷婷| 91大学精品激情戏| 久久一级无码精品毛片6| 99re这里只有精品2| 蜜臀AV成人精品蜜臀| 五月丁香拍拍激情综合三级| 日韩少妇无码| 视频在线97| 九九九九九精品视频| 国产有码一区| 凹凸视频特色日本特黄| 国产亚洲中文不卡二区| 操逼A∨| www激情| 久96热在线观看视频| 99久在线精品99re8| 黄网站黄视频网站进入口| 五月婷婷啪啪| 亚洲精品aa久久伊人| 在线人成亚洲视频免费观看| 91丝袜在线观看| 日本 情色 1区2区3区| 中文字幕-区二区三区四区视频中国| 婷色五月| 黑丝少妇在线观看| 我爱大香蕉| 男人的天堂一区三区| 黄色人人| 懂色av色欲av蜜臀av| 一道本东京热加勒比一区二区三区| 午夜性生活av免费在线看| 老鸭窝成人| 亚洲欧美日韩国产丝袜自拍中文| 麻豆国产第一| 欧美伦乱爱| 免费久久9999| 久久精品操| 久久国模av| 91网亚洲| 国产青视频| 欧美九九99久久精品| 久久久工口| 久久久不能久久久久| 男人的天堂2019AV| 亚洲av夫妻操穴网| 国产精品一区二区在钱播放| 偷拍欧美综合| 亚欧美天堂在线| 性欧美体内射精| 啊啊啊好湿国产一二| 久久av成人无码免费| 国产精品免费视频人成| 中文字幕诱惑制服人妻丝袜美丝袜美| 性猛交| 欧美一级二级三级| 久久久久婷婷| 九九九精品美女| 亚洲丝袜诱惑| 视频二区美腿丝袜制服人妻欧美| 久久春色| 中文字幕一区二区三区蜜桃视频| 国产精品无码AV网站| 国产超碰在线一区| 欧美日韩操操操| 少妇激情一区二区三区视频| 91美乳| 国产亚洲日本| 中文字幕成人| 亚洲天堂一区二区久久| 天天综合中文字幕 91| 亚洲一区日韩| 日韩熟女操逼| 自拍六区| 成人性爱美曰韩| 亚洲色综网| 蜜臀AV一区二区三区激情综合| 少妇无码av专区线| 人人弄人人摸| 97爱亚洲| 男人的天堂久久| 人人爽人人精品乱人伦AV| 岛国成人av在线播放网址| 激情小说日韩无码| 刺激精品视频| 久久久久久无码人妻中文字幕| 日韩有码一区三区| 亚洲无码久久久久久久| 亚洲字幕一区二区| 欧美性爱日韩高清| 操逼A∨| 欧美姓爱综合网| 免费一级黄色录像影片| 日韩视频精品在线观看| 亚洲美女黄色| 91九色在线| 嫖老熟女A片一二三区| 午夜男女爽爽大片免费观看| 2019天天干| 蜜臀在线网站| 蜜臀久久99精品久久久久久成人小说 | 亚洲国产天堂| 亚洲熟女国产综合另类| 人妻久久久| 加勒比日本在线| 啪啪啪男女亚洲中文字幕99| 人人澡人人干| 激情婷婷综合久久| 久久综合亚洲色1080p| av凤凰久久久| 欧美999| 思思热久久成人| 欧美人妻少妇| 人人做天天爱| 欧美日韩999| 91蜜臀熟女| 嗯嗯啊啊好疼| 天天做天天爱| 午夜福利精品| 久热99| 亚洲 se图 欧美电影| 亚洲综合图色在线| 精…码一二三区| 日本成人电影资源网| 欧美成熟性爱精品| 蜜乳AV网址| 日韩精品99999| 亚州色站 日韩电影| 一区二区三区四区在线不卡| 天天射夜夜骑| 黄片aaaaa一区| 天天日天天色| 欧美亚洲色的图| 青青草精品| 亚洲一区日韩精品中文字幕| 久久偷偷色综合蜜桃| 欧美性生活免费网| 操死我了嗯嗯嗯| 97超碰精品| 天天插天天射| 97超碰美国| 国产亚洲精品精AV.| 天堂精品在线| 骚女天天综合网| 偷拍 精品 另类 四区| 欧美色999| 女一区二区| 91福利网在线观看| 好吊妞转入那个网| 日韩无码人妻中字久久三区四区| 亚洲欧美激情在线视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 超碰97伊人| 99这里都是精品| 97视频900| 国产精品久久久久久高清无码免费看| 亚洲中文字幕乱码无码一区二区| 国产精品直播在线观看直播| 国产人伦精品一区二区三区| 翔田千里A片一区二区| 俺去久久| 激情久久久| 丝袜视频网国产90| 久久久98网站免费视频| 91精品无码久久久久久久| 亚洲激情天堂网| 911粉嫩人妻| 九九热三级片| 青青草华人在线欧美在线| 五月丁香六月婷综合成人综合| 97K超碰在线| 97内射偷拍| 91天天综合网,天天综合网| 天天操夜夜操狠很操| 超碰色大香蕉| 国产60区。| 天天插天天插| 无码国产Av| JuliaAnnXXX888| 欧美亚洲美少妇一区二区| www超碰| 亚洲成人日韩小说| 少妇综合网| 男人天堂毛片| 啊啊啊啊好大好硬啊啊啊啊啊| 日韩熟妇二区| 亚洲色诱惑| 91搞逼视频| 国产欧美日本亚洲精品 | 欧美日韩成人| 麻豆国产免费影片| 97在线观看播放视频| 97久久超碰亚洲| 亚洲综合夜色| 91成人在线| 女人爽到高潮久久久| 狠肏骚人妻| 99性爱视频| 天天欧美色| 91成人在线| 呻吟 欧美 日本 中出| 五月丁香| 欧美日韩理论一区| 少妇高潮喷水无套久久久久久| 激情婷婷丁香| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 熟妇人妻一区二区| 国产精品直播在线观看直播| 国产日韩欧美亚洲精品95 | 91国产丝袜白虎| 日本天天干天天操一区| 嫩草美女久久| 九九九九九九九精品视频| 麻豆一区在线| 国产偷人伦激情在线观看| 91c色| 亚洲人在线| 美女诱惑一区| 久久美女福利是上海美女| 国产天天看| 99国产精品| 激情综合久久| 欧美色图另类图片| 狠狠中文字幕| 手机看片1025| 久久成人国产| 好爽视频在线观看视频 | 五月丁香大香蕉| 97视频免费| 久久精品电影在线| 试看60秒| 亚洲日韩欧美一区二区| 午夜120视频在线观看| 可以免费看黄片的视频| 91成人久久| 69av一区二区三区| 熟女人妻久久中文字幕一二区| 777超碰| 久这精品中文在线观看视频| 骚货 中文字幕 av| 蜜桃视频一区二区三区在线观看| 色眯眯射| 国产精品麻豆成人av| 亚洲国产成人高清在线| 国产乱不卡| 婷婷中文字幕| 99精品丰满人妻无码| 男人久久精品| 久久草草欧美精品| 超碰成人最新最好看| 日韩ab网| 免费自拍三级综合| 亚欧国产无码精品在线| 操逼1区| 97操B| 亚洲制服欧美另类内射| 人妻少妇精品一区二区三区| 亚洲男人的天堂在线看| 日韩精品一区二区三区色欲| 狠狠久久亚洲欧美专区| 九九色精品| 爱欲AV| 五月婷婷六月天| 亚洲精品一区二区免费在线观看| 久9精品| 亚川综合视频| 伊人AAA| 蜜桃久久一区二区三区| 九九久久久久久爱| 免费视频一二三区| 中文一区二区婷婷视频| 亚洲麻豆18发?| 97AV在线观看| 久久精品色欧美aⅴ一区二区| 少妇同性| 精品制服美女中文一区二区三区| 国产精品精品系列在线观看| 高清成年美女黄网站免费大全 | 男女啪啪啪18禁网站| 国产欧美日产一区二区三区 - 国产欧美日| 9999亚洲精品| 欧美亚洲AN| 91高清无码下载| 亚洲一区二区三区春色| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产又长又大又粗的视频| 爆操无码| 国产精品一二三区18| 国产超碰| 精品国产乱码久久久影院| 97频视在线| 青青草九九九九九| www.色综合| 极品综合| 精品亚洲成人免费在线| 黄色成年| 青女偷拍网| 天美传媒在线一区| 亚洲情色第一页| www欧美性爱| 免费农村成人少妇人妻Aa一区二区视频| 亚州综合色| 国语精品对白| 五月开心久久AV官网| 亚洲 欧美 天天| 在线99热| 国产网红精品| 99热在线只有精品| 成人性交免费视频| 91精品人妻一品二品三品| 欧亚性爱视频免费看| 亚洲日韩少妇一道本视频| 国产丰满少妇久久久精品影院| 91亚洲精品青草| 高清无码国产亚洲| 精品久久9| 成人av动漫在线观看| 久久6热精品99视频| 91影库| 人妻大香蕉| 欧美日韩国产人人| 一二视频神马久久传媒| 夜夜免费视频| 黄片aaaaa一区| 免费看黄片现成| 男人下部插入女人下部| 精品一区二区国产日韩| 九九久久国产精品| 99久久婷婷丁香| 黄色一区三区| 日韩精品中文字幕二区| 97亚洲在线| 久久国色天香香蕉| 高清无码在线播放网站| 呦女网站| 午夜精品久久久久久久男人的天堂 | 亚洲男人天堂网| 黄色免费一级在线毛片| 国产男人又猛又粗又爽| 国产视频一区二区在线观看| 啊啊啊啊,啊啊好多水 | 欧美日韩国第一区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 先锋色眉乱伦资源| 欧美日韩亚洲国产中文永久天天看| 欧美一区二区三区日韩| 丁香五月天婷婷姐| 四虎在线观看网站| www.色吧5.com| 色综合色综合网| 骚女高跟AV在线| 日韩性爱一级片| 激情五月激情综合网| 中文字幕无码不卡啪啪| 五月婷婷六月丁香网址| 欧美人妻精品| 女优免费一区二区永久| 久久久久久性爱片| 校园春色五月天| 美性中文综合网| 亚洲色鬼| 一级特级aaaa毛片免费观看| 蜜臀久久99精品久久久久久成人小说| 午夜福利久久久噜久噜久久综合| 精品欧美А∨无码黑人大荫蒂| 婷婷精品视频| 97色操| 每日更新AV| 精品久操| 亚洲av综合色区无码一| 91精品国产乱码| 丁香五月婷婷基地| av情色影音| 激情综合二| 九九精品无码专区免费| 亚洲中文字幕久久无码精品| 97视频www| 中文字幕二区日韩天堂| 无码国产精品午夜不卡(| 亚洲一区在线观看欧洲| 久久久青青草| 呻吟 欧美 日本 中出| 啊好大好舒服| 亚洲 图片 综合91| 亚洲欧洲网站免费观看| japan日本高清乱xxxx| 久久人妻| 久久久久久久97| 超碰 欧美| 精品国产久久乱码| 97碰在线视频| 亚欧性爱无码| 久久久99免费| 91视频综合| 久久久亚洲| 欧美日综合| 综合熟妇一区二区三区| 中文一区在线日| 久久国产精品熟女人妻| 丰满人妻一区二区三区在线| 暖暖精品二区三区观看| 国产999精品久久久久久| 大奶啊啊好爽| 五月天激情网站| 377p欧洲日本亚洲大胆| 岛国片在线播放| 亚洲一区在线观看欧洲| 亚洲啪啪啪啪视香蕉| 91性高| 亚洲色图91欧美日韩| 日本欧美成人片AAAA| 十八禁成人网站在线观看| 国产亚洲女v在线观看| 精品久久久高清无码| 91精品久久久| 91丨九色丨国产丨人妻在线 | 亚洲AV无码乱码| 啪啪啪精品| 欧美精品一区二区少妇免费A片| 精品无码久久久久久国产浪潮| 一级人妻性爱视频| 亚洲av国产av综合av卡| 亚州综合网| 囯产精品久久久久久久久久二区三区| 婷婷操视频| 色色网91| 嗯啊视频免费在线观看| 免费伦费视频在线观看| 欧美黄色片在线播放| 在线观看AV片| 手机看av网站在线看| 亚洲一区中文字幕一区| 亚洲精品男人的天堂| 日韩99999色| 啊啊啊啊二区好大| 国产诱惑| 日韩欧美女求操每天更新| 99re黄| 国产操逼网站亚洲一级黄色| 一级AV性爱| 日亚韩精品视频二区三| 国产白嫩漂亮KTV在线| 99久久久久| 成人日本精品九区| 韩日自拍| 国产成人www免费人成看片| 九九色婷婷| 91九九九小逼| 青青操日韩| 操婢日韩| 婷婷五月色| 国产久久一区二区| 欧美性暴力猛交| 嫩呦国产一区二区三区AV| 操屄不卡视频| 国产精品午夜成人福利| 福利五区| 欧美夜夜草视频| 日韩性爱电影一区| 久久久9品一区二区三区| 精品二999| 午夜毛片亚洲精品片国产久久久| 天天操人人操狠狠插| 大香蕉av在线| 超碰中文字幕人妻草一区| 亚洲有码第一页| 久草成人| 久久免费99精品久久久久久| 日本岛国黄色网址| 日韩一999精品| 亚洲啪啪啪啪视香蕉| 激情天天视频| 爱射综合| 日韩在线人妻网站| 97这里有精品| 91丨熟女丨丰满熟女| 任我爽视频在线观看| 久久黄色性爱视频| 日产操逼| 中文字幕奈奈美被公侵犯| 超碰国产精品久| 欧美中文字幕一区| 好色美女九七第一页| 精品国产无码中文| 天天影视综合网欧美精品| 91欧美少妇| 日韩AV无码网站| 国产亚洲一黄| 日韩天天综合| 精品一二三区久久AAA片| 神马久久69| 久久精品国产精品一区| 少妇二级| 少妇无码999| 蜜桃臀av在线观看| 色老大| 午夜大香蕉| 久久精品一区一起草| 懂色AV蜜臀无码精品APP | 日本 情色 1区2区3区| 精品国产无码中文| 少妇一区二区三区在线观看| 亚洲一二三四区| 亚洲人成网www| 日韩猛交| 中文字幕精品资源在线| 2019午夜福利视频| 国产 丝袜 欧美中文 另类| 久久精品国产精品| 欧美一级A片在线看视频性色| 男人的天堂在线| 最近2019中文字幕国语免费版| 熟女欧美日韩综合婷婷| 亚洲欧综合另类无码一区| 欧美亚洲丝袜美女电影| 伊人热综合| 国产精品网站免费| 天天草夜夜草高潮片| 鸥美极品| 国产AV久久久蜜爱影集| 日本久久超碰| 欧美黄色片AAAAA| 91日韩网站| 91女在线观看| 人人做,人人操,人人摸| 亚洲熟女偷拍在线观看| 福利在线观看一区二区| 好爽要喷了| 九月婷婷久久| 东北女人高潮视频| 久久久久久午夜男人的天堂| 欧美色九九| 性欧美另类高清| 亚洲 小说 欧美 激情 另类| 国产久久久久影院老熟女| 综合欧美日本三级| 国产9区| 大香蕉色欲AV| 久久人人爽人人爽人人片Ⅴ| 97干在线视频| 91天天综合网,天天综合网| 岛国免费黄色网址| 久久精品国产97欧美精品亚洲 | m欧洲一级午老| 国产精品久久久久久久毛片1| 99re在线| 欧美午夜视频| 天天天天操| 欧美中文字幕日韩在线| 天天操天天看| 久久久一区二区三区四曲免费听| 岛国视频一二三区| 青青操国产夫妻| 国产60区。| 极品尤物在线观看| 欧美一二三级精品在线| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 香蕉视频欧美一卡二卡| 蜜屁Av| 玖玖视频在线资源一区二区三区| A级毛片在线看免费| 亚洲欧美天| 开心六月色| 精品婷婷| 国产欧美成人第一页在线观看 | 久久久久成人蜜桃精品| 8x福利精品第一福利视频导航| 99热99re6国产在线播放| 精品久久久久9999| 亚洲激情网| 在线国产福利网址导航| 亚洲欧洲日本精品中文a∨| 欧美色自拍| 色偷偷色偷偷欧美日韩| 丝袜狠狠草尤物人妻av91| 韩国一级做A片免费的| 日韩99精品视频综合区| 成人性交午夜免费片| 热热色青青草| 日韩美女高潮喷水视频| 九九热精品在线| 99操视频| 精品在线观看视频在线| 亚洲第一精品在线视频| 国产 日韩 欧美一区| 91第一页| 深爱伊人影院| 亚洲国产中文字幕| 又黄又粗又硬又长又大| 蜜桃在线观看一区二区三区 | 免费看污网站| 久久久A∨| 天天操综合网| 九九色综合| 大香蕉手机视频| 成人网站 免费观看| 精品一啪| 97超碰久久| 啪啪综合网| 91一区二匹| 综合 亚洲 欧美| 久久久成人免费av电影| 国产精品久久久九九九| 韩国嫰模上门援交视频| 久久同城AV| 成人黄页| 制服诱惑亚洲一区二区三区在线观看| 青青草黑寡妇男人天堂| 青青草视频导航官网| 亚洲三级网址久久最新| 殴洲老熟女| 国产一区二区久久| 六月婷婷一区二区三区| 亚洲欧美中日韩| 97在线国产精品| 大香蕉在线视频15| 啊好大好舒服| 丰满精品人妻少妇久久字幕| 久久久国产精品亚洲精品| 强奸熟女一区二区三区| 日韩天天本| 吊色| 97极品无码| 农村女一级毛卡片| 亚洲性爱成人| 久久精品中文字幕无码l| 亚洲精品aa久久伊人| 精品一区二区啪啪啪| 青青草在线成人视频| 国产一区麻豆免费观看| 大香伊人在线一区| 无码人妻精品一区二区三区九九| 欧美第一页| 日韩天天综合| 国产成人欧美精品在线| 91艹B视频| 97人人模人人爽人人| 亚洲天堂男人在线| 亚洲色图国产另类| 好爽要喷了| 欧洲在线性爱视频| 美中日韩无码| 啪啪一区| 操逼999| 亚洲第一男人天堂| 精品视频一二三中文| 无码精品久久久天天影视| 大香蕉一区二区在线观看.| 国产懂色精品国产av| 五月天色色网站| 日韩天堂av电影在线观看| 亚洲精品一卡二卡三卡福利视频网站| 久久久久熟女| 国产大陆天天艹| 色综合婷婷| 青青伊人久久| 久久色精品视频在线| 国产AV激情无码久久无码| 久久黄黄| 青青草久久在线| 久久性爱视频99| 天天色播亚洲综合网站| 免费视频在线观看啊啊啊啊啊| 加勒比性爱成人在线| 国产午夜在线观看| 大香蕉九九| 美日韩在线不卡人妻| 青青青在线高清视频在线一二三四区| 中日亚韩免费视频| 校园春色制服丝袜中文字亚洲| 久久精品夜色国产亚洲AV| 亚洲风情综合网| 99在线免费公开视频| 日本三级黄页| 欧美骚少妇| 上海一级黄片| 插入综合网| 精品无码一区二区三区| 成人亚欧免费视频| 最新一二三区视频| 午夜毛片亚洲精品片国产久久久| 免费看欧美美女黄色大片| 欧美一级欧美三级在线观看| 操熟女91| 欧美亚洲色图另类国产| 国产精品亚洲四五区在线观看| 99999国产| 欧美性爱在线无码| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 乱伦av国产| 日韩伦理久 久久 清纯| 97干在线视频| 久久人妻办公室视频| 日日夜夜草草草| 色在线视频导航| 欧美 中文字幕 一区| 蜜臀99久久国产| 日本三级中国三级99人妇网站| 国产夫妻性生活视频| 伦伦成年午夜免费视频| 污污污8888| 国产成人自拍视频视频| 嗯阿好爽好紧| 18禁在线视频| 久久综合日韩亚洲欧美| 91伊人| 精品久久久久瑟瑟| 精品亚洲| 亚洲AV无码| 东京热一区二区中文字幕| 97在线免费看| 大肥女高潮bbwbbwhd视频| 男人的天堂亚洲| 日本一区二区不卡| 在线啊啊啊啊| 2024黄色视频| 伊人久久久日韩一区| 午夜αv| 97视频7| 奇米狠999| 欧美日韩精品青青| 99精品无码| 亚洲中文字幕精品一区| 97亚洲国产影视| 91欧洲国产成人久久精品网站| 东北老女人的激情视频| 欧美性生活免费网| 97超碰这里只有精品| 欧美成人黄网色网站| 先锋女优在线观看视频| 97网址www| 丰满美女一级毛片在线播放| 偷拍综合亚洲| 欧美v亚洲v日韩v最新在线二区| 99精品综合久久久久五月天| 蜜桃成人1区2区3区| 永久免费观看的毛片的网站| 国产精品久久9| 在线看片国产精品每日更新| 9997se| 嗯嗯啊啊视频在线看| 女欧美一区二三区| 91影视亚洲| 丁香六月婷婷综合| 成人毛片免费| 久九9精品| 中文字幕日韩综合| 亚洲97成人在线观看| 热的中文 热的有码 热的国产| 黄色成人网久久久久久| 欧美熟女丝袜| 五月天综合网| 性暴力欧美猛交在线直播| 久久久熟女一区| 一区二区三区日韩欧美| 日本3级一区二区免费 | 蜜桃久久综合视频| 加勒比综合| 亚洲人91| 大香蕉伊人一区在线观看| 美中日韩无码| 国产91av在线播放| 蜜桃久久一区| 你草精品在线视频| 天天综合网站| 亚洲免费在线探花| 精精品人妻一区二区三区| 超碰97亚洲区| 欧美操人| 国产精品黄色三级av| 91色拍| 啊v在线观看视频| 九九国产热| 伊人色综合超碰| 欧美日韩丝袜| 92性色国产午夜福利在线661| 91老司机精品| 亚洲91射| 伊人网av| 把腿张开老子CAO烂你| 国产一区二区三区免费视频在性观看 | 精品一区二区三区四区外站| 97久久精品亚洲| 天天色综亚洲91污| 亚洲欧美综合区自拍另类| 亚洲天堂男人网| 日韩青久久| 天天日熟妇| 人妻少妇精品久久久| 制度丝袜99| 加勒比五月天| 女人的天堂大香蕉网| 天堂8在线新版官网| 欧美一区二区三区互相| 一级毛片电影免费看| 日韩97视频| 夜草欧美| 成人十八禁日韩欧美一二三| 99热 按摩 日韩| 97内射偷拍| 少妇国产不卡| 怡红院怡春院| 中文字暮97| 爽爽淫人网| 超碰超碰95| 日本超碰在线国产一区| 青青草中文-久久青草精品一区二区三| 黄aaaaaaaaaaaaaaaaaa色网站| 成人性爱av.com| 国产精品一级片在线看| 日韩AV熟女乱伦| 操逼片国产| 激情接吻视频久久久久久| 色官网在线| 成年人黄色小视频网站| 日韩在线性爱免费视频|