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

ARTICLE DETAIL

資訊詳情

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

RTP H.264 保存為 .h264:拆包重組與 Annex-B 寫盤避坑

RTP H.264 保存為 .h264:拆包重組與 Annex-B 寫盤避坑 簡(jiǎn)介這份代碼包聚焦RTP承載H264的解析與落盤面向具備C和網(wǎng)絡(luò)編程基礎(chǔ)、正在做監(jiān)控視頻、流媒體轉(zhuǎn)發(fā)或UDP實(shí)時(shí)取流的開發(fā)者可用于把攝像頭RTP數(shù)據(jù)重組為可播放的H264文件。壓縮包共14個(gè)文件以6個(gè)h頭文件和4個(gè)cpp源文件為主體另含Visual Studio工程、篩選器、用戶配置及說(shuō)明文檔整體約9KB體量輕便便于導(dǎo)入IDE查閱和調(diào)試。已有1032人學(xué)習(xí)下載適合作為協(xié)議解析與工程實(shí)現(xiàn)的對(duì)照參考。代碼圍繞服務(wù)端接收與公共工具模塊展開涵蓋RTP包頭解析、NAL單元邊界識(shí)別與重組、UDP數(shù)據(jù)接收以及H264 Annex B寫入等環(huán)節(jié)讀者可據(jù)此理解分包處理、順序恢復(fù)與丟失標(biāo)記修復(fù)思路并在此基礎(chǔ)上改造成自己的取流落盤工具。對(duì)于需要排查花屏、丟包與時(shí)間戳錯(cuò)位問題的讀者也能從代碼結(jié)構(gòu)中獲取可復(fù)用的處理線索。1. RTP 數(shù)據(jù)保存為 .h264 文件先分清收到的是流還是幀把 UDP 上的 rtp h264 數(shù)據(jù)保存成一個(gè)能雙擊播放的 .h264 文件看起來(lái)只是收包加寫文件實(shí)際最容易出問題的地方在載荷層RTP 頭、FU-A 分片、STAP-A 聚合、Annex-B 起始碼任何一處對(duì)不上文件就會(huì)“有體積、沒畫面”。這份資源適合兩類人一是做 IPC、錄播、無(wú)線圖傳的嵌入式或后端工程師手里有 RTP 流但需要一個(gè)最小可用的保存工具二是剛接觸 H.264 封裝、想從抓包一路走到可播放裸流的學(xué)習(xí)者。下面按“拆包、重組、寫盤、驗(yàn)收”的順序把可參考的腳本和實(shí)際踩過的坑一次講清。2. 拆 RTP 載荷12 字節(jié)頭、三種封裝與 NAL 邊界RTP 收到的是“包”H.264 解碼器要的是“NAL 單元”。中間這層轉(zhuǎn)換并不復(fù)雜但字段含義必須摳準(zhǔn)。我見過最常見的誤操作是把recvfrom收到的整段 buffer 直接追加到文件末尾結(jié)果文件里混進(jìn)了 RTP 頭、FU-A 分片頭播放器只能靠運(yùn)氣解出第一幀。2.1 RTP 固定頭里真正要用的四個(gè)字段RTP 固定頭最少 12 字節(jié)后面還可能跟 CSRC 列表、擴(kuò)展頭、填充字節(jié)。寫保存工具時(shí)不需要實(shí)現(xiàn)完整協(xié)議棧但下面幾個(gè)字段必須讀對(duì)字段位寬實(shí)際用途版本 V2 bit必須為 2不是 2 直接丟包填充 P1 bit末尾有填充最后一個(gè)字節(jié)是填充長(zhǎng)度擴(kuò)展 X1 bit固定頭后有擴(kuò)展長(zhǎng)度按 32 位字計(jì)算CSRC 計(jì)數(shù) CC4 bit固定頭實(shí)際長(zhǎng)度 12 4×CC標(biāo)記 M1 bit常用來(lái)標(biāo)一幀的最后一個(gè)包但不能完全依賴載荷類型 PT7 bit動(dòng)態(tài)類型 96–127 常見要和 SDP 對(duì)上序列號(hào)16 bit判丟包、亂序回繞按 16 位處理時(shí)間戳32 bit同一幀內(nèi)相同幀間遞增H.264 常見 90 kHzSSRC32 bit同一端口多路流時(shí)用來(lái)過濾計(jì)算載荷偏移時(shí)先算12 cc * 4如果X1再讀擴(kuò)展頭前 4 個(gè)字節(jié)其中后 2 字節(jié)是擴(kuò)展長(zhǎng)度單位是 32 位字所以還要加4 ext_len * 4。如果P1最后一個(gè)字節(jié)是填充長(zhǎng)度載荷末尾要減掉。這個(gè)偏移算錯(cuò)后面所有 NAL 解析都會(huì)錯(cuò)位。序列號(hào)是 16 位無(wú)符號(hào)數(shù)從 65535 回到 0 是正常回繞。判斷丟包不要寫seq ! last_seq 1而要用((seq - last_seq) 0xFFFF) ! 1。時(shí)間戳也不是毫秒H.264 常用 90 kHz 時(shí)鐘同一幀的多個(gè)分片時(shí)間戳相同換幀才遞增。標(biāo)記位 M 在 H.264 里通常表示一個(gè)接入單元結(jié)束但有些發(fā)送端按切片設(shè)置不能把它當(dāng)成唯一的幀邊界。2.2 單 NAL、STAP-A、FU-A三種封裝怎么識(shí)別H.264 的 RTP 載荷格式由 NAL 頭低 5 位決定常見就三類nal_type名稱處理方式1–23單 NAL直接加起始碼寫文件24STAP-A一個(gè) RTP 里聚合多個(gè) NAL按 2 字節(jié)長(zhǎng)度切25STAP-B帶 DON少見不要按 STAP-A 硬解26MTAP16交織封裝少見27MTAP24交織封裝少見28FU-A分片首字節(jié)是指示第二字節(jié)含 S/E/類型29FU-B帶 DON 的分片少見單 NAL 最好處理載荷本身就是完整 NAL前面補(bǔ)00 00 00 01就能寫。STAP-A 的載荷第 1 字節(jié)是聚合頭后面重復(fù)“2 字節(jié)大端長(zhǎng)度 NAL 數(shù)據(jù)”要循環(huán)切完。FU-A 最容易寫錯(cuò)第 1 字節(jié)的低 5 位是 28高 3 位是原始 NAL 的 F 和 NRI第 2 字節(jié)最高位 S 表示分片開始次高位 E 表示分片結(jié)束低 5 位才是原始 NAL 類型。重組時(shí)原始 NAL 頭是(fu_ind 0xE0) | (fu_hdr 0x1F)不是直接把兩個(gè)字節(jié)都塞進(jìn)去。FU-A 分片只在第一片寫一次 NAL 頭中間分片只追加數(shù)據(jù)最后一片收齊后整體加起始碼寫文件。很多人給每個(gè)分片都加起始碼解碼器會(huì)把每個(gè)分片當(dāng)成獨(dú)立 NAL第一幀之后基本就廢了。STAP-A 里如果帶 SPS/PPS也要按順序?qū)懗鰜?lái)不要只取第一個(gè) NAL。2.3 用 Python 解出第一層UDP 收包與 RTP 頭解析先不寫文件只把 RTP 頭解析出來(lái)打印確認(rèn)序列號(hào)、時(shí)間戳、標(biāo)記位和 NAL 類型符合預(yù)期。這一步花十分鐘后面能省掉大量“文件為什么不能播”的排查。import socket import struct def parse_rtp(pkt): if len(pkt) 12: return None b0, b1 pkt[0], pkt[1] version b0 6 if version ! 2: return None padding (b0 5) 0x01 extension (b0 4) 0x01 cc b0 0x0F marker (b1 7) 0x01 pt b1 0x7F seq, ts, ssrc struct.unpack(!HII, pkt[2:12]) offset 12 cc * 4 if extension: if len(pkt) offset 4: return None ext_len struct.unpack(!H, pkt[offset 2:offset 4])[0] offset 4 ext_len * 4 end len(pkt) if padding: pad_len pkt[-1] end - pad_len payload pkt[offset:end] if not payload: return None nal_type payload[0] 0x1F return { seq: seq, ts: ts, ssrc: ssrc, pt: pt, marker: marker, nal_type: nal_type, payload: payload, } sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 4 * 1024 * 1024) sock.bind((0.0.0.0, 5004)) while True: pkt, addr sock.recvfrom(65535) info parse_rtp(pkt) if not info: continue print( info[seq], info[ts], info[marker], info[pt], info[nal_type], len(info[payload]) )這段代碼的重點(diǎn)不在print而在三個(gè)邊界cc決定固定頭后面有沒有 CSRCextension決定要不要跳過擴(kuò)展頭padding決定末尾要不要減掉填充。少算一個(gè)payload[0] 0x1F拿到的就不是 NAL 類型。SO_RCVBUF設(shè)在bind之前才生效Linux 下內(nèi)核會(huì)把設(shè)置值翻倍實(shí)際可用大小可以用getsockopt再看一眼。跑起來(lái)后觀察輸出如果nal_type長(zhǎng)期是 28說(shuō)明這路流大量使用 FU-A 分片如果出現(xiàn) 24說(shuō)明有 STAP-A 聚合如果一直是 1–23說(shuō)明是單 NAL 打包。marker1的包通常是一幀的最后一個(gè)包但先別急著依賴它下一步寫文件時(shí)還要結(jié)合時(shí)間戳變化。3. 寫 Annex-B起始碼、SPS/PPS 與寫盤順序RTP 拆出來(lái)的 NAL 不能直接拼成.h264。裸流文件需要 Annex-B 格式每個(gè) NAL 前面有起始碼而且 SPS/PPS 必須出現(xiàn)在 IDR 之前。很多“文件有大小、播放器不識(shí)別”的問題根源不是收包而是寫盤格式不對(duì)。3.1 裸流為什么必須是 Annex-BH.264 有兩種常見封裝Annex-B 用00 00 00 01或00 00 01分隔 NALAVCC 用 4 字節(jié)大端長(zhǎng)度前綴。.h264裸流一般按 Annex-B 處理.mp4里的視頻軌才用長(zhǎng)度前綴。你把 AVCC 格式直接寫成.h264ffplay 可能報(bào)“Invalid NAL unit size”因?yàn)榻獯a器把長(zhǎng)度字段當(dāng)成起始碼在找。起始碼用 4 字節(jié)更穩(wěn)00 00 00 01。3 字節(jié)也合法但和某些 NAL 數(shù)據(jù)開頭的00 00 01容易混淆調(diào)試時(shí)不好判斷。寫文件時(shí)統(tǒng)一用 4 字節(jié)讀的時(shí)候兩種都認(rèn)能減少一半玄學(xué)問題。還有一個(gè)細(xì)節(jié)不要在每個(gè) RTP 包前加起始碼而要在每個(gè)完整 NAL 前加。單 NAL 包好辦FU-A 必須等最后一片收齊再寫STAP-A 要拆成多個(gè) NAL 分別寫。這個(gè)順序錯(cuò)了文件看起來(lái)很大實(shí)際解碼器只能認(rèn)出第一幀。3.2 SPS/PPS 從哪來(lái)SDP、帶內(nèi)與首包緩存SPS/PPS 是解碼器的“說(shuō)明書”沒有它們IDR 幀也解不出來(lái)。常見來(lái)源有三個(gè)SDP 里的sprop-parameter-sets。例如afmtp:96 packetization-mode1;profile-level-id42e01f;sprop-parameter-setsZ0LgH...,aM48g...逗號(hào)前是 SPS 的 Base64逗號(hào)后是 PPS。帶內(nèi)發(fā)送。有些編碼器在 IDR 前先發(fā) SPS/PPSRTP 里能看到nal_type7和nal_type8。抓包工具里手動(dòng)提取。只有前兩種都拿不到時(shí)才用容易抄錯(cuò)。從 SDP 解參數(shù)集可以這樣寫import base64 # 從 SDP 的 fmtp 行里取逗號(hào)前后分別是 SPS 和 PPS 的 Base64 sprop base64_sps,base64_pps sps_b64, pps_b64 sprop.split(,) sps base64.b64decode(sps_b64) pps base64.b64decode(pps_b64) with open(out.h264, wb) as f: f.write(b\x00\x00\x00\x01 sps) f.write(b\x00\x00\x00\x01 pps)如果 SDP 里沒有sprop-parameter-sets就在收流時(shí)緩存nal_type7和nal_type8等第一個(gè) IDR 到來(lái)前補(bǔ)寫。帶內(nèi)參數(shù)集可能會(huì)變比如分辨率切換遇到新的 SPS/PPS 要重新寫不要只認(rèn)第一次。提示profile-level-id只能說(shuō)明檔次和級(jí)別不能代替 SPS/PPS。只寫這個(gè)字段解碼器仍然沒有完整的參數(shù)集。3.3 完整的收流寫文件腳本下面這個(gè)腳本把 UDP 收包、RTP 解析、FU-A 重組、STAP-A 拆分、Annex-B 寫盤串在一起。它不依賴第三方庫(kù)適合先跑通最小鏈路再按項(xiàng)目需要加隊(duì)列、切片和重連。import socket import struct import sys START_CODE b\x00\x00\x00\x01 class H264Writer: def __init__(self, path, spsNone, ppsNone): self.f open(path, wb) self.sps sps self.pps pps # 如果 SDP 已經(jīng)給了參數(shù)集先寫文件頭 if self.sps and self.pps: self.f.write(START_CODE self.sps) self.f.write(START_CODE self.pps) self.param_written True else: self.param_written False self.fu_buf None self.last_seq None def _write_nal(self, nal): if not nal: return nal_type nal[0] 0x1F if nal_type 7: self.sps nal elif nal_type 8: self.pps nal # 沒有 SDP 參數(shù)集時(shí)在第一個(gè) IDR 前補(bǔ)寫緩存的 SPS/PPS if nal_type 5 and not self.param_written and self.sps and self.pps: self.f.write(START_CODE self.sps) self.f.write(START_CODE self.pps) self.param_written True self.f.write(START_CODE nal) # 帶內(nèi)收到 SPS/PPS 也算已寫參數(shù)集 if nal_type in (7, 8) and self.sps and self.pps: self.param_written True def push(self, pkt): if len(pkt) 12: return b0, b1 pkt[0], pkt[1] if (b0 6) ! 2: return cc b0 0x0F extension (b0 4) 0x01 padding (b0 5) 0x01 marker (b1 7) 0x01 seq, ts, ssrc struct.unpack(!HII, pkt[2:12]) offset 12 cc * 4 if extension: if len(pkt) offset 4: return ext_len struct.unpack(!H, pkt[offset 2:offset 4])[0] offset 4 ext_len * 4 end len(pkt) if padding: end - pkt[-1] payload pkt[offset:end] if not payload: return # 序列號(hào)不連續(xù)只記錄不在這里直接丟流 if self.last_seq is not None: gap (seq - self.last_seq) 0xFFFF if gap ! 1: print(fseq gap: {self.last_seq} - {seq}, gap{gap}, filesys.stderr) self.last_seq seq nal_type payload[0] 0x1F if nal_type 28: # FU-A fu_ind payload[0] fu_hdr payload[1] start (fu_hdr 7) 0x01 end_flag (fu_hdr 6) 0x01 real_type fu_hdr 0x1F if start: self.fu_buf bytearray() # 重建原始 NAL 頭F/NRI 來(lái)自 fu_ind類型來(lái)自 fu_hdr self.fu_buf.append((fu_ind 0xE0) | real_type) if self.fu_buf is None: return self.fu_buf.extend(payload[2:]) if end_flag: self._write_nal(bytes(self.fu_buf)) self.fu_buf None elif nal_type 24: # STAP-A i 1 while i 2 len(payload): size struct.unpack(!H, payload[i:i 2])[0] i 2 nal payload[i:i size] i size if nal: self._write_nal(nal) elif 1 nal_type 23: self._write_nal(payload) if marker: self.f.flush() def close(self): # 不完整的 FU-A 直接丟棄避免寫壞幀 self.fu_buf None self.f.close() if __name__ __main__: listen_ip 0.0.0.0 listen_port 5004 out_path out.h264 sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 8 * 1024 * 1024) sock.bind((listen_ip, listen_port)) # 參數(shù)集可從 SDP 解出來(lái)后傳進(jìn)來(lái)這里留空表示依賴帶內(nèi) SPS/PPS writer H264Writer(out_path) print(flistening {listen_ip}:{listen_port} - {out_path}) try: while True: pkt, _ sock.recvfrom(65535) writer.push(pkt) except KeyboardInterrupt: pass finally: writer.close() sock.close()代碼里的參數(shù)不多但每個(gè)都影響結(jié)果參數(shù)作用建議listen_ip監(jiān)聽網(wǎng)卡本機(jī)測(cè)試用0.0.0.0生產(chǎn)可綁定具體網(wǎng)卡listen_portRTP 端口常用偶數(shù)端口5004 只是示例SO_RCVBUF內(nèi)核收包緩沖2–8 MB先設(shè)再 bindout_path輸出裸流先用短文件名避免路徑權(quán)限問題sps/pps參數(shù)集能從 SDP 拿就從 SDP 拿拿不到靠帶內(nèi)_write_nal里做了兩件事遇到 SPS/PPS 就緩存遇到 IDR 且參數(shù)集還沒寫就補(bǔ)寫。這樣即使發(fā)送端沒有在 IDR 前發(fā)參數(shù)集只要之前收到過 SPS/PPS文件頭也能補(bǔ)上。STAP-A 分支按 2 字節(jié)長(zhǎng)度循環(huán)注意i 2和i size不能漏否則會(huì)死循環(huán)或切出錯(cuò)誤 NAL。FU-A 分支只在start1時(shí)新建 bufferend1時(shí)寫盤中間分片只追加數(shù)據(jù)。marker1時(shí) flush是為了讓文件在錄制過程中也能被播放器讀到完整幀不是必須但調(diào)試方便。4. 避坑與排查文件有大小卻沒畫面的五種現(xiàn)場(chǎng)4.1 文件幾十 MB播放器只顯示第一幀現(xiàn)象.h264文件體積不小ffplay 能出第一幀之后黑屏或卡住。原因最常見的是把 RTP 頭一起寫進(jìn)了文件或者給每個(gè) FU-A 分片都加了起始碼。解碼器在第一幀碰巧能同步后面讀到的是“起始碼 FU-A 指示字節(jié) 分片數(shù)據(jù)”NAL 類型對(duì)不上直接停止。解決用十六進(jìn)制工具看文件頭正常應(yīng)該是00 00 00 01 67或00 00 00 01 65開頭。如果看到80 60這類 RTP 頭字節(jié)說(shuō)明偏移算錯(cuò)如果每個(gè)分片前都有00 00 00 01把起始碼移到 FU-A 重組完成之后。4.2 畫面下半部綠塊幾秒后花屏現(xiàn)象能播但畫面局部綠塊、馬賽克運(yùn)動(dòng)場(chǎng)景更明顯。原因FU-A 丟包或亂序。一個(gè) FU-A 幀少一個(gè)分片整幀數(shù)據(jù)不完整如果腳本還把不完整的分片寫進(jìn)文件解碼器會(huì)繼續(xù)用壞幀預(yù)測(cè)后面幾幀也跟著花。解決按序列號(hào)做小窗口重排窗口不用大2–4 個(gè)包足夠發(fā)現(xiàn)丟包時(shí)當(dāng)前 FU-A 直接丟棄等到下一個(gè)start1或下一個(gè) IDR 再繼續(xù)寫。寧可少一幀不要把半幀寫進(jìn)文件。日志里記錄seq gap方便判斷是網(wǎng)絡(luò)丟包還是處理太慢。4.3 ffplay 報(bào) Invalid NAL unit size 或直接退出現(xiàn)象ffplay 打不開文件ffprobe 報(bào) “Invalid data found when processing input”。原因?qū)懗闪?AVCC 長(zhǎng)度前綴或者起始碼字節(jié)序?qū)戝e(cuò)。比如把00 00 00 01寫成01 00 00 00或者把 NAL 長(zhǎng)度當(dāng)成起始碼寫進(jìn)去。解決確認(rèn)每個(gè) NAL 前是00 00 00 01不是 4 字節(jié)長(zhǎng)度。用xxd -l 64 out.h264看一眼前幾個(gè)字節(jié)應(yīng)該是0000 0001 67或0000 0001 68。如果是0000 001f 67這種說(shuō)明寫的是長(zhǎng)度字段。4.4 收流幾分鐘后開始丟包文件時(shí)間軸斷裂現(xiàn)象剛開始正常幾分鐘后花屏增多日志里seq gap密集出現(xiàn)。原因recvfrom處理太慢或者收包循環(huán)里做了阻塞寫盤、打印、加鎖。UDP 沒有重傳內(nèi)核緩沖區(qū)一滿就丟包。SO_RCVBUF設(shè)得太小也會(huì)提前丟。解決收包線程只做recvfrom和入隊(duì)寫盤放到單獨(dú)線程減少收包循環(huán)里的printSO_RCVBUF調(diào)到 4–8 MB并在bind之前設(shè)置。如果還丟檢查網(wǎng)卡中斷和 CPU 占用不要先懷疑協(xié)議。4.5 同一端口換一路流文件里混進(jìn)別的畫面現(xiàn)象一個(gè)端口上跑多路 RTP保存出來(lái)的文件畫面跳來(lái)跳去。原因沒有按 SSRC 或載荷類型過濾。RTP 允許同一端口多個(gè) SSRC動(dòng)態(tài) PT 也可能不同。腳本如果見包就收自然會(huì)把兩路流拼在一起。解決從 SDP 或首包確定目標(biāo) SSRC后續(xù)只處理相同 SSRC 的包同時(shí)校驗(yàn) PT 是否在預(yù)期范圍。多路流最好分端口實(shí)在要復(fù)用就在腳本里加過濾條件別等文件壞了再回頭查。5. 驗(yàn)收用 ffprobe 和 ffmpeg 把“能播”拆成可檢查項(xiàng)文件寫完不等于任務(wù)完成。我一般會(huì)跑三步驗(yàn)收f(shuō)fprobe 看流參數(shù)ffmpeg 解碼看錯(cuò)誤抓包對(duì)照看包數(shù)。三步都過再交給別人用。5.1 ffprobe 看 profile、分辨率、幀數(shù)先看基礎(chǔ)信息ffprobe -v error -select_streams v:0 \ -show_entries streamcodec_name,profile,width,height,pix_fmt,level \ -of defaultnw1 out.h264正常輸出會(huì)包含codec_nameh264、profileHigh或Constrained Baseline、width/height、pix_fmtyuv420p。如果 ffprobe 直接報(bào)錯(cuò)優(yōu)先查起始碼和 SPS/PPS如果 profile 顯示unknown說(shuō)明參數(shù)集沒寫對(duì)。再看幀數(shù)ffprobe -v error -count_frames -select_streams v:0 \ -show_entries streamnb_read_frames -of csvp0 out.h264這個(gè)數(shù)字要和發(fā)送端大致對(duì)得上。如果只有 1 幀說(shuō)明 IDR 之后的數(shù)據(jù)沒被識(shí)別如果幀數(shù)明顯偏少回查 FU-A 重組和丟包處理。裸流沒有容器時(shí)間戳ffprobe 的幀率是猜的所以不要拿它判斷實(shí)際幀率幀數(shù)更有參考價(jià)值。5.2 ffmpeg 轉(zhuǎn) mp4 與解碼核對(duì)把裸流轉(zhuǎn)成 mp4能快速判斷是文件問題還是播放器問題ffmpeg -fflags genpts -r 25 -i out.h264 -c copy out.mp4-r 25是給裸流一個(gè)輸入幀率因?yàn)?h264本身不攜帶幀率。實(shí)際幀率不是 25 就換成對(duì)應(yīng)的值否則 mp4 的時(shí)長(zhǎng)會(huì)不準(zhǔn)。-c copy不重新編碼只換容器能播說(shuō)明碼流基本正常不能播再回頭查 Annex-B。再做一次完整解碼專門看錯(cuò)誤輸出ffmpeg -v error -i out.h264 -f null -這條命令不生成文件只解碼。如果終端不斷刷 “error while decoding” 或 “no frame”說(shuō)明碼流有壞幀或參數(shù)集缺失。少量錯(cuò)誤可能是丟包導(dǎo)致大量錯(cuò)誤就要查重組邏輯。檢查項(xiàng)命令或觀察點(diǎn)異常含義文件頭xxd -l 32 out.h264不是00000001開頭起始碼錯(cuò)流參數(shù)ffprobe 看 profile/分辨率unknown 或缺失SPS/PPS 沒寫幀數(shù)-count_frames只有 1 幀F(xiàn)U-A 重組或 IDR 丟失解碼錯(cuò)誤ffmpeg -v error大量報(bào)錯(cuò)壞幀或丟包容器轉(zhuǎn)換轉(zhuǎn) mp4 后播放裸流能播、mp4 不能播查時(shí)間戳或幀率5.3 抓包對(duì)照用 tshark 驗(yàn)證 RTP 包數(shù)有 pcap 的話直接對(duì)比 RTP 序列號(hào)和標(biāo)記位tshark -r rtp.pcap -Y rtp \ -T fields -e rtp.seq -e rtp.timestamp -e rtp.marker -e rtp.p_type \ | head -n 20看三件事序列號(hào)是否連續(xù)時(shí)間戳是否按幀遞增標(biāo)記位是否在預(yù)期位置。序列號(hào)缺口和腳本日志里的seq gap對(duì)得上說(shuō)明丟包發(fā)生在網(wǎng)絡(luò)或內(nèi)核緩沖區(qū)對(duì)不上可能是腳本解析偏移錯(cuò)了。rtp.p_type用來(lái)確認(rèn)動(dòng)態(tài)載荷類型別把 96 和 97 兩路流混在一起。6. 把腳本變成工具丟包、亂序與長(zhǎng)流的三個(gè)硬約束最小腳本跑通之后真正決定能不能長(zhǎng)期用的是三個(gè)約束丟包策略、亂序窗口、長(zhǎng)流切片。這三個(gè)點(diǎn)不處理錄十分鐘可能沒問題錄兩小時(shí)一定出狀況。約束常見做法代價(jià)丟包丟到下一個(gè) IDR或記錄空洞繼續(xù)寫前者少一段畫面后者可能花屏亂序2–4 個(gè)包的小重排窗口延遲增加幾毫秒長(zhǎng)流按大小或時(shí)長(zhǎng)切片每片重寫 SPS/PPS文件變多但可定位、可恢復(fù)丟包策略沒有標(biāo)準(zhǔn)答案。做監(jiān)控回放我一般選擇“丟到下一個(gè) IDR”因?yàn)榛ㄆ翈M(jìn)了文件后面幾秒都跟著壞回放體驗(yàn)更差做鏈路質(zhì)量分析反而要保留空洞并記錄序列號(hào)方便定位是哪一段網(wǎng)絡(luò)出了問題。關(guān)鍵是別默默把半幀寫進(jìn)去至少打一條日志。亂序窗口不要開太大。RTP 走 UDP真正亂序通常發(fā)生在幾包之內(nèi)2–4 個(gè)包足夠窗口太大收包線程要等延遲上來(lái)實(shí)時(shí)性就沒了。實(shí)現(xiàn)上可以用一個(gè)按序列號(hào)排序的小字典收到連續(xù)包就往上寫超時(shí)或缺口太大就跳過。長(zhǎng)流切片建議按 200–500 MB 或 10–30 分鐘切一次每片重新寫 SPS/PPS。這樣即使某一片損壞其他片還能單獨(dú)播。切片時(shí)注意不要在 FU-A 中間切等一個(gè)完整幀寫完再換文件。文件名帶上序號(hào)或時(shí)間后面排查會(huì)輕松很多。從那以后我每次接一路新流都先跑一遍 ffprobe 看 profile 和分辨率再抽前 200 幀做完整解碼最后才把保存腳本掛到長(zhǎng)時(shí)間任務(wù)上。這個(gè)習(xí)慣不高級(jí)但能擋住大部分“文件有大小、畫面不對(duì)”的返工。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
caop在线| 五月香蕉婷婷| www.AV在线| 六月婷婷狠狠色在线观看| 色综合婷婷| 开心色五月天久久久久久久| 六月婷婷网| 色五月激情五月天| 婷婷五月天成人动漫| 99色视频| 99热精品6| 国产真实乱了老女人视频| 狠狠久久婷五月综合色| 91丁香五月| 丁香色综合| 色私五月婷婷| 国产成人综合亚洲| 色色色地址| 亚洲综合在线播放| www99精品| a色色片| 人人摸人人干| 九九久热| 婷婷伊人五月| 激情五月激情综合俺也去婷婷小说| 99在线精品观看99| 99热99精品在线观看| 好叼操在线观看| 玖玖99福利| 无码免费人妻A片AAA毛片西瓜| 99热在线观看| 久8色色| 午夜大香蕉| 色婷婷成人做爰A片免费看网站| 美女激情婷婷| 五月丁香色婷婷基地| 99精品久久久久久久久| www.99热这里只有精品| 激情小说五月欧美亚洲丁香| 99精品国产在热久久| 久久视频九九视频| 久久最新色| 精品婷婷| 欧美经典片免费观看大全| 色99视频| 五月花婷婷丁香| 激情亚洲婷婷| 9久久精品| 97操碰免费视频| 欧美肉大捧一进一出免费视频| www.jiujiujiu| 全网最新网黄大秀直播高清,主播国产录屏在线| 天天操天天国产三级片处女学生妹| 久久99激情| 丁香婷婷视频| 亚洲激情婷婷| 777色色色| 99色热视频| 久这里只有精品| 日本a片网址| 丁香五月91| www.91av.com| 99在线小视频| 天天日P天天射P| 丁香五月婷婷社区| 精品香蕉99久久久久网站| 婷婷激情在线| 另类视在线| 2w在线视频| av九九| 丁香色影院| 婷婷五月天毛片| 五月丁香色停停啪啪啪| 99热欧美精品| xxxx五月| 色国产五月| 五月开心啪啪| 9久热免费视频99| 久久网日本| 一级二级色大片| 色婷婷成人五月| 99精品视频免费| 丁香色婷婷五月天| www.狠狠操| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 五月天天爽| 99热热九九| 九九黄色网| 激情综合网丁香| 久99综合婷婷| 免费观看亚洲AV片| a网站免费观看| 开心五月婷婷五月| 亚洲色网址| 五月成人天| 91干在线| www,setingting| 青青草网武则天| 婷婷丁香91| 欧美精品啪啪| 逼里香不卡| 激情婷婷五月| 久久婷婷五月综合网| 中日韩美欧成人一区二区精品在线| 色yeye欧美| 91色综合网| 天天综合五月| 久色激情| 少妇高潮呻吟A片免费看软件| 丁香五月天堂亚洲社区| av在线中文| 五月婷婷欧美| nvrentiantang av| 婷婷五月激情视频网| 久久婷婷五月综合97色一本| 9久久久久| 伊人综合网站| 99视频35精品视频在线观看| 色播五月婷婷五月| 99A片| 99综合| av中文网站| 亚洲综合色网| 欧美日韩中国| 2025年最新亚洲在线欧美| 狠狠操狠狠操AV| 少妇搡BBBB搡BBB搡毛茸茸| 1024婷婷综合久久五月天| 色婷婷成人在线| 丁香婷婷91在线观看视频| 激情99| 五月天婷婷激情六月久久 | 五月婷婷激情综合在线| 99热在线精品观看| 色色色9 9 9| 中文字幕av在线| 中文字幕性爱丰满| 99这里| 激情人妻蜜夜系列区| 99久久精彩视频。| 婷婷激情视频| 伊人激情啪啪| 狠狠干婷婷| 久久人五月| 伊人狠狠综合| 激情影院69| 干婷婷五月天| 国产SUV精品一区二区883| 操久久网| 啪啪婷婷五月天激情| 日操夜操天天操不卡| 天天操夜夜夜夜爽| 最近中文字幕2019视频1| 久久久久9999| 丁香五月激情综合| 开心五月婷婷在线| 婷婷五月天最新网址| 天色综合网站| 伊人久热91网| 日日夜夜爽| 婷色天堂| 亚洲天天| 99亚洲天堂| 久综合色| 99精品色色| 色色色网站| 99视频网址| 99热12| 丁香六月婷婷久久综合| 婷香五月网在线| 九九这里只有精品| 欧美性色五月天| 亚洲宗合激情| 激情九色| 婷婷六月丁香色| 色婷婷www| 青青.com| 99丁香婷婷综合网| 99色免费视频| 狠狠色五月| 超碰在线精品| 五月开心婷婷| 五月婷婷啪啪网| 超碰国产AV| 99久在线视频| 色啦啦视频| 99热这里只有精品最新地址获取| 五月天综合久久丁香91| 国产精品一区在线观看你懂的| 综合热无码| WWW.HENHENL.| 99热免| 综合狠狠五月婷婷| 一逼色综合| 中国丰满熟女A片免费观| 热久久视频99| www久久99| 99视频精品| 欧美五月丁香啪啪响视频| 婷婷五月天激情小说| 六月婷婷影院| Av大香蕉| 天天肏高清在线| 色播五月天激情| 亚洲综合99| 69精品人人人人| 99∨VTV| 五月激情五月丁香| 亚洲AV电影av| 精品一二三区久久AAA片| 五月天色视频| 99精品这里只有免费视频| 色99久草在线| 51精品国自产在线| 五月婷婷开心网| 五月丁香狠狠| 亚洲婷婷六月天| 久久久久久婷| 婷婷五月花| 丁香五月最新地址| 婷婷五月天成人小说| 久久黄A片| 久久精品99久久久久久久久| 日韩ww| 久久怕怕视频| 欧洲亚洲免费视频9| 综合性视频99| 综合逼五月激情婷婷| 天天操精品| 丁香五月激情五月| 色人久久| 五月婷婷,六月丁香| 色婷婷久久综合丁香五月| 91碰碰| 久久玖玖综合| 五月丁香六月婷婷久久| 久久久久久久五月| 免费成人网在线观看| 99re6在线视频精品免费| 99性视频| 久久激情五月网| 思思视频这里是精品| 日本久久人| 婷婷六月天| 色色激情五月天| 五月天堂在线| 色天天综合成人网| WWW.99热| 精品亚洲VA网站| 99视频精品全部免费观看| 在线播放中文字幕| 人人干人人干骚美女| 九九色大香蕉| 婷婷激情肏屄网| 激情黄色小说色五月| www.99免费视频| 亭亭丁香97| 亚洲区视频| 思思精品久久艹| 天天拍夜夜撸| 久婷婷久草| 99九九热视频| 狠狠色狠狠色综合日日91| 亚洲综合网在线| 免费无码毛片一区二区A片 | 色噜噜狠狠色综合日日| 色啪影院| 超碰9| 九热精品| 欧美成人精品A片免费一区99 | 日良久久| 99热这里只有精品国产免费| 五月丁香六月色婷婷| 五月婷婷,六月激情| 色综合色欲综合天天免费 | 成人免费黄色短视频| 日韩精品一区二区三区,四区,五区视频| 99在线精品视频| 色色色综合| 中国丰满熟女A片免费观| 色偷偷AV亚洲男人的天堂| 四川女人毛多水多A片| 色婷婷8| 五月天婷婷视频| 五月丁香啪啪啪| 久久综合99| 亚洲综合五月天婷婷丁香| www五月| 婷婷视频在线碰| 国产日韩欧美| 婷婷WWW久久| 五月天激情啪啪| 日韩啪| 色色精品色| 色久五月| 六月婷婷激情图片| 丁香,开心成人,久久| 伊人大蕉香| 99热在线中文字幕| 深爱激情久久| 亚洲成人在线免费| 婷婷五月激情四射手| 久久全色| 欧美综合激情五月丁香| 1区2区视频| 五月天激情国产综合婷婷婷| 日韩AV一区二区三区| 久9精品视频| 天天干狠狠| 五月日韩中文字幕| 人人超碰99| 久久久人妻不卡| 99久久精品网| 这里只有精品视频在线| 色噜久| 五月激情婷婷综合| 五月天婷网| 婷婷久久久| 97超碰,人人舔,人人操,人人摸| www.激情com| 五月天开心激情网色欲无码| 五月天操逼网| 最近免费中文字幕大全高清大全1| 色性日本| 色婷久久| 日本啪啪网| 久久久区区一久久久久久| 亚洲精品色| 色墦五月丁香| 成人一级片| 天天舔天天插天天干| 99久视频| 欧美99视频| 日日做夜夜爱| 国产在线aaa片一区二区99| 亚洲小电影在线观看黄999| 五月天色在线| 国精产品一区一区三区免费视频| 亚洲视频a| 激情五月天网站| 精品一二三区久久AAA片| AV在线大香蕉| 4399人妻无码久久久| 日本成人内射| 亚州AV超碰人人操| 欧美色必爱| 亚洲精品乱码久久久久99| 天天插天天很| 伊人色综合网| 婷婷五月丁香基地在线视频官网| 99热这里只| 色老久久| 亚洲AV日韩无码| 吾爱AV导航| 99色在线观看视频| 91免费啪视频| 色色哒五月婷婷六月丁香| 欧美交换配乱吟粗大25P| 婷婷九月激情| 99爱视频在线| 丁香五月综合色婷婷| 中文字幕永久在线| 国产精品久久在线观看技巧| 婷婷97狠狠成人网站| 狠狠香婷婷五月| www.五月.com| 婷婷的激情五月| 综合久久婷婷| 国产精品国产VA片国产| 九九色黄色| 天天插天天| 中文字幕人妻一区二区| www天天色天天射| 日本97在线看片| 五月婷AV| 日本WWW九九九| 久热这里| 26UUU一区二区| 色噜噜狠狠色综合日日| 五月开心六月婷婷在线播放网站| 亚洲综合网在线| 婷婷五月天激情综合网| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 国际国外精品欧洲南美洲专区无码不卡| 五月天激情小说| 色五月丁香婷婷综合| 色五天综合| 五月激情六月婷婷| 九九色插| 99热播放| 五月丁香影院| 丁香五月播播| 久久婷婷视频| 极骚大香蕉伊人| 婷婷草| 综合色影| 超碰日韩成人| 超碰com| 五月婷婷色播视频| 五月婷婷激情在线| 九九碰九九爱97超碰| 98毛片| 亚洲av另类在线观看| 五月婷婷导航| 五月天丁香婷婷久久九| 操九色| 噜噜色五月| 98国产精品综合一区二区三区 | 亚洲人成色A777777在线观看| 欧美婷婷丁香五月社区| 97在线观视频免费观看| www.日本91| WWW,五月天| 无码碰碰| 色丁香久久| 婷婷丁香五月亚洲| 激情丁香久久| 色吊丝永久访问网址| 在线只有精品| 九九热视频这里只有精品| 成人免费超碰| 噜噜在线| 男人天堂99| 思思热热久久| 久久视网36| 日本丰满久久| 五月丁综合在线观看| 4399在线观看免费毛片| 天天干天天射色综合| 日本啪啪网| 七月婷婷色香综合网| 激情四射网| 色五月天视频| 电影爱拉战争免费观看| 九九色逼| 91ncm视频| 婷婷久综合| 思思热精品在线视频| 99热6这里只有精品| 九九热九九| 大香蕉免费9| 天天干在线播放| 狠狠色色| 热中文字幕| 手机在线视频观看9| 成人综合网站| 日韩无码专区| 日日夜夜天天综合| 99re这里| 人人摸人人摸| 五月激情小说| 夜夜爱网站| 在线另类视频| 99精品视频偷拍| 五月婷婷六月丁香在线| 99色在线视频观看| 亚洲五月天,激情视频| 综合九九中文字幕| 久久久99日本大片| 激情婷婷九月| 五月丁香六月婷婷成人| www.日本91| 久久五月婷综合网| 高清国产AV| 婷婷五月a| 中文字幕91,综合| 六月丁香开心婷婷欧美| 9久久网| 大胆伊人久久| 色色色地址| 久久亚洲天堂| 变态另类9| 天天噜日日噜综合无码| 99婷婷五月天| 婷婷综合五月激情| 欧美激情综合色丁香婷婷五月天| 狠狠色噜噜色狠狠狠综合色| 亚洲激情| 爱久综合| 777.色色| 婷婷五月天日本无码| 婷婷激情五月综合在线视频| 日日.c| 色亭亭五月天丁香综合AV - 百度 - 百度| 99色热视频在线| 9热精品| 99热在线观看| 少妇真实被内射视频三四区| 深爱开心激情| 国产av一区二区三区| 热99玖玖99玖玖99九九| 国产操肏网站| 激情婷婷五月久久| 婷婷丁香综合| 日本色图综合| 国产精品久久久久久久久久免费| 99婷五月| 婷婷久久五月丁香| 我爱宗和色| 99爱无码| 色色色图| 操碰99在线视频观看| 丁香五月天天| 国产成人精品一区二区三区视频 | 成人丁香五月| 91人人看| 国产超碰在线| 天天爽日日爽夜夜爽| 久综合色| 九九九九九九九九九九九九九九九九九九九在线视频 | 五月婷婷婷| 五月丁香啪啪网| 五月婷婷久久内射| 免费啪啪亚州视频| 婷婷香蕉精品| VA色婷婷| 开心五月天激情网站| 超碰在线免费| 岛囯综合激情网| 香蕉综合在线| 99久久激情视频| 777色色色| 伦乱人妻| 色色丁香五月婷婷| 九九热视频精品| 91五月花丁香| 亚洲第一色色色色| 久久伦乱| 久热天堂| 开心五月婷婷在线| 五月天社区| 久久一伦| 婷婷五月噜噜| 亚洲精品又粗又大又爽A片| 九热视频精品| 亚洲性爱区无码区| 久久思思热| 91人操人人人操人| 丁香婷婷视频| 91久女| 女人露出p毛视频www网站| 九九热在线99| 99碰碰。| 激情丁香五月激情婷婷| 99综合视频| 色欲影香| 精品无吗va视频免费观看| 国产婷婷色综合AV蜜臀AV| 生活片五区| 天天狠狠夜夜狠狠2023| 色婷婷色综合久久精品V| 五月婷视频久久| 婷婷狠狠97| 一级韩国产精品毛| 久久久久久丁香五月| av九九| 九月丁香| 91久久久久久| 99操逼| 99色热视频| 另类视屏| 五月天伊人| 伊人大香久久| 99热这里只有精品16| 3p九色在线| 中文不卡一二三区| 色五月婷婷7777| 五月人人丁香婷婷五月人人丁香| 婷婷导航| 日日夜夜青青草| 久久婷五月天| 丁香花五月天| 久久久高清| 六月婷婷激情小说网| 成人午夜视频精品一区| 色色aⅤ網| 婷婷在线网| 五月婷六月天| 久久五月婷综合网| 日日干日日| 三级毛片7979| 精品久热| 天干干夜夜操| Aaa久久| 美女妹子后射视频网站在线观看| 极品少妇婷婷五月| 99亚洲视频| 天天色图| 精品人妻伦九区久久AAA片| 婷婷丁香六月影视| ww超碰在线| 五月久视频| 丁香五月先锋| 色色色网站| 26UUU在线观看| 激情五月最新网址| 大香蕉五月婷婷| 国产99热在线看| 99精品国产在热久久| 五月丁香六月婷婷亚洲| 大香蕉Av在线| 99∨VTV| 丁香婷婷六月激情综合| www.91AV.COM| 精品色色| 亚洲色网络| 91爱啪啪| 黄急一级视频| 国产免费AV在线| 77799热| a免费在线| 99热网址| 丁香五月激情澎湃一区| 五月丁香六月成人| 99精品国产在热久久| 日韩99精品| 综合大香蕉| 国产做爰视频免费播放| 91久久五月天| 日日夜夜噜噜爽爽| 91精品无码| 亚洲激情四谢| 综合久久99| 色色色国产| 丁香六月综合激情| 1024久婷| 无码色| 类似婷婷激情综合网站| caopeng97日韩| 99精品超在线播放| 亚洲成人影视在线| 丁香桃色网| 狠狠激情五月天| 国产片天天爽夜夜爽| cao视频,现在观看| 欧美激情综合色综合啪啪五月| 色五月中文网| 六月丁香五月激情网| 婷婷射综合| 青吴乐视频| 开心激情婷婷| 男女免费视频999| 色婷婷色五月综合| 天天 青草 制服丝袜 在线| www91精品| 影音 五月 婷婷 久久| 91精品久久久久久综合五月天| 99热99热不卡| 色综合久久伊伊婷婷五月| 91操熟女| 99精品久久久久久久| Aaa久久| 最近中文字幕大全免费版在线| 色综合九九色综合88| 婷婷五月天在线观看第二页| 丁香五月aV| 久久综合九九| 亚洲另类婷婷综合| 夜夜躁婷婷AV| 玖玖激情五月天| 91热久| 久久性都花花世界成人免费视频 | 日韩99无码| 亚洲国产精品二二三三区| 亚洲操操| 五月亭亭六月天| 婷婷涩五月| 五月丁香综合中文| 99精品在线观看| 美女五月天| 婷婷十月激情综合网| 日本激情五月| 伊人久久五月天| 婷婷色五月天综合网| 亚洲avjiujiur91| 六月丁香成人| 一根材五月婷成人| 激情综合激情五月| 天天情色五月天| 天天综合网亚洲综合网| 五月婷婷啪啪啪啪| 色色色成人网| 99久久www| 91黄址| AA丁香综合激情| 99这里只有精品|v| 六月丁香久久| 无码一区精品一区视频| 五月丁香婷婷钟和色图| 97超碰色| 9精品视频在线| 婷婷丁香色情| 天天天天天天天干| 五月婷婷六月激情网| 色五月婷婷天天操夜夜操| 色色欧美色色| 日本婷婷在线| 天天日夜夜| 日韩在线看AV| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 国产欧美日韩性爱| 人人天堂操| 日日狠狠久久偷偷四色综合免费| www.天天干| 色啪影院| 久热在线中文字幕色999舞| 夜色五月天| 青青久久大香蕉| 色综合色五月| 天天撸夜夜爽| 婷婷五月丁香色综合| 夜夜操天天干| 午夜微拍福利| 欧美综合123区| 丁香五月日啪| 五月婷婷开心五月| 五月婷婷开心网| 丁香五月瑟瑟| 丁香五月天啪啪| 这里只有精品在线播放| 99久精品视频| 久久精品A片777777| 久久婷婷草| 五月噜噜噜色综合| 亚洲这里只有精品| 五月综合色| 黄色AAAAAAA| 99久久精| 狠狠干天天日| 99免费在线视频| 人人爽欧美婷婷久久久五月丁香| 日韩五月婷婷| 开心五月激情网| 欧美精品中文字幕亚洲专区| Www99热| 亚洲色欲AAAAAA| 丁香九月激情| 亚洲五月天激情| 1024久婷| 色欲五月天| 99热久草| 九九色情网五月天| 五月天婷婷色紫薇阁| 天天操夜夜操| 99热在线极品极品| 99这里有精品免费| 99久在线视频| 一区二区三区XXXXXX| 五月天婷婷乱| 丁香五月性爱| 婷婷五月情| 亭亭五月色男人| 中文成人在线| 色VA| 丁香色婷婷| 97婷婷狠狠久久综合9色| 热99只有精品| 成人午夜视频精品一区| 人妻狠狠操| 婷婷综合亚洲| 色五月自偷自拍婷婷婷婷| 五月婷婷激情69| 丁香五月天堂网| 99热老网站| 欧美性爱一区| 五月久久网| 激情欧美丁香五月| 国产色色小草视频| 激情五月四色| 伊人久久丁香五月91| 亚洲婷婷开心五月| 色综合久久久久| AV伊人青草丁香六月| 亚洲成人AV在线观看| 激情丁香久久久久久| 久 久9 9 热 视 频| seuuu婷婷| 99re热视频| 国产亚洲精品久久久久苍井松| 亚洲思思热久| 丁香五月电影| 色婷婷手机在线| 亚洲日日操| 97久久视频| 99综合视频| 色频玖玖五月天| 亚洲第一综合| 婷婷 激情 五月| 白人荫道BBWBBB大荫道| 内射丰满人妻| 日比视频91| 99av视频| sewuyuetingtingiii| 丁香五月婷婷网| 五月天激情网址| 激情六月婷婷| 色婷婷丁香网| 天天 青草 制服丝袜 在线| 99热热热99精品丁香| 中文av网站| 久久99综合| 99这里只有精品视频免费| 久色五月丁香视频| 欧美色碰| 日本99在线| 99热大香蕉| 色婷婷电影网| 五月天开心色情网| 亚洲美女裸体被操在线观看| 五月婷婷官网色| 色情开心五月| www.久久99| 婷婷久久视频| 婷婷黄色网| 99热这里是精品| 亚洲午夜av| 亚洲乱码日产精品BD| 五月婷婷丁香色吧网| 五月婷婷综合性爱噜噜| 婷婷精品| 日日想日日夜日日操| 丁香五月天影院| 婷婷久久99| 婷婷九月激情| 久久五月天激情婷婷| 天天摸天天肏| 另类图片激情五月天| 婷婷五月丁香四射| 久久 婷婷 五月天| 2020夜夜操天天爽| 欧美天天搞| 开心激情婷婷| 婷婷五月激情五月激情| 久久97| 精品夜夜澡人妻无码AV| 日日操夜夜骑| 色欲婷婷夜夜| 激情综合网站| 99在线观看| 五月丁香六月婷婷网| 高潮毛片遮挡费高一百度| 久久38视频| 色婷婷电影网| 六月丁香综合| 精品网站99| h亚洲| 少妇AB又爽又紧无码网站| 亚洲人人操| 深爱开心激情网| 欧日韩成人| 雪千夏麻豆| 99综合网| 久久多色| 色婷婷AV五月天| 激情婷婷五月天。| 91久久人人操| 天天插天天射| 中文字幕精品在线观看| 五月色丁香激情| 久久欧洲久久| 色哟哟性爱av| 99在线看视频| 无码激情AAAAA片-区区| 久久婷婷五月丁香网| 婷婷丁香五月高清| 狠狠搞综合色| 天天草人人摸| 婷婷五月丁香综合| 色色色在线观看| 超级碰碰碰久久网站| 亚洲乱码日产精品BD| 开心五月网| 99毛片| 久久九九热视频| www.sezonghe| WWW五月天| 99er这里只有精品| 97视频久久| 亚洲婷婷婷| www色综合亚洲92| 伊人九九九久| 婷婷丁香久久网| 超碰在线50| 久久久国产精品黄毛片| 九九香蕉网| 色欲色香综合网| 国产在线中文字幕| 玖玖婷婷综合| 97影院一级片| 综合网视频| 激情五月天综合婷婷网| 丁香五月天在线| 天天婷婷色六月| 99亚洲无码| 婷婷色色欧美| 黄色激情五月天| 操操操Av| 丁香五月开心亚洲| 久热黄色| 99久视频| 五月婷婷成人| 日本丁香五月| 色噜噜狠狠色综无码久久合欧美| 激情综合五月| 色婷婷基地 | 婷婷色色综合| 午夜微拍福利| 狠狠久综合| 婷婷色在线视频| 色婷婷丁香综合中文字幕| 五月天激情久久| 久久久这里都是精品| 欧美五月丁香啪啪响视频| 天天天操天天天爰| 开心五月深爱五月婷| 91精品久久久久久综合五月天| 久热网在线视频| 五月天色综合| 六月色色| 日本欧美成人片AAAA| 婷婷六月天国产综合| ou洲色吧| 国产9色在线/日韩| ri电影在线| 5月丁香六月婷婷| 色丁香五月| 天天搡日日搡aaaaⅩ| www.久热| 亚洲精品一二三| 伊人玖玖网| 天天干,天天舔| 五月婷婷六月激情网| 深爱五月激情| 九九热在线99| 超碰av在| 97色欧美| 先锋资源996| 99操逼| 996热re视频精品视频| 在线日韩视频| 色婷狠狠| 久久久思思热| 婷婷播5月| 泰州成人视频| 亚洲中文AV网站| 色五月天丁香| 婷婷在线免费| 九九热九九| 天堂婷婷综合| 91九色熟女| 五月开心婷婷| 99热青青草| 久久婷婷五月丁香蜜桃网| 亚洲久久日| 三十路磁力链接| 91丨九色丨白浆秘| 97超碰,人人舔,人人操,人人摸| 婷婷 伊人 久久| 久久aaa| 婷婷成人AV| 99色爱| 久久久久激情| 五月六月激情| 丁香五月天婷婷激情| 久青草大香蕉| 色五月激情五月丁香五月婷婷啪啪综合| 亚州色色色| 久久性爱视频| 中文字幕AV在线播放| 一级A片天天操夜夜操| 99热精品中文字幕| 五月丁香亭亭AV女优| 五月丁香婷婷AV天堂| 六月丁香婷婷综合狠狠爱夜夜爱| 超碰狠狠干99| 色色色色色热| 中文在线成人| 搡BBBB搡BBB搡五十| 丁香97综合| 婷婷五月天激情在线观看 | 久热2025无码| 天天操夜夜操| 思思干精品| 91操色| 91九色精品女同系列| 丁香久久激情俄| 亚洲国产精品成人va在线观看| 色五月激情五月天| 99热精品观看| 婷婷另类小说| 色婷婷成人久久| 丁香五月天五码婷婷| 五月丁香六月激情| 伊人干综合| 欧美日本国产欧美日本韩国99| 日噜噜色| 特级片神马电影| 91男同视频| 日日色五月天| 狠狠操天天干| 狠狠色婷婷7| 开心五月网 | 婷婷丁香综合在线| 久久性爰视频这里只有精品| 亚洲乱码日产精品BD在线观看 | 天天爱天天操| 婷婷五月丁香色播| 亚洲欧美一区二区三区爱爱动图 | 91 久热| 色婷婷激情Av久久久| 色综合丁香婷婷| 开心 五月 综合| 久久婷婷五月综合色欧美| 国产成人综合网| 操九色| 久re热视频| 操操操91| 五月花综合视频| 五月黄色婷婷| 五月丁香色| 五月丁香婷婷综合网色欲| 思思热久热| 久久狠婷婷| 女人天堂AV| 99riAV国产精品视频| 欧日韩成人| 99久久99九九九99九他书对| 天天干天天干天天干天天干天| 99视频在线| 色色五月丁香| 五月丁香激情综合欧美| 婷婷色色亚洲| 亚洲六月色| 色婷婷情片| 黄色成人网站在线播放| 日本片日本片祼观看网站在线看中文版网页在线看| 九九九九综合| 97人人草| 99ER热精品视频| 日日夜夜小色哥| 狠狠情色| 99热网站| 精品久久99码| 五月婷婷激情色情网| 色色9 9| 五月丁香激情综合| 少妇高潮一区二区三区99欧美| 久久久久人妻| 五月婷婷色吧!| 99免费青青蜜臀| 涩五月婷婷| 婷婷五月天伊人网在线观看视频| 九月色婷婷综合亚洲| 五月婷婷视频在线观看| 亚洲国产婷婷色五月| 国产AV一区二区三区日韩| 色偷偷色婷婷| 色噜噜狠狠色综合无码久久欧美| 五月色情| 久色大| 97丁香花五月天激情小说| 97超级碰| 久久婷五月婷| 99热日| 99日本视频| 96丁香六月婷婷蜜桃综合久久| 五月婷婷综合色啪首页| 天天综合91入口| 色播五月天激情| 四色AVwww| WWW,五月天| 欧美碰碰碰| 五月婷婷六月丁香| 五月丁香六月激情欧美综合| 欧美情月伍月天| 97超碰99热99| 99碰碰| AA丁香综合激情| 狠狠五月天婷婷| 婷婷五月中文字幕| 五月天网址在线刘玥| 婷婷五月丁香综合激情| renrencaoav| 五月丁香婷婷色色色| 婷婷久久色五月婷婷久久久| 久久婷婷色| 婷婷五月天精品| 婷婷的激情五月| 丁香色五月 97干| 丁香五月大香蕉在线99| 一区二区三区视频| 色五月影视| 欧美成人热| 六月丁香综合| 色停停影院五月天| 黑人糟蹋人妻HD中文字幕| 棕合影院色色| 99热费观看| 99∨VTV| 99热这里只有精品在线| 婷婷五月精品在线| 91人妻色色网| 91婷婷伊人牛牛| 色综合网页| 国产AV一区二区三区最新精品| 亚韩在线视频| 色色AV色色色东莞| 亚洲综合在线丁香五月| 久久五月天激情婷婷| 婷色五月天| 五月婷婷日| 亚洲天堂AV综合网| 丁香婷婷五月份| 丁香激情网| 五月色婷| 蜜桃人妻无码AV天堂三区| 五月天基地| 欧美色六月婷婷| 99在线er热| www.久久| 五月丁香啪啪啪啪| 五月婷六月| 丁香五月婷婷Av| 热996精品在线观看| 啪啪日热| 婷婷五月天VI| 日韩艹比| 亚洲性爱AV在线| 狠狠精品干练久久久无码中文字幕| 国产激情综合五月久久| 成人日韩欧美| 99啪啪| 婷婷五月天丁香花| 91碰碰| 五月天桃色深爱网| 怡红院视频| 天天色亚洲| 五月婷婷,六月丁香| 91蜜桃婷婷狠狠久久综合9色| 99热大香蕉| 日本啪啪天堂| www.久久| 能看的av| 国产亚洲精品久久久久久郑州| 1000部毛片A片免费观看| 婷婷色色五月天| 夫妇交换刺激做爰| 久久久天堂国产精品女人| 97超碰,人人舔,人人操,人人摸 | 亚洲深喉aV| 碰碰人人人| 超碰99成人在线| 亚洲另类毛片| 亚洲综合在线播放| 九九五月天| 高潮毛片遮挡费高一百度| 狠色狠色狠狠色综合网| 激情的五月| 久久免费视频62| 六月婷婷开心| 婷婷综合视频| 天天噜噜| 夜夜爽77777妓女免费下载| 九月丁香八月婷婷加勒比| 欧美人人草草| 五月开心久久| 99热超碰在线| 婷婷性爱无码视频| 99亚洲色色| 狼人婷婷综合| 激情第四色| 羞羞嫩草视频| 91网站黄| 久久激情综合| 色情五月停停丁香| 香蕉操亚洲| 婷色五月天| 91怕怕网| 久热大香蕉| 99爱免费视频在线观看| 色噜噜五月天| 亚洲av骚货| 伊人99久久| 超碰色综合| 99久久综合网| 99精品无码| 久99热| 婷婷激情四射五月天| 五月天婷婷色| 丁香社区婷婷五月| 欧美六月| 久久久av久av久片一区二区| 亚洲色图81p| 色五月天中文字幕| 狠狠色噜噜狠狠狠狠综合| 五月激情综合网| 五月色婷婷夜色| 国产99美少妇| 26uuu成人网| 国产成人精品一区二三区熟女在线| 色色五月综合| 成人婷婷色五月天| 九九视屏| 五月婷婷很很色| 久操人妻| 99热这里只有是亚洲国产| 婷婷色五月天在线观看| 成片免费观看大全| 久久6这里只有精品| 九九 激情 网| 色综合久久久综合久久网| 大香蕉啪啪| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 久久九九色| 亚洲AV电影美洲AV电影| 天天色情站| 熟女网站久久| 一区=区操屄高清大全av| 性色播| 色综合大香蕉| 综久久久| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 色九亚洲| 九月久久婷婷| 成人网站免费sxj| 色婷婷影院| 欧美精品久久久久久视频观看| 79亚洲精品少妇| 久久99热免费| 国产色五月| 色婷五月天| 九色激情| 亚洲丁香婷婷五月天综合色| 婷婷五月丁香五月| 国精产品一区一区三区免费视频| 91无码视频| 五月婷亚洲精品| 欧美综合激情| 亚洲五月六丁香激情| 婷婷五月天丁香花| 91成人看片| 久久精彩视频| 中文字幕无码成人电影| 五月丁香无码| 日本操B视频| 国产欧美婷婷五月| 丁香五月六月综合激情| 久热黄色| 色婷婷很很十八禁| 五月丁香亭亭操逼| 99热综合在线观看| 亚洲瑟瑟精品在线| 丁香五月激情五月| 99热99成人| 五月婷婷天| 丁香色五月 97干| 天天肏视频| 日良久久| 婷婷五月天影院| 九九五月天| 亚洲精品99| 超碰在线国产| 激情五月天电影| 俺也去婷婷五月天第五色| 操日视频| 婷婷五月情|