欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
婷婷丁香成人在线视频| 欧美大道不卡| 激情文学久久| 9热在线视频精品| 婷婷丁香六月天| 色天天综合成人网| 国产Va视频| 九九热re99re6在线精品| 99免费在线| 五月婷婷之美女图片| www.超碰在线| 超级黄色片| 精品久久穴| 亚洲国产成人在线| 色色五月天丁香| 99热这里只有精品在线播放| 国产精品国产VA片国产| 噼里啪啦完整版中文在线观看| 99热这里只有精品50| 婷婷色情网| 婷婷九九色| 狠狠狠狠狠干| 久99久视频| 99热| 欧美丁香五月| 操操自拍| 婷婷亚洲综合| 丁香婷婷五月天色播| 六月丁香av| 九热网站| 91亚洲天堂| 99干日日干| 丁香激情五月| 婷婷激情五月天亚洲综合| 这里只有精品视频视频在线观看| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 狠狠色色| 丁香五月性爱| 婷婷在线网| 99ri视频| 五月丁香婷婷钟和色图| 97男人天堂| 婷婷不干网| 综合av在线| 免费观看欧美成人AA片爱我多深| 婷婷在线中文字幕| 五月天婷婷涩涩| 五月丁香色色色| 日韩丁香涩| 99超超碰| 成人在线日韩欧美| 欧美大片免费播放器| 亚洲网视屏| 九九这里是免费的视频5| 五月丁香成人小说| 人妻无码精品一区| A片女女女女女女BBBB| 国产JK精品白丝AV在线观看| 超级碰 久久9| 久久综合综合久久| 色五月激情综合| 五月天色婷婷视频| 99久久五月婷婷| 在线成人视频免费| 少妇大叫太大太粗太爽了A片 | 婷婷五月天黄色| 激情色色| 在线中文字幕免费视频| 九月影院義母在线播放| 日韩av大全| AVV黄| 亚洲第二AV| 99热99| 婷婷五月综合丁香久久| 99ri精品| 深爱开心激情| 五月天社区| 色综合色色| XX色综合| 9 1在线视频| 成人在线精品| 五月激情六月宗合| 亚洲一区二区无码蜜乳av| 丁香5月婷婷| 丁香五月天亚洲视频| 五月婷婷九九热| 99综合| 99热在线观看| 最新久久网址| 日韩精品二三区| 国产免费一区二区三区三州老师F1F1.CC| 99热国产精品| 91干网| 亚洲丁香花色| 久久机热/这里只有精品| 婷婷五月天av| 婷婷五月,偷窥偷拍网| 五月婷婷另类| 91大神操美女| 91九色 熟| 九九热a| 久久机热/这里只有精品| 丁香伊人综合| 丁香大香蕉| 国产精品久久久久久久久久免费| 91干| 99久在线精品99re5热视频| 99热一区| 色综合久久88色综合天天99| 涩涩涩五月天| 丁香婷婷浪潮AV久久综合| 99热碰碰热| 久色国产| 成人无码免费一区二区中文| 色色色视频免费无码| 97操碰在线视频| 天天干狠狠| 丁香啪啪| 久久婷婷五月国产色综合激情| 99小视频网站| 久久久精品婷婷五月天| 深爱激情久久| 人妻熟人中文字幕一区二区| 密臀久久| 国产精品人成A片一区二区| 欧美日韩国产一区二区| 综合久久五月天| 激情开心五月天| 五月天综合久久丁香91| 国产美女视频久| 99干日日干| 九九99精品视频在线观看| 操人妻视频91| 久热久操久热久草国产91| 亚洲激情视频网| 婷婷色网| 免费精品66| 婷香五月| 九九热精品| 99热思思| 日笨久久网| 六月婷婷无码观看| 色色五月婷婷狠狠| 五月婷婷激情综合网 | 婷婷中合| 色综合久久久久久久久五月| 亚洲黄色操逼| 婷婷色正月| 思思久久久婷婷| 夜夜天天久久婷婷| 9|在线观看视频| 久久五月婷天天干| 婷婷色色丁香| 亚洲AV人人操| 婷婷久久欧美| 九九亚洲天堂| 九月婷婷综合| 在线观看亚洲AV| 婷婷色正月| 久9草在线观看视频| 性日本精品| 精品九九久久| 91久久| 玖玖无码中文| 202丰满熟女妇大| 色婷婷丁香五月在线| 久久爱综合| 六月欧美综合色情| 欧美日韩婷婷五月天| 亚洲 五月 婷婷 成人| 亚洲成人在线在线| 天天射影院| 五月丁香欧美综合| 久久国产一区二区三区| 久久婷婷综合五月趴| www,99色| 日韩操人| 99这里有精品视频| 蜜桃婷婷五月| 97偷拍在线视频| 激情六月婷婷| 艾小青av| 色色色色色色色色五月先| 99热偷拍| 。久久久久久久久久久久久久人妻| 伊人久热91网| 综合久久99| 狠狠色综合五月| 五月丁香婷婷99| 亚洲视频二区| 婷婷狠狠97| 91婷婷视频| 久久婷婷五月天激情| 97在线碰| 天天综合色99| 欧美韩国日本| 久久婷婷综| 色99视| 国产精品黑丝| 丁香六月婷婷久久综合| 亚洲色图五月丁香| 丁香五月婷婷欧美成人色图| 免费视频舔| 99视频啪啪| 六月 丁香 视频| 思思热99在线视频| 99在线爽| 丁香色婷婷| 97超级碰人人| 婷婷五月精品中文| 五月天操逼网| 99热在线只有精品| jiujiu无码五区| 伊人热婷婷| 日本猛少妇色XXXXX猛叫| 激情五月天婷婷丁香| 精品国产va久久久久| 久热天堂| 9999热免费视频视频| 九九色综合九九色| 欧美丁香五月97色| 99热资源在线| 久久五月综合| 综合网天天| 天天日人人| 五月婷婷色影院| 久久久久视剧HD| 色五月首页| 操操自拍| 久草五月婷婷| 4399在线日本A片| 亚洲综合色棒| 六月丁香婷婷六月激情综合| 久久在线人妻| 丁香婷婷视频一区二区| 五月天停停成人网| 婷婷五月天男人影院色色网| 99精品在线下载| www.激情在线| 熟女乱论网| www超碰| 狠狠爱夜夜| 99精品视频播放| 99ER热精品视频| 激情综合网五月婷婷| 人妻精品一区二区三区| 五月天婷婷在线播放免费| 午夜性爱影视一区77| 99久热| 人妻AV在线| 婷婷99狠狠躁天天躁中| 97色在线视频| 国产色色网址网站| 五月天婷婷伊人| 一區四區歐美日韓| 亚洲免费99| 热99这里只有精品视频| 99精色| av在线免费播放| 五月丁香激情在线| 99热只有这里有精品| 天天插天天操| 2017狠狠干| 激情久久久久久| 色婷婷五月在线| 国产免费一区二区三区三州老师F1F1.CC| 深爱激情五月婷婷| 日本一级特黄大片AAAAA级| 色婷婷AV在线| 99色综合| 婷婷五月激情基地| 欧洲精品爱爱| 亚洲丁香五月综合| 天堂草在线看www| 天天搞天天爽| 99视频精品在线| 国产精产国品一二三在观看| 五月丁香久久婷| www综合久久| 久热黄色| 五月天在线视频尤物视频在线看| 六月丁香五月婷婷| 香蕉综合网| ..真实国产乱子伦毛片| 任你操精品免费| 国产成人av在线| 秋霞午夜理论| 天天狠狠夜夜狠狠2023| 久/久精品99看9| 国产午夜精品一区二区三区四区| 毛v一区二区视频| 天天久久狠狠色综合| 五月丁香六月在线欧美| 丁香婷婷视频| 99视频只有精品| 日本97在线看片| 97色97干| 天天草天天日| 久久六月综合| 五月婷婷狠狠久久| 99热这里只有精品手机在线观看| 日本色爽| 射满了还射免费在线观看 -午夜版全集-新视觉影院| 婷婷酒色网| 久久久宗合| 欧美日韓成人亚洲精品另类| 九九亚洲| 色都都狠狠色都都色综合色| 丁香六月狠狠| 99热免费精品| 激情五月天色色色| 五月色丁香婷婷中文字幕| 狠狠搞狠狠操| 婷婷字幕在线| 日韩人妻无码一区二区| 色私五月婷婷| 97超级操操| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 9久热这里只有精品| 日韩精品一区二区亚洲AV观看| 亚洲精品久久久无码| 亚洲乱码w在线观看| 色婷婷五月基地在线| 丁香 亚洲 久久| 色婷婷综合久久| 六月婷婷天天操夜夜爽视频| 另类激情五月| 大香蕉 伊人夜| 亚洲尤物在线| 无码人妻丰满熟妇奶水区码| 99惹在线精品免费观看| 91viP在线看| 1024在线观看免费视频| 日本激情五月| 五月丁香综合色婷婷| 99这里有精品视频3| 五月丁香成人网| 九九精品9| 伊人成人宗合网| 日韩无码专区| 大香蕉婷婷色| 色婷婷AAA| 五月丁香啪。| 婷婷情色五月天| 超级97碰碰| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 99热网站| 99这里有精品| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 日日夜夜爽爽| 五月婷婷亚洲天堂97色婷婷| 亚洲噜色| 丁香六月天婷婷| 久久aaaa片一区二区| 色色无码| 欧美日本一区二区三区| 日本wwww在线| 激情五月天综合网| 综合网啪啪| 婷婷五月天激情网| 久久久99久久| 深爱激情五月天| 天搞天天天天天| 午夜五月天| 99久久久久| 色五月丁香五月| 五月丁香啪啪激情| 婷婷久久久| 五月情四婷婷| 色99久草在线| 可以免费观看的AV| 久久久久久激情| 色色色色热| 婷婷国产日本欧美| 久草婷婷视频| 综合色图区| aaaaa不卡| 国产激情综合五月久久| 99热这里只有精品最新网址| 久激情| 1024操逼视频| 二人电影免费版在线观看| 777精品久无码人妻蜜桃| 色五月婷婷、老熟女| 伊人婷婷福利网| 色婷婷丁香五月在线观看| 五月婷婷九九热| 五月婷婷六月天| www.sd-xiangsu.cpm| 伊人在线视频| 婷婷五月天AV在线| 青青操绿aaa一区日v| 亚洲成人无码专区| 久久总和99| 青草网在线观看| 精品亚洲国产成AV人片传媒| 丁香五月av| 日本一级一级一级一级| 久草婷| 8区视频在线| 草操AV在线| 玖玖@三月天天丁香婷婷| 午夜丁香综合婷婷| 激情综合网激情五月丁香| 日本狠狠干| 五月丁香激情婷婷综合| 激情五月综合网最新| 婷婷综合五月| 天堂久久婷婷| 青青福利网| 色色色五月婷| 玖玖婷婷色欲| 超碰国产在线| 五月狠狠| 五月天综合影院| 99色色爰| 91色操| 97人碰人操| 色五月激情综合网| 婷婷五月丁香六月| 狠狠操天天日| 天天日日人| 人人操人人干AV| 国产精品第一国产精品| 久久99网| 久久视频婷婷| 亚洲色爱综合| 久久精品66| 色五月开心婷婷| 大香蕉欧美在线| 国产人妻777人伦精品HD| 中文字幕在线免费观看视频| 久久思思热| 天天干-天天日| 色啪综合| 婷婷五月综合在线| 精品国产AV色一区二区深夜久久| 久9久9久9久9久9久9| 综合网五月天123| 91Chinese在线| 五月伊人婷婷999| 日韩成人影片网站| 丁香五月五月婷婷欧美大香蕉| 激情综合久久| 996热re视频精品视频| 成人性爱无码| 深爱1激情网| 色婷婷伦理| 亚洲国产成人综合| 成人午夜无码视频| 草一草avb| www.com任你艹| 青青久久91| yw国产AV| 婷婷丁香综合色AV| 丁香五月天社区婷婷| 91在线操逼视频| 国外亚洲成AV人片在线观看| 天堂无码人妻精品AV一区| 色综合天天综合成人网| 5月丁香啪啪啪| 涩综合网| 久操婷婷| www.婷婷| 中文字幕日产A片在线看| 九月婷婷综合| 少妇水多A片太爽了| 人人摸人人干| 午夜不卡久久精品无码免费| 九月丁香婷婷基地| 91在线看片| 婷婷色五月天色色| 婷婷五月大香蕉| 99热亚洲| 玖玖在线资源视频| 九九九九九九九热| 日婷婷久久开心| 五月丁香激情综合网| 五月婷婷丁香五月天| 操一操干一干| 婷婷五月花| 亭亭玉月丁香| 日韩精品视频中文字幕| 任你干线上免费视频有3吗| 亚洲人成网站999综合| Av免费网站在线| 97超级碰碰碰| 亚洲婷婷在线播放十月| 伦99热| 亚洲天码视频www蛋播视频| 五月天播播中文字幕| 久久免费操| 丁香六月欧美| 操逼电影免费看| 97热久久| 五月婷成人网| 2025色婷婷| 91色操| 婷婷香蕉| 99re在线免费视频| 99国产小视频2013| 亚洲色情网站| 99精品热| 五月伊人婷婷999| 六月婷婷激情| 色色COm| 99热这里都是精品| 激情久久伊人| 久久婷色| 5月丁香婷婷激情网| 丁香啪啪| 另类图片五月天婷婷| 色碰碰视频| 丁香五月精品| 婷婷激情六月| 98永久精品| 天天草天天爱| www,色婷婷| 黑人巨粗进入警花疼哭A片| 熟美女麻豆| 婷婷六月丁香在线| 亚洲成人超碰| av不卡网站| 少妇激情基地| 日本va欧美va国产激情| 亚洲亚洲人成综合网络| 亚洲色情久久| 99人妻碰碰碰久久久久视| 亚洲精品V天堂中文字幕| 婷婷欧美激情| 天天操天天日天天操| 五月天婷婷视频| 久久婷婷大香蕉| www.精品99| 日本不卡中文字幕| 亚洲综合在线网站| 天天舔日日肏夜夜爽| 夜夜爱网站| 99热资源在线| 欧美25p| 成人αV视频免费观看| 日本久久99| 人妻久久久| 亚洲网站观看视频| www.爱操com.| 欧美经典片免费观看大全| 色婷婷免费观看| 亚洲这里只有精品| 超碰在线个人观看| 夜夜撸日日骑| 九一娱乐在线观看视频| 久久99久久99精品免视看婷婷| 综合久久99| 亚洲色激情| 欧美黄色AA片哗啦啦啦| 婷婷六月香| 色五月开心开心五月激情五月| 天天日夜夜爽| 色婷婷在线综合色播网| 丁香五月激情在线| 超碰啪啪网| 丁香五月天啪啪激情综和网| 偷拍九九热| 嫩BBB槡BBBB搡BBBB视频| 五月天精品| 色婷婷成人丁香| 久久综合人妻| 久久综合网免费视频| 激情五月五月婷婷| 亚洲中文无码成人| 成人国产欧美大片一区| 日日操,夜夜爽| 激情五月丁香五月综合| 五月丁香啪啪综合| 铁牛TV人妻| 91婷婷色 | 丁香五月综合亚洲| 极品五月天| 五月婷婷影| 人操人人| 婷婷综合五月天| 特黄三级片| 99热在线播放| 五月社区丁香| 九九99九九精品视频| 五月丁香六月婷婷在线| 色五月天丁香婷婷| 久久丁香五月天| 久久网站观看免费欧洲国产| 婷婷五月天你懂的| 五月天色视频| 五月天激情四射网站| 国产 亚洲 在线| 激情六| 亚洲最大成人综合网720P| 天天射天天射一道本日本社区 | 亚洲综合碰| 97碰碰视频| 五月天无码| 成人中文网| 亚洲综合激情五月久久| 婷婷五月天成人五月天| 99riAV成人在线视频| 婷婷五月天影视首页| 欧洲亚洲免费视频9| 婷婷久热| 国产偷人妻精品一区| www.91久久| 国外亚洲成AV人片在线观看| 久久精彩视频| 丁香五月天人体| 五月丁香婷婷色播无码| 99热激情| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 婷婷五月AV| 亚洲精品乱码久久久久久综合| 色在线免费观看| 亚洲啪视频| 啪啪啪五月天| 91人人操人人| 日本道久久91| 丁香五月av| 色五月婷婷老师| www.国产亚洲69ty.久久久久久久久久久久 | 任你操精品免费| 国产毛片欧美毛片久久久| 色色A| 无码网| 丁香六月婷婷综合啪啪| 超碰免费人| 色婷丁香| 婷婷五月免费视频| 色婷婷五月天成人网| 五月综合激情| 99日视频在线| www久视频com| 五月婷婷激情五月| 久久9精品视频| 日撸夜撸日操| 色五月开心五月激情五月| 9久热在线视频精品| 99欧美精品99日本精品| 丁香六月婷婷| 五月婷婷天| 丁香婷婷九月| WWW.婷婷| 婷婷五月六月丁香综合| 6月丁香婷婷激情| 色欲婷婷五月天| 91丨九色熟女丨首页| 激情综合丁香六| 思思热在线观看| 97久久人人操| 综合一区二区三区| 婷婷成人视频| 国产在这里只有精品| 天天干夜夜欢| 天天舔天天插天天干| 婷五月天天| AV电影在线播放| 26uuu精品一区二区| 人人叉久| 久久宗合影| www久久久久久| 啪啪五月婷婷| 久久九九经典| 久久婷婷东京热大香樵| 性爱五月婷婷| 99热69| 艹天天射| 91凹凸在线| 五月天婷婷綜合院| 欧美 日韩 成人 在线| 中文字幕av在线播放| 4399高清无码视频| 九九婷婷综合| 色九月婷婷| 99re这里只有精品9| 九九色综合| 狠狠色噜噜狠狠色噜噜噜999| 色,激情五月天| 2015好吊操| 再次出发二| 亚洲尤物在线| 开心五月深爱婷婷| 超碰高清在线| 五月婷六月| 婷婷香蕉| www超碰com| 香蕉五月婷婷| www.91九色| 草综合网| 日日懆天天懆| 激情网婷婷五月天| 啪啪91| 日本乱子人伦在线视频| 亚洲日本三级片| 色99婷婷五月天| 99九九99九九九视频精彩| 久久香蕉影院| 五月天婷婷黄色| 色婷婷色99国产综合精品| 成人av在线网站| 超碰精品在线| 婷婷丁香综合在线| 99热国产| 日韩精品无码99| 69色婷婷| 99精品偷自拍| 综合色婷婷| 婷婷丁香69精华| 色欲五月婷婷| 五夜婷婷| 91久久久久| 超碰在线人人| 色综合日日| 久久婷婷综合基地| 久久99热网| 色婷婷综合影院| 狠狠香婷婷五月| 99re热视频这里只精品5| 婷婷色五月激情| 97人人妻人人艹| 日本超碰在线| 人人人舔人人人操人人人摸人人人97 | 色婷五月| 婷婷日本在线| 五月天婷婷基地丁香| 99视频这里有精品免费观看| 丁香六月欧美| 日韩情色在线观看| 婷婷五月天亚洲天堂| 91婷婷丁香五月| 爱爱网址9| 中文字幕AV在线播放| 色六月视频| 色色色999| 特级操b片| 少妇人妻凹凸视频| AV电影在线播放| 婷婷色五月开心五月| 婷婷色五月色妇| 婷婷五月无码| 午夜丁香综合婷婷| 人人摸人人干人人做| 色色综合网站| 五月色网| 99精品国产在热久久婷婷| 99婷五月| 五月天婷婷丁香花| 九九在线精点品| 国产免费一区二区三区三州老师F1F1.CC| 99色视频在线观看| 五月天激情四射| 婷婷五月天激情电影| 噜噜噜久久亚洲精品国产品91| 久热伊人| 99热色无码| 成人在线精品| 女操碰| 99热精品在线在线| 国产亚洲99久久精品熟女| 丁香花五月天| 成人做爰A片免费看视频| 国产超碰在线| 婷婷五月天AV| 国产成人AV在线| 亚洲AV网址| 97黑人精品区| 少妇性按摩无码中文A片| 成人在线免费网址| 天天色,天天日,天天做| av网站免费在线| 五月综合六月丁| 五月日韩中文字幕| 久久这里有精品99| 曰韩五月丁香色婷婷无码| 青青草深爱激情网| 九八Av| 99在线视频在线观看| 被强行糟蹋的女人A片| 激情五月天在线| 婷婷成人五月天| 婷婷五月天激情综合| 国产成人片| 天天操九九插| 婷婷操无码| 色婷婷社区| 成人网页在线观看| 婷婷丁香九月| 第四色婷婷日本| 中文字幕成人| 99色热综合| 人人操人人爱丁香五月| 色综合久久伊伊婷婷五月| 无码少妇高潮喷水A片免费| 成人小说 五月天 婷婷| 激情玖玖sh| 五月天另类图片| 狠狠久久婷婷| 99热国产精品| 成人久久天天x资源站| 蜜桃成语时李时珍 免费| 丁香五月婷婷激情123| 五月丁香婷婷狠狠操| 婷婷亚洲综合| 色色婷婷五月天| 久久99久久99久久99人受| 影音先锋 91工厂| 日本A片一区| 久久婷婷五月丁香网| 狠狠艹狠狠艹| 亚洲免费成人电影AV| 天堂久久精品| 人妻视频在线| 婷婷精品| www.五月.com| 99天堂网| 日本久久色| 99精品一二三四视频| www.99热国产| 免费看片在线观看| 五月天色不卡| 五月激情天天干| 九九热九九| 亚洲激情四谢| 色~性~乱~伦~噜| 综合色天天| www.久久9| 五月花婷婷| 人人草人人爱| 南京搡BBBB搡BBBB| 67194中文字幕| 香蕉久久国产AV一区二区| 99热精品在这里| WWW色综合| 五月婷婷黄色毛片| 五月婷婷色| 五月婷婷六月色| 婷婷六月婷婷| 五月婷婷与六月丁香图片激情| 99超超碰| 天天色色天天| 色99网站| 亚洲射激情| 九九热黄色| 色婷婷另类| 99精品国产在热久久| 玖玖婷婷色五月| 天天综合亚洲综合| 99视频内射三四| 天堂在线婷婷| AV片一区在线观看| 五月婷六月| 激情深爱五月天| 五月婷婷六月奇米网丁香| 思思99热这里只有精品| 伊人九九综合| 日本偷拍九九九| 亚洲A片成人无码久久精品青桔| 中国激情网| 婷婷色五月天第7色| 六月婷婷av| 丁香五月综合首页| 超碰免费观看| 超碰97在线操| 思思热在线观看| 丁香六月婷婷开心| 婷婷五月天综合AV| 五月婷婷六月丁香激情| 精品九九视频| 婷婷五月激情丁香激情| 色五月丁香六月资源站| 五月丁香好婷婷A片网| 九九九九成人| 中文字幕高清av| 婷婷五月天VI| 免费超碰在线观看| 国产毛片欧美毛片久久久| www.婷婷五月| 91操碰| 99热婷婷| 久久五月视频| 九久9精品| 欧美色色色色色色色| 天天干一干| 天天做天天爽| 爱婷婷都市激情| 99免费| 思思热视频| 色五月激情五月| 激情五月天社区| 五月丁香五月综合欧美| 99这里只有精品视频| 天天日天天摸| 久久视频婷婷| 五月丁香色| 日韩欧美一级大黄网站| 日本色色色| 99无码视频| 婷婷五月天久久| 久久久婷婷婷| 精品夜夜澡人妻无码AV| 日韩人妻白浆视频系列| 久热A片| 综合久久六月| 五月婷婷深深爱| 五月婷婷色色色| 亚洲精品乱码久久久久久按摩观| 丁香六月狠狠| 全国最新疫情| 色情五月停停丁香| 日日干日日| 99无码视频| 嫩BBB槡BBBB搡BBBB| 在线成人va| 天花AV无码| 成人电影在线免费试看| 那里有AV网址| 五月丁香伊人网| 情久久综合五月天| 99热国内精品| 五月丁香婷婷综合| 丁香六月丁香婷婷激情| 六月综合婷婷开心伊人| 丁香五月综合婷婷| 免费99情趣网视频| 热成人网| 五月婷婷影院| 国产成人精品一区二三区熟女在线| 丁香五月婷婷天激情| 久婷自拍视频| 婷婷五月综合在线| 天天干天天 亚洲| 日日夜夜狠狠| www.91色| 爱狠射| 深爱五月月天| 天天射色五月天| 日韩无码成人电影| 丁香狠狠干| 91婷婷色| 婷婷成人五月天一区| 婷婷另类小说| 开心五月深爱五月| 九九精品re免费视频| www,久久久| 色婷婷色五月综合| 色五月综合激情| 影音先锋 萱萱| 午夜成人天堂久久无码日韩久久| 九九视频精品在线免费| 日韩色久| 色99综合色88| 超碰人妻在线| 婷婷婷婷色| 五月丁香婷婷色| www,色综合| 国产精品五月丁香| 五月丁香激情综合啪啪| 欧美色片中文字幕久久久久| 久热中文字幕| 久久这里只| 婷婷伊人网| 涩玖玖免费视频| 五月丁香五月丁香| 99精品久久久久| 激情综合网激情五月婷婷| 97九色| 思思热在线精品视频| 99re6在线视频精品免费| 丁香五月情| 五月婷婷六月开心| 欧美黑人巨大性生话| 欧美色99| 99精彩视频| 97色精品视频| 色六月丁香婷婷狠狠干| 久热九九| 久久五月天色婷婷| 综合色五月| 激情综合网激情五月俺也去| 操操操www.com| 九九热精品99| 色婷婷丁香社综合| 欧美va欧美va差| 国外亚洲成AV人片在线观看 | 开心五月天激情| 久久香蕉影院| 激情五月丁香色婷婷| 天天爽夜夜爽天天爽夜夜爽| 欧美在线| 亚洲中文丁香| 丁香五月天啪啪| www.五月婷婷.com| 开心婷婷丁香五月| 葵花AV在线| WWW.99热| 91九色白丝| 久久婷婷一级片| 国产五月视频| 天天干夜夜b| 可以免费观看的AV| 狠狠色狠狠干| 婷色五月| 99r久久这里只有精品| 99ri精品| 五月丁香色婷婷伊人| 99热久| 欧美群妇大交乱婬网| 91狠狠综合久久| 精品久久99| 五月天伊人网| 五月婷婷六月丁香激情深爱| 色五月综合在线| 丁香六月婷婷久久综合八月| 五月天激情小说| 99人这里只有精品| 国产精品涩涩涩视频网站| 色婷婷色五月丁香| 在线看片h站| 99热12| 色五月激情综合网站| 欧美α√| 黄色精品五月婷婷| 色色五月婷| 大香蕉av在线| 五月婷婷啪啪| 婷婷色导航| 五月丁香六月激情狠狠| 九月丁香婷婷基地| 九九精品视频在线观看| 美国不卡视频| 亚洲成人影视在线观看| 丁香九月综合| 亚洲V国产V欧美V久久久久久| 天天干天天干天天干天天干天天干天天 | 第2色五月婷| 日本乱子人伦在线视频| 一级操逼内射在线视频| 日韩三及成人AV片| 久久婷色| 色色丁香五月婷婷| 欧美婷婷色五月网| 九九热中文| 99久久久国产大片| 久久综合中文| 丁香六月婷婷高清| 亚洲综合欧美色丁香婷婷888月图片| 丁香五月偷拍| 色色综合色视频| 北条麻妃九九九国产精品视频| 激情五月婷婷丁香| 五月婷在线观看| 久久久天堂国产精品女人| 91婷婷五月天嫩女| 丁香久久| 午夜微拍福利| 五月天久久久| 99久久综合精品五月天| 九九热精品99| 色99在线| 激情五月天视频| 天天日日人| 秋霞网在线免费基地五月婷婷丁香| 久久性操| 激情小说之五月| 国产9色在线/日韩| 99原创自拍视频在线观看| 国产精品美女| 亚洲五月天综合| 日本色久| 天天插操| 久热伊人| www,26uuu,c0m,色情| 天天日天天添| 久久青青日本视频| 高清无码网址| 热99精品视频五月| 丁香五月亚洲婷婷| 丁香五月91| www.99.色| 来吧亚洲综合网| 99热只有这里有精品| 色月视频| 久婷| 91九色成人原创视频| 综合五月天| Av九九| 99热无码首页| 婷婷五月天日逼| 在线中文字幕av| 操操操91| 久久艹 五月天| 99这里| 久草狼人| 毛片色五月| 色999五月色| 色播五月婷婷| 99干99| 精品九九婷婷| 激情亚洲五月| 伊人激情AV一区二区三区| 丁香激情网| 亚洲第一综合| 日日日天天干| 国产一级婬片毛片| 3pAV| 天天狠狠婷婷在线| 色婷精品91| 性爱人人网| 日本在线观看91| 婷婷丁香六月天| 亚洲精品又粗又大又爽A片| 丁香五月天激情视频| 99超级碰碰| 久久五月丁香| 激情五月丁香六月综合AVXXXX| 天天色色婷婷| 天天噪夜夜爽| 久久ER视频com| 开心 五月 综合| 《诡秘之主》在线观看| 无码激情| 99热18| 天天做天天爱天天搞| 大香蕉五月天婷婷| 99九九热在线观看| 成人一级片| 91成人电影| 好看的国产精品| 大香蕉五月婷婷| 中文字幕人妻在线| 丁香蜜臀黄色婷婷五月天| 九九青草热| 午夜爱爱网站| 久久资源网五月婷| 97中文在线| 99色激| 婷婷五月天色丁香| 丁香 婷婷五月| se99在线| 五月丁香六月婷婷久久久综合| 99久久综合精品五月天| 热99热9| 深爱开心激情| 亚洲va欧洲va国产va不卡| 色色射| 精品99在线| av大香蕉| 婷婷五月在线视频| 日本不卡一区二区三区| 666555。COm毛片| 久久久久9久无码视频| 狠狠色狠狠色综合日日91| 伊人狠狠色婷婷综合丁香一区| 婷婷色五月激情强奸四射| 99久久99九九99九九九| 色五月婷婷 成人| 六月婷婷狠狠色在线观看| 久久一二三视频| 婷婷五月天激情免费在线观看| 噜啊噜在线| 色五月婷婷久久| 成人无码精品1区2区3区免费看 | 97碰碰九九视频| 婷婷五月丁香A∨| 粉嫩av懂色av蜜臀av熟妇| 激情五月图| site:ornaments52.com| 日韩aaaaa| 开心深爱激情网| 影音先锋男人女人| 色噜久| 婷婷五月天播| 五月婷婷丁香色播网| 99久久五月婷婷| 99这里只有| 热久综合| 99热主页日本| 色 丁香婷婷| 色综合伊人网| 中文字幕黄色片| 国成人网| 欧美久热| 亚洲夜夜操| 久久久激情| 91大操| 99无码视频| 夜丁香五月婷婷| 九九热av| 嫩草免费视频| 亚洲色久| 久久人妻伦理| 色婷婷色99国产综合精品| 五月九九综合| 超碰在线91| www99热| 日本99久久| 金品在线视频99| 综合色天天| 亚洲情色一区| 亚州男人天堂婷婷五月| 99精品久久久久久久婷婷| 色婷婷激情五月天在线观看| 97福利视频| 久热9热| 丁香六月视频| 情色五月天网站| 色天使久久综合| 精品无码av丁香五月激情| 天天综合精品| 5月丁香美女影院| 99免费视频久久| 91视频综合网| 成人AV片播放| 99在线观看精彩视频| 91色吧网| 奇米色大香蕉| 丁香六月 人妻| 疯狂做受XXXX高潮A片| 开心色色五月天综合| 精品99这里有| 久婷婷婷| 人妻在线网站| 欧美va亚洲va在线播放| 欧美日韩99| 97碰在线| 五月丁香婷婷视频| 丁香狠狠色婷婷久久无码视频| sisi热国产| 99久视频| 婷婷狠狠操| 精品乱码久久久久| 久久九九热re6这里有精品| 欧美99热| 五月天开心网| Av大香蕉| 成人婷99最新| 色婷婷AV在线| 综合网五月| 五月丁香花激情啪啪网| www.超碰在线| 亚洲12p| 婷婷丁香五月天综合AV| 五月天婷婷伊人| 99热全是精品| 深爱激清网| 婷婷五月综合社区在线| 99福利视频| 97超碰免费超级在线观看| 电影《战争与艾拉》免费观看| 婷婷久久大香蕉| 日本一级特黄大片AAAAA级| 天天干天天日天天操| 91精品久| 久久人妻视步| av人人操| 色丁香五月| 美欧成人视频| 婷婷久久免费| 92国产福利| 97操操操| 开心婷婷中文字慕| 99热在线观看| 欧爱综合视频|