免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
91性高潮久久久久久久久| 五月天激情图片| 天天免费成年人视频| 亚洲六月婷婷| 五月丁香六月婷婷色| 爱爱网址9| 开心五月丁香综合久久| 色五月婷婷青娱乐| 婷婷成人视频| 五月丁香六月欧美综合网站| 天天狠狠婷婷在线| 欧美一级a| 天天擼久久擼在线| 婷丁香久综合| 91综合色| 青青久在线视频免费观看| 欧美性爱特黄一级aaaassss| 人人综合久| 亚洲愉拍99热成人精品| 亚洲人成人五月天| 亚洲精99| 日本色99| 丁香五月 无码| 激情欧美丁香五月| 69午夜成人影片| 激情网色五月| 五月天丁香久久综合| 欧美五月婷婷| 五月综合六月婷婷| 五月丁香在线国产 | 91制片厂久久久国产电影| 色一情一乱一乱一区91Av| 精品一二三区久久AAA片| 久久婷婷丁香六月天| 五月天丁香综合久久国产| 婷婷丁香六月| 色99网| www.91有码.com| 六月丁香婷婷色狠狠久久| 五月婷在线| 夜夜躁狠狠 | 色噜噜五月天| 大香蕉福利导航| 久久色天堂| 一根材五月婷成人| 婷婷五月天天| 深爱五月天婷综合| 玖月婷婷爱丁香| 精品99在线观看| 五月婷婷av在线| 久久久久这里只有精品| 天天射影院| 伊人玖玖网| 久久丁香五月婷婷| 97色色色色色| 亚洲国产99| 人人干AV| 五月丁香激情六月| 逼里香不卡| 六月丁香深深爱综合网| 亚洲另类婷婷综合| 婷婷综合色色| 26uuu美女三级视频| 久热精品在看| 综合成人小说婷婷| 婷婷开心五月| 五月婷婷和六月| 色综合激情| 五月激情影视| 丁香五月天成人网站| 国产精品久久在线观看技巧| 丁香五月日本| 九九视频精品在线免费| 五月丁香六月婷婷免费视频| 99爱在线视频观看| 五月天播播| 五月婷婷狠狠干| 丁香五月激情视频在线| 婷婷五月天干干| 亚洲、热| 天天日夜夜曹| 国产毛片精品一区二区色欲黄A片| 国产乱码久久| 婷婷五月天另类网站| 五月激情婷婷色| 色青青五月| 91免费在线视频6| 99精品在线观看| 婷婷伊人网| 婷婷激情五月综合| 成人网站免费sxj| 亚洲日韩26uuu| 天天模,夜夜模夜夜爽| 丁香久久五月天视频在线观看 | 丁香五月激情啪| 色情五月停停丁香| 丁香激情网| 丁香婷婷深情五月亚洲| 成人中文网| 婷婷丁香中文字幕| 9精品在线| 99操逼| 欧美va亚洲va| 亚洲天堂色色| 五月天激情小说| 五月丁香婷婷色| 大香蕉在九| 一区操| 五月天婷婷网站888| www.粉嫩av.com| 久久五月丁香六月婷| 色综合色欲综合天天免费| 婷婷五月开心中文字幕色| 国产另类综合| 日本一级一级一级一级| www婷婷色| 日韩成人电泉AV| 2020日日干| 操操啪| 天天插轮理| 亚洲99精品欧美一区| 激情四射网| 成人午夜视频精品一区| 五月婷婷丁香大陆免费| 99热亚洲精品| 在线观看免费观看在线9久| 男人的天堂av俄罗斯热| 91精品久久久久| 婷婷丁香五月六月激情| www.色五月| 丰满少妇猛烈A片免费看观看| 色级婷婷| 九月色婷婷综合| 丁香九月婷婷综合| 久久丁香婷婷五月| 日日夜夜小色哥| 五月丁香操婷逼| 亚洲午夜在线视频| 国产Va视频| 婷婷丁香六月天| 成 人片 黄 色 大 片| 亚洲色图81p| 五月天婷婷丁香花| 天天操综合网| 九九综合| 婷婷综合色图| 丁香网五月天| 亚洲成人电影aaaa| 丁香五月激情综合| 99亚洲综合| 五月天开心网| 亚洲久热| 五月丁香六月婷| 涩丁香| 色99网| 天天干天天干天天干天天干天天干| 99热66| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 五月婷激情影院| 国产精产国品一二三在观看| 五月丁香美女| 久久婷婷影院| 人妻内射麻豆视频| 秋霞免费视频| 伊人五月人妻精品| 丁香,开心成人,久久| 久热视频A.| 五月草视频| 色婷婷网大全在线| 丁香 婷婷 亚洲 熟女| 久久人人妻| 婷婷的99视频网站| 99久久99九九九99九他书对| 亚洲殴洲精品Av在线| 亚洲视频在线观看99| 久久久999精品| 五月天社区婷婷丁香社区| 亚洲激情五月丁香久久久久| 一级视频网址| 人人色婷婷| 色色丁香色五月| 天天狠狠色综合| 欧美成人AAA片一区国产精品| 天天日天天插天天操| www.婷婷五月天| 99爱99操| 色色丁香| 五月天精品综合| 五月J香蕉婷婷| 熟女五月天久久综合| 99视频精品在线| 淫荡A片| 五月丁香亚洲婷婷| 日本九九网| 人妻久久久久久久久妻久久久久| 99re久热| 亚洲天堂啪啪| 青青.com| 久久婷婷七月丁香| 就爱操www com| 久操欧美在线观看97| 丁香五月 六月婷婷首页| 国外亚洲成AV人片在线观看| 天天狠狠夜夜狠狠2023| 激情综合五月| 综合AV网| 五月婷婷之综合激情| 婷婷黄色网| 久草热在线视频| 色欲九区| 内射 无码 伊人| 影音先锋91资源站| 国内婷婷丁香社区在线播放| 色综合丁香婷婷| 五月天婷婷丁香| 97av在线视频| 亚洲 欧洲 国产 伦综合| 97色天堂| 丁香五月天欧美| 激情丁香五月| 婷婷五月综合体验看| 香蕉久久国产AV一区二区| 五月丁香色六月激情干大屄| 日本的α片xxxwww| 五月丁香久久丝袜啪啪| 五月婷婷丁香综合| 综合网视频| 亚洲AV网址| 97高清国语自产拍| 五月婷婷六月丁香| 丁香色六月婷婷| 激情超碰网| 啪啪综合网| 久久性爱网站| 婷婷99狠狠| 91超级碰碰| 色亚洲视频| 成人中文网| 99热资源在线| 超碰人人干| 五月天第四色开心色播| 色五月婷婷激情综合网| 久久久91| 操久久网| 亚洲成人网站在线| 久久久久久久久久久97| 99热黄| 五月综合无码| 噜噜狠狠色综合久| 色婷婷亚洲| 五月丁香无码视频| 日本VA视频| 九九sese| 亚洲九九99精品视频在线播放| 婷婷五月成人有| 色色五月天网站| 欧美WW在线网| 97人操| 五月色婷丁香| 超碰一区二区| 一月婷婷色色| 天天久综合网永久入口17v | 日本色频| 日本久久天堂| 777.色色| 精品99这里有| 精品一区二区三区木瓜| 天天天添天天操| 日日色五月天| 久久总和99| 大香久久伊人网| 激情五月婷婷视频一区二区三区| 婷婷五月欧美| 丁香六月婷婷综合欧美| 激情六月婷婷| 久久婷婷五月综合激情国产| 天天拍久久| 情婷婷五月天| 99性爱| 激情九月婷婷| 亚洲黄色影视| 亚洲国产色婷婷| 丁香五月激情综合| 日本熟妇乱妇熟色A片蜜桃| 丁香网五月天| www.91AV.com| 激情婷婷内射| 管管補管管紱| www.99热| 九九热免费| 九九成人视频| 999热在线观看视频| 热婷婷久| 色激情网| 精品思思久久| 色播五月丁香| 99热这里都是精品| 午夜69成人做爰视频| 丰满少妇猛烈A片免费看观看 | 五月丁香婷婷成人综合网| 久久九九怡红院| 激情网五夜婷婷| 丁香五月在线观看综合| 天天插天天爽| 亚洲乱码日产精品BD| 日产精品久久久久久久蜜臀| 精品牛仔裤超碰| 婷婷九月色| 九九热这里只有国产精品| 操一操| 中文字幕av在线| 婷婷九月| 99人人干人人| 婷婷五月天电影在线| 五月天激情久久| 99精品在线| 国产熟妇乱子伦hd| 亚洲另类婷婷五月丁香在线播放| 激情小说 五月天| 秋霞性爱AV| 国产99久久久国产精品免费看| 蜜臀99久久精品久久久久| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 五月久久婷婷丁香| 丁香六月婷婷综合麻豆| 色噜噜狠狠色综合日日| 丁香影院五月综合| 九九操综合网| 久久伊人五月天| OUMEIRIHANCHENGREN| 人人九色| 97碰人人操| 综合 激情 婷婷| 99热在线中文字幕| 性爱久久| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 精品一二三区久久AAA片| 99在线爽| 婷婷五月天激情综合婷婷五月天激情综合| 九九亚洲视频| 亚州婷婷五月激情综合| 久热网在线视频| 九九亚洲视频| 91视频一起草| 五月色婷| 丁香五月婷婷激情尤物| 丁香婷婷色九月| 九玖欧洲亚洲| 激情五月天色色| 九月丁香久久网| 久久久久久久久久8888| 91日韩在线| 久碰久| 丁香五月综合福利视频导航| 337p大胆噜噜噜噜噜91Av| 亚洲最大视频网站| 久久人人人人妻| 精品国产AV色一区二区深夜久久| 丁香六月婷婷综合麻豆| 狠狠色成人影片| www.99热| 丁香五月天激情视频| 大香蕉久久草| 激情啪啪五月| 国产67194| 91精品久久久久久77777| 激情五月激情综合网| 日韩久久欧亚| 欧美丁香婷婷五月天| 99热在线播放精品| 99re在线这里只有精品视频首页| 色婷婷小视频| 激情婷婷啪啪| 9福利性视频欧美| 久久综合激情五月天| 婷婷中文无码| 精品99久久久久成人网站免费| 91无码视频| 综合啪啪| 可以直接看的av| 超碰av在线| 情色婷婷五月天| 精品99在线看| 天天日天天干天天操| 狠狠色丁香久久综合婷婷亚洲成人福利| 丁香五月激情视频| BlACKEDRAW视频一区二区| 直接看的AV网站| 激情五月天。| 日本九九网| www,超碰| 九九碰九九爱97| 丁香五月六月婷婷自拍| 九九XX视频| 五月天婷婷人妻| 天天日色情| 五月天播播中文字幕| 久久99精品久久久久久三级| www.色婷婷.com| 色五月 婷婷, 大香蕉| 日韩在线婷婷五月天综合| 伊人久久大香线蕉综合网站| 123草逼网| www.99视频| 天天舔天天爽| 五月天婷婷视频小说| 大香蕉九九操| 操人妻AV| www.色综合| 天天激情综合| 婷婷久久精品| 图片区 小说区 区 亚洲五月| 思思久热6| 五月婷九九草| 99噜噜噜在线播放| 99热免费精品| 丁香婷婷六月激情文学| 国产色香蕉精品五夜婷| 色色色9| 米奇影视五月天| 婷婷五月六月丁香| 天天操夜夜操| 碰碰碰97国产| 日日日日日| 99在线精品视频免费观看20| 性色婷婷| 98热精品| 人妻久久久久久| 播五月,色五月,开心五月播放器| 五月丁香婷婷五月色| 99热国产在线| 五月丁香av在线| 欧洲区自拍| 五月丁香啪啪| 色婷婷精品视频| 日本激情五月| 色播综合| 97婷婷狠狠久久综合9色| 在线观看免费人成视频无码| 色色色婷婷五月| 五月网在线| 五月婷在线| 五月天婷综合| 99久久国产宗和精品1上映| 丰满熟女人妻一区二区三 | 91碰碰| 精品九九网| 久热这里| XX久久| 久久久精品色色色| 开心四月婷婷在线色播播| 成人片在线播放| 波多婷婷久久| 色婷婷丁香花五月天| 91丨九色丨高潮丰满日本| 丁香五月冃欧美| 熟女乱论网| 激情亭亭五月| 91九色在线视频| 操B无码视频国语| 被男人添B超爽视频| 色婷| 色五月激情| 天天综合网在线| www.婷婷,com| 日日爱699| 激情涩涩网| 爆乳熟女一区二区三区爆乳| 丁香婷婷午夜| 色色97丁香婷婷五月天| 国产乱妇乱子在线播视频播放网站| 97干在线观看视频| 婷婷激情五月综合| 五月婷婷影| 夜夜大香蕉婷婷丁香| 日本激情五月| 激情五月婷婷综合网| 丁香五月天婷婷久久综合| 丁香五月1页| 99久久婷| 狠狠色丁香五月婷巨| WWW,五月| 超碰AV在线| 色婷婷超碰| 国产成人网站在线观看| 色99网| 九九综合| 久久只有精| 激情综合五月丁香| 91久久婷婷| 综合久色五月| 五月天黄色激情小说| 伊人天天色| 婷婷色系婷色| 九九色视频| 色婷婷色99国产综合精品| 五月婷成人| 情情五月天色| 色六月视频| 日韩色色视频www| 激情噜噜噜| 久久婷狠狠色| 成人无码精品1区2区3区免费看| 天天日天天草| 超碰在线观看9| 激情五月天无人视频在线| 色5月婷婷| 欧美啪啪9| 九九综合精品| 五月婷婷婷色| 五月丁香综合影院| 五月天婷婷久久日| 狠狠色噜噜狠狠狠888| 色婷婷丁香五月| 色播综合| 欧洲综合一区| 欧美色久| 色婷婷五月天天天干天天操天天爽 | 六月婷婷国产| 婷婷五月激情五月激情| 久久久五月天| 91chinese 在线| 丁香五月综合婷婷| 99这里只有精品99| 性综合网| 五月丁香婷婷老司机| 快乐激情五月色婷婷| 爱iii做iiii日日| 激情久久肏屄视频| 婷婷五月天激情基地| 日本99在线视频| 婷婷香草网| 亚洲久久激情| 无码九九九九| 伊人婷婷激情| 性高潮久久久久久-九九九九九九九九九九热-成人AV| 五月婷婷在线免费观看| 26uuu日韩| 色狠狠婷婷| 五月天丁香啪啪综合| 色五婷婷| www免费在线视频| 亚洲午夜av| 久久色六月| 丁香五月天激情婷婷丁香六月| 国产资源91在线| 年轻的妺妺伦理HD中文| 中文字幕激情综合| 噜噜色com| 成人亚洲精品久久久久| 中文字幕视频在线播放| 激情五月天电影| 9 1超碰九色| 九九综合九色欧美狠狠| 伊人五月天婷婷| 大香蕉啪啪网| 婷婷久久五月| www.夜夜操.com| 日本熟妇乱妇熟色A片蜜桃| 99久热| 天天干天天爽| 久久婷婷丁香| 欧美影院| av操一操| 五月激情射| 五月婷婷成人w| 亚洲色五月| 99精品在线| 欧美激情VA永久在线播放| 五月色激情综合网| 亚洲欧洲自拍图片专区五月天| 日日撸夜夜操| 青青草搞屄视频网站| 91大神操美女| 中文字幕在线观看视频www| 激情五月,色五月| 91色操| 99a级片| av性爱网站| 操逼五月天| 久久狠婷婷| 亚洲欧州色情在线观看| 精品九九婷婷| 丁香六月无码播放| 激情五月婷黄版| 色五月婷婷影院| 九九九九中文字幕| 五月丁香在线| 五月丁香色综合| 91午夜激情| 99热插| WWW.桔色成人.COM| 丁香五月色情| 无码人妻少妇色欲AV一区二区| 婷婷综合网站| 五月丁香色狠狠干大屄| 国产九月婷婷| 天天噜| 色5月婷婷| 色色婷婷五月| 亚洲色欲AAAAAA| 五月丁香久久| 综合欧美五月婷婷| 色色色色色九九九九九| 看久久性爱99视频| 激情AV| 国产看真人毛片爱做A片| 五月婷婷综合色啪| 中文字幕精品推荐免费在线观| 婷婷深爱五月丁香| 久久hd| 思思热在线视频精品| 久久色五月天| 九九热91| 婷婷五月丁香五月| 在线A色| 亚洲熟女乱色综合亚洲网站| a在线观看| 快乐婷婷五月天| 丁J香六月首页| 婷婷五月大香蕉| 天天操夜夜夜拍拍拍| 五月天丁香网| 六月丁香影院| 婷丁香久综合| www.99操.com| 丁香五月天黄色片| 五月婷婷狠狠干| 婷婷五月色影视先锋| 五月天激情婷婷小说| 久久婷婷夜| 中文字幕在线免费观看视频| 深情五月天| 九九精品综合| 亚洲A片成人无码久久精品青桔| 亭亭玉月丁香| 婷婷五月激情综合啪啪| 精品久久久久成人码免费动漫| 99re鈥哸鈥唙| 操碰97| 色99免费视频中文| 大香蕉啪啪啪| 亚洲男女激情| 人妻自慰高清合集| 99操碰| 五月桃花网综合| 色色无码| 婷婷五月开心中文字幕在线| 激情五月天色| 婷婷综合玖玖五月| 九九热最新| 大香蕉婷婷久久| 九九婷婷五月天影视| 久久婷视频| AAA级久久久精品| 91精品久久久久久77777| 色狠狠图片| 日本三级中国三级99人妇网站| 99热香港| 狠狠精品干练久久久无码中文字幕| 天天射综合网站| 国产av一区二区三区| 九热视频在线精品15| 五月天婷婷综合免费| 色婷婷婷综合五月天| 色婷婷久久综合久色综| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 成人中文字幕在线| 色综合激情图区| 综合激情视频| 99热最新| 色婷天天| 99久久婷婷国产综合| 99A级片| 五月天婷婷在线视频| 五月天激情无码专区| 久久性爱视频免费| 亚洲午夜AV| 综合色色婷婷| 国产精品成人AV在线| 玖玖婷婷色五月| 黄久久久| 青青日韩| 97视频久久| 六月婷婷色综合| 91要啪| 大香蕉伊人久久| 99热久| 97碰碰视频在线观看免费| 五月婷婷熟女| 日韩三级片一区二区| 中文毛片无遮挡高潮免费| 天天玩夜夜操| 专区无日本视频高清8| 天天天天天天操| 丁香五月激情五月| 爱久综合| 九色视频91| 99久久9| 丁香五月天电影| 五月天婷婷成人网| 色婷小说| 婷婷五月综合免费在线| 国产无人区大片| 色啪网| 日本三级中国三级99人妇网站| 99久久a线观| 国语精品探花| 亚洲va国产va天堂va综合va| 五月天狠狠| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 免费无码毛片一区二区A片| 九九伦子片| 青青草原亚洲天堂| 综合激情网五月激情| 中文网av| 久久色婷婷| 五月丁香六月激情在线| 欧美五月婷婷综合| 92久久| 26uuu国产色| 婷婷精品性性性性性性性| 26.uuu丁香五月婷婷| 婷婷99狠狠躁天天| 2050人人操免费工开爱| 97色婷婷成人综合在线观看| 色A网| 久久久久激情网| 久久黄A片| 色大综合| 久久色情| 婷婷五月天天| 欧美在线视频9| 99热20| 婷婷丁香五月激情图片| 99热这里只有精品最新地址获取| 婷婷在线免费| 五月天久久婷婷婷| 亚洲激情五月天| 99无码视频| 久久婷婷色| 亚洲av网址| 九热视频| 五月丁香婷婷婷婷综合网| 天堂久久精品| 9 1大香蕉| 天啪天啪天啪天啪| eeuss人妻| 思思99久久| 丰满少妇乱A片无码| 六月婷婷色色色| 五月婷在线视频免费播放| 99热12| 玖玖资源在线视频| 热99在线精品| 激情五月六月婷婷综合啪啪| www.yw色| 亚洲 欧洲 国产 伦综合| 九九家庭影院| 激情五月婷黄版| 综合另类激情| 五月婷免费视频久久久| 婷婷五月天AV在线| 99热99| 久久午夜理论| www久| 99精品久久| 好叼操在线观看| 丁香五月天欧美成人| 色哟哟精品| 91女人18毛片水多国产| 六月丁香婷婷拍拍| 五月激情综合网| 丁香花五月天婷婷成人社区| 婷婷丁香69精华| 久久xxxx| 色情婷婷。| 欧美色爱五月天| www.久久久久久久久久.com| 日本五月婷婷久久久六月丁香| 玖玖五月丁香| 激情爱爱网站| www.婷婷五月| 99热热热天天人人人超超碰| 色婷婷狠狠久久综合五月| 99自拍视频在线| 日本色五月| 九月丁香亭亭| 深爱激情五月网| 超碰爱爱爱| 激情五月婷婷网| 综合久久五| 性生活视频98791| 色婷婷久久| 四色综合网| 激情五月天婷婷| 91丨九色丨白浆秘| 五月天婷婷久久| 99热久| 人人操人人妻| 日韩中文欧美| 婷婷伊人网| 色在线免费观看| 色宗合久久五月婷婷| 99噜噜噜在线播放| 五月婷婷开心综合| 丁香婷婷婷| 国产精品日韩十五区| 99热很操老逼| 天天爽天天摸| 97婷婷五月| 久久婷婷丁香| 人人爽在线视频综合网| 婷婷激情四射| 五月婷婷六月开心| 五月丁香亭亭操逼| 色婷婷综合久久久久| 噜噜噜噜噜在线| 成人在线观看精品| 99精品视频在线6| 久久小说| 五月婷婷激情综合av| 超碰成人电影| 日本天天操| 狠狠久综合| 丁香五月综合激情性爱| 成人在线视频网| 五月花成人网| 久9热视频| 26uuu最新地址| 色五月色综合| 日韩在线9| 狠狠干无码| 全网最新网黄大秀直播高清,主播国产录屏在线| 婷婷激情久久| 97色色色色色| 97干欧美| 免费碰碰视频久| 成人婷婷| 无码激情AAAAA片-区区| 久久天天| 丁香五月成人论坛| 五月天丁香婷婷视频网址| 久久大香蕉同僚| 九九九九九九九热| 99热这里有精品首页10| 婷婷色色网| 久久婷婷五月综合色和| 亭亭玉立国色天香| 夜夜嗨一区二区三区直播内容 | 婷婷综合亚洲| 黄色99视频| 婷婷成人av| 丁香五月激情五月| 丁香五月天视频在线播放| 亚洲免费观看高清完整版AV线| 免费三级黄色| 五月丁香啪啪网| 欧美97p| 久久婷婷六月天| 五月久久婷婷天堂视频| 97精品人人A片免费看| 丁香五月天成人网站| 99秘 在线| 丁香六月婷| 男同91| 五月婷婷色播| 日本一道久久| 五月激情黄色小说| www色婷婷久久综合久色 | 五月开心播播网| 色五月在线播放| 综合激情网激情五月。| 日韩欧美不卡| 狠狠操狠狠爱| 欧美性色视频| 色婷激情网| 五月婷婷与六月丁香图片激情| 激情综合视频| 婷婷丁香18| 久久9精品| 五月丁香综合影院| 色综合爽| 日本操片| 九九综合网色全集| 99在线视频网址在线观看| 第四色五月天| 天天爽天天干| 天天做天天爱天天要| 99在线观看视频精品| 综合欧美五月婷婷| 丁香综合伊人| 色5月婷婷色| 色色婷婷婷丁香五月天| 91窝窝| 色婷久久| 九热免费视频| 99re在线精品视频| 综合久久综合久久| 久久色亭亭五月天| 久色婷婷200| 久久丁香五月| 六月丁香社区| 激情小说 五月天| 五月天 另类图片| 色欲色香综合网| 九九热99精品| 免费99情趣网视频| 色情播放| 五月丁香婷色| www开心激情网| 天天插天天干天天舔| 婷婷五月天色综合| 久久 这里只有精品1| 亚洲狠狠婷婷综合久久久| 九九九九九九九热| 婷婷色五月天综合网| 久99热| 視频福利乱色| 91丨九色丨熟女丰满| 九九人人看| 免费观看欧美成人AA片爱我多深| 中文字幕在线免费看线人| 五月丁香六月婷| 五月天婷婷综合色| 亚洲视频综合网| 99久久亚洲国产| 99久精品视频| 丁香六月色香蕉视频| 99亚洲综合| 六月婷婷狠狠色在线观看| 五月婷婷丁香综合| 色色热99| 婷婷六月伊人| 五月婷婷丁香网| 伊人久久艹| 思思热在线视频精品| www夜夜操| 91欧美日韩综合| 风流少妇A片一区二区蜜桃| 国产精品人人做人人爽人人添 | 九九色插| 色九网| 7月婷婷六月丁香| 国产日韩欧美性生活| 五月情色天| 婷婷丁香色五月| 日本九九九九| 99操九九网| 99久久99九九九99九他书对| 97人人草| 激情五月天小说视频| 五月色婷婷影院| 色偷偷AV亚洲男人的天堂| 99干免费视频| 狠狠狠狠狠狠色| 色狠狠六月| 成人av播放| 一起草性爱不卡视频| 欧美日韩一区二区三区四区| 伊人干综合| 99热这里只有在线| 五月婷精品| 久久五月天激情| 伊人久久婷婷| 97干在线看| 996er在线观看| 婷婷亚洲综合| 婷婷丁香成人色综合| 天天干,天天舔| 色大综合| 成人无码髙潮喷水A片| 综合久久六月| 热久久99视频| 操操啪| 日韩无码AV电影网站| 五月天婷婷綜合院| 五月天婷婷中文字幕在线播放| 婷婷五月色天| 午夜在线成人网站免费观看| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 丁香六月婷婷色XXXXX| 色亚洲中文| 天天碰夜夜爽| 五月婷婷五月天| 曰韩少妇内射免费播放| 超碰人人摸人人操| 美女五月天婷婷| 国产成人av在线| 婷婷五月天情色| 啪啪五月天啪啪| 综合色99| 丁香婷婷五月天激情四射| 激情综合一| 在线播放成人网站| 在线中文亚洲| 色99视频| 色婷亚洲| 99噜噜噜| 六月婷婷色| 99综合成人视频在线观看| 丁香五月激情图片| 日本一毛片| 婷婷99狠| 久久九九在线视频| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 狠狠综合久久综合| 丁香五月停停av| 丁香五月天AV在线 | 亚洲六月色| 久久婷婷亚洲五月天| 99热官网| 久久久久久久久久91| 九九热re99re6在线精品| 亚洲狠狠婷婷| 99热这只有| 婷婷久久亚洲| 色五月激情综合网| www.minyis.com【JT】实力收量可预付QQ2101460746 | 久99精品视频| 丁香五月激情婷婷婷婷在线观看| 精品欧美性爱超级爽| 天天舔天天| 丁香九月激情在线视频| 开心婷婷五月天激情网| av网址在线播放| 另类综合网| 91综合在线观看| 狠狠狠狠狠狠| 97人人干| 97亚洲色 torrent magnet| 婷婷色婷婷| 五月婷婷干| 久久天堂女人| 天天色域综合网| 9久热在线精品| 97性视频| 色色无码日韩| 99精品无码| 五月丁香激情综合六月涩涩爱| 97色 五月天丁香| 久久激情五月婷婷| 超级碰碰视频无码| 超碰成人在线观看| 天天操夜夜夜夜爽| 1024欧美看片| 日韩在线观看亚洲| 51XX嘿嘿午夜无码| www.激情| 五月天自拍视频| 色月丁| 色五月欧美| 综合色播| 麻豆123区| 久久婷婷亚洲无码一起| 五月婷久久| 9九热视频| 久热在线中文字幕色999舞 | 五月天婷婷成人网| 色五月婷婷婷婷婷婷婷婷婷婷| 色婷婷丁香五月天| http://www.sd-xiangsu.com/| 色播激情婷婷| 五月丁香啪啪伦理电影| 综合色色网| 97碰碰草| 九九九九这里只有精品| 五月婷婷婷自由综合| 91女人18毛片水多国产| 任你草| 婷婷色5月激情网| 九九热黄色| 成人美女网| 9久热免费视频99| 五月丁香网站在线播放| 91色吧网| 97操操网| 久久婷婷五月| 99成人精品六| 第1影院之五月婷婷| 久久xxxx| 亚洲色色色色色色色色色| 国产日韩欧美| 六月丁香六月婷婷欧美| 久久视频这里都是精品| 日本久久人| 婷婷午夜| 亚卅毛片| 中出内射的人妻视频| 九月丁香婷婷| 亚洲xx网| 五月丁香啪啪啪| 激情亚洲婷婷| cc精品国产性传播| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 在线视频区| 色情五月婷婷| www.com五月天| 丁香五月激情六月综合| 成人视频在线免费播放| 中文字幕日产A片在线看| 99ri视频| 亚洲天堂啪啪| 熟女激情五月天 | 天堂综合久久| WWW.夜夜| 五月情综合| a免费在线| 夜精品无码A片一区二区蜜桃| 激情综合婷婷| 九色无码| 色婷婷五月天激情在线观看| 丁香五月色播中文在线播放| 国産精品| 久久性刺激| 久re热视频| 丁香五月婷婷高清| 五月天色色色| 思思热99热| 色噜噜狠狠色综合日日| 婷婷色情网| 99在线精品视频| 蜜臀av 粉嫩av 懂色av| 极品少妇高潮啪啪AV无码| 色婷婷激情| 人妻久久久久久久| 天天日天天操心| 99热无码| 另类五月激情| 狠狠插日日干撸| 五月网网站| 99热在线免费观看精品| 另类A片| 夜夜资源站| 五月婷中文字幕| 99日在线视频| 综合www色| 久久久精品婷婷五月天| 北条麻妃九九九国产精品视频| 午夜天堂一区人妻| 爽tv | 色色色热| 日韩999| 高清一区二区三区日本久| 被男人添B超爽视频| 疯狂做受XXXX高潮A片动画| 色色日本| 激情九月综合| 久久多色| 欧美视频五区| 久久婷婷亚洲| 五月婷婷视频| 99热国产免费| 色情五月综合婷婷| 激情五月天激情五月天| 久久五月天激情视频| 五月天播播综合| 久色视频首页| 99爱这里只有精品| 99久热这里只有精品视频删减版| 精品在线网站| 任我肏| 丁香激情久久| 99re在线观看| 丁香五月天日韩无码| 中文字幕人妻一区二区| 丁香花综合永久入口| 久久久久久久久久久jjjj| 天堂久热| 精品综合网在线| 韩国不卡AC视频| 五月丁香色婷婷久久| 99久久久久| 夜夜夜夜操| 99热久只有| 欧美久久五月婷婷| 激情五月婷婷六月丁香| 五月丁香六月成人| 六月婷婷五月丁香首页| 久久婷婷亚洲| 91精品久久久久久| 色色色777| 蜜桃五月天| 久久ww| 亚洲乱码日产精品BD| 激情五月天久久| 思思re最新视频| 日本天堂免费99| 狠狠香婷婷五月| 色丁香影院| 婷婷久久精品| 国产激情综合| 日韩人妻白浆视频系列| 日本色色网站| 少妇激情五月婷婷| 26uuu国产精品| 丁香五月手机在线| 婷婷五月综合啪| 大香蕉久艹| www.色欲丁香婷婷| 九九碰九九爱97超碰| 欧美激情五月天在线观看| 久久久精品人妻| 国产精品电影| 九月色婷婷婷| 激情美女五月天| 色热久资源| 99爱在线视频| 日日躁夜夜躁狠狠久久AV| 日本人妻久久| 开心四月婷婷在线色播播| 久久婷婷五月综合激情国产| 很很干天天干| 久久99看免费| 大香蕉五月丁香| 人人看人人要| 99热| 香蕉久久六月| 五月丁香激情综合六月涩涩爱| 中文无码婷婷| 天天干夜夜b| 大香蕉五月婷婷| 狠狠色丁香久久综合婷婷亚洲成人福利 | 六月婷婷网| 丁香五月a| 亚洲亚洲人成综合网络 | 99re这里只有精品99| 五月综合激情视频在线| 国产成人av在线播放| 欧美日韩日韩成人| 思思99re这里只有| 久久丁香五月婷婷| 久久在线大香蕉| 人妻无码精品一区| 五月婷婷操操| 丁香婷婷大香蕉| 色香欲综合| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 亚洲综合狠狠艹| 日日夜夜天天综合| 亚洲小电影在线观看黄999| 久久综合丁香激情五月| 色婷丁香91| 久久婷婷亚洲| 九九精品视频在线观看| 亚洲色婷婷| 色色丁香婷婷综合| 97色色色| 超碰在线网站| 激情五月天婷婷在线网址发给我| www.色五月| 91干| 丁香婷婷网| 99啪| 国产67194| 日本欧美在线| 欧美日韩99| 探花搜索结果 - 黄上黄| 亚洲日日日| 91xxxx九色| 天天综合色| 亚洲五月激情| 亚洲成人AV在线观看| 真实的国产乱XXXX在线91| 丁香五月骚喷水视频| 鲁鲁色五月|