免费国产精品自在自线-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
返回資訊列表
五月天婷婷三级黄| 99日本精品视频热| 五月婷婷69| 久久婷婷午夜| 新99色色色色色色| 夜夜 操无码| 嫩草极品| 色五月大香蕉| 激情小说视频图片| 99热精品99| 日木狠狠干| 日韩熟女啪啪视频| 国外亚洲成AV人片在线观看| 日本精品久久久久中文字幕| 五月丁香| 国产精自产拍久久久久久蜜| 五月色亚洲| 五月丁查人人| 丁香五月无码| 日本不卡五月婷婷丁香| 久久av电影| 五月停停999| 色婷婷五月天视频在线| 天天拍久久| 综合性爱网| 丁香六月天婷婷色| 九九热青草| 大香蕉婷婷五月天| 久久新地址| 色色亚卅| 日本欧美国产| 天天天摸夜夜夜玩| 婷婷五月深深爱| 五月天六月丁香| 国产熟女大叫受不了| 精品人妻午夜一区二区三区四区| www.色五月| 久久久久er热| 国产成人+综合亚洲+天堂| 婷婷成人AV| 天天日,天天插| 六月婷色六月| 激情小说婷婷五月| 伊人五月综合网| 99精品视频免费| 99热在线观看这里只有精品| 激情欧美丁香五月| 六月色色| 99爱免费在线观看| 人人干AV| 婷婷五月天免费视频| 丁香婷婷五色月| 亚洲成人影视在线观看| 五月丁香激情综合| 丁香五月婷婷激情中文| 玖色色综合| 久操大屁股女人av| 久久 中文 日本| 天天综合网~91| 亚洲综合色成丁香五月色| 欧美成人猛片AAAAAAA| 国产亚洲精品AAAAAAA片| 天天操婷婷| 超碰在线99| 天天综合网、天天综合色| 99久在线精品| 婷婷成人五月天一区| 欧美色骚婷婷五月天| 综合久久婷婷五月丁香| 天天摸人人摸| 丁香色综合| 激情久久久久| 日本欧美成人片AAAA| 99国产精品白浆在线观看免费| 开心五月激情网| 乱精品一区字幕二区| 成人国产欧美大片一区| 婷婷射图| 激情综合网 激情五月天| 玖玖精品视频99| 激情久久综合网| 婷婷丁香综合| 99热这里只有精品98| 丁香五月天婷婷久久综合| 操逼在线视频| www.激情| 五月综合激情网| 伊人婷婷91| 亚洲最大在线| 狠狠操狠狠做| 美臀自射自家人妻| 五月天另类激情在线| 丁香婷婷五月色成人网站| 97人人干人人操| 婷婷五月天综合网| 六月丁香激情| 亚洲无码成人性爰网| 婷婷射婷婷舔| 北京熟妇搡BBBB搡BBBB| 99久热在线精品| 丁香五月激情图片婷婷| 中文字幕在线免费| 色色色9| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 91久久久久久| 五月婷婷丁香大香蕉| 久久久www| 综合99在线| 丁香色色网| 狠狠色综合网站| 欧美精品99| 亚洲无AV在线中文字幕| 另类激情五月天。| 色婷婷成人网| 天堂亚洲 在线| 亚洲无码成人网| 激情五月天色婷婷| 久久久亚洲精品一区二区三区浴池| 欧美日韩国产一区二区| 夜丁香五月婷婷| 超碰99在线观看| 九九视频这里只有精品| 99国产精品久久久久久久久久久| 丁香五月婷婷久久综合激情网 | 六月丁香激情| 91seAV| 亚洲性天天| 丁香五月婷婷综合啪啪| 婷婷大美在线| 被男人添B超爽视频| 久青操| 人妻VideOssS人妻高清| 亚洲xx在线| 久久婷婷成人视频| www夜夜操| 丁香六月激情四射| 丁香婷婷五月色成人网站| 亚洲超碰青涩| 99re这里只有精品视频了| 精品色色网| 国产激情在线| 91美女被操| 亚洲五月色| 亚洲妇女熟BBW| 婷色人人狠| 婷婷成人AV| 超级碰碰一区| 97精品综合| 久热网在线视频| 婷婷中文在线| 91久久久久久| 夜夜骑操AV| 另类激情五月| 玖玖国产视频一区| 久久思思热| 六月婷婷六月天天在线免费| 香蕉综合网| 在线视频你懂得| 亚洲乱码w在线观看| 五月丁香淫淫婷婷婷| 大学生高潮无套内谢视频| 国产日产成人亚洲欧美国产VA| 午夜成人网站在线观看| 无码se| 成人精品在线| 狠狠干天天内射| 超碰成人免费| 26uuu欧美激情另类| 日本色色影片| 免费亚洲婷婷| 五月丁香网av| 爱iii做iiii日日| 国产VA亚洲VA96| 色原狠狠综合| 99精品综合| 五月丁香色婷婷婷基地| 骚逼视频一区2区| 婷婷五月天狠狠| 日本情色一区二区| 五月天色婷婷综合| 色一情一乱一乱一区91Av| 久草狼人| 99无码视频| 超碰免费人人肏| 丁香欧美| 色区久久| 免费观看日韩成人av| 丁香午夜天| 国产操B视频| 色色色免费视频| 婷婷丁香午夜综合影视| 新激情综合| 激情九月综合| 99精品7| 亚洲精品另类| 六月激情综合| 婷婷性爱五月天| 五月天丁香久久| 色婷婷影视| 99视频久久免费视频| 色香欲综合| 综合激情五月天六月婷免费视频| 99热这里全都是精品| 五月天免费色| 大香蕉五月婷婷| 五月总合激情网| 91麻豆国产三级精品福利在线观看| 五月天婷婷深深爱| 五月丁香婷婷色| 嫩草AV久久伊人妇女超级A| xxx日本东京热| 久久婷视频| 99综合网| 91在线日| 五月天综合| 久鲁鲁色网| 激情婷婷99| 人妻久久久久久久| 五月天婷婷爱| 久久亚洲激情五码| www 五月天 com| 影音先锋 一区| 婷婷亚洲色| 婷婷五月免费视频| 99在线精品视频免费观看20| 天天做天天要天天爽| 婷婷色在线播放| 免费无码毛片一区二区A片 | 天天爱天天天射AV| 久久久网站| 泰州成人视频| 五月色丁香视频精品| 91天天操天天干天天射| 中文字幕综合| 日本色色网站| 五月丁香人妻| 99在线视频女女视频| 艳妇野外情欲放荡HD| 日本啪啪网| 精品五月天| 五月激情综合激情五月| 亚州激情网| 超碰猛烈的性猛交| 欧美日韩123| 九月大香蕉| 婷婷色色综合| 五月丁香亚州综合网| 丰满少妇乱A片无码| 久久久噜噜噜久久人妻| 成人片黄网站色大片免费毛片| 五月婷婷欧美| 青青草成人网| 日韩成人电影AV| 久久性爱视频网站| 婷婷五月天成人| 99热这里有精力| 97色天堂| 色丁香五月| 色爱综合网| 99热亚洲精品| 九月婷婷色色| 伊人五月天在线| 色色射| 六月丁香色色| 五月丁香色综合| 可以免费观看的AV| 97超碰婷婷五月天| 久草嫩草在线观看| 九九色欲网| 亚韩在线视频| 久久五月丁香六月婷| 五月天婷婷青青| 丁香五月天欧美| 日日激情网| 丁香六月色婷婷| 亚洲热视频| 黄色片区子| 色香欲综合| 久久久GOGO无码啪啪艺术| 被强行糟蹋的女人A片| 日木WWW视频| 欧美日本99| 婷婷五月中文字幕| site:minyis.com| 亚洲综合五月天综合| 丁香色情五月综合网站| 五月丁香婷婷色色色| 婷婷色导航| 噼里啪啦完整版中文在线观看| 三级av在线| 96色婷婷| 婷婷 激情 五月| 99爱免费视频| 久久免片| 亚洲第二AV| 伊人久久99| 五月丁香婷婷成人伊人网| 五月婷婷丁香瑟瑟视频| 99色色| 五月婷婷亚洲天堂97色婷婷| 激情丁香社区| 色色哒五月婷婷六月丁香| 九九色播五月丁香| 开心五月激情网| 99热精品在线免费观看| 六月撸婷婷| 欧美日比视频| 亚洲国产精品SUV| 色综合天天综合成人网| 成人做爰黄A片免费看直播室男男| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 日本99视频精品免费播放| 超碰人人操人人9| wwww.色婷婷| 九九青草热| 在线婷婷| 激情综合色婷婷啪啪六月天| 精品一区二区三区四区五区六区| 丁香激情五月天| 色色色色色综合| 五月丁香婷中文| 亭亭五月天黑人2014| 五月婷婷第四色| 日韩操人| 日日操无码| 亚洲天堂久久| 98永久精品| 色婷婷五月综合| 99综合色色色| 婷婷五月天激情综合| 色色国产| 成人综合视频网址| 亚洲综合字幕色色| 午夜激情五月天| 男女99免费视频| 日本在线观看91| 狠狠色丁香五月婷巨| 艾小青av| 熟妇人妻中文字幕无码老熟妇| 狠狠色色色| 天天日综合网射| 六月丁香婷婷五月| 日韩成人网址| 九九九九综合| 色婷婷久久综合久色| 久久久.COM| 国产精品色情AAAAA片软件| 情一色一乱一伦一91A| 性爱动图国产麻豆一区二区三区| 久久婷婷五月综合啪| 婷婷丁香五月天综合AV| 伊人狠狠操| 91一起操| 秋霞日本免费毛片A片| 丁香五月激情六月| 久99热| 大香蕉中文| 五月天激情美女久久| 色青青五月| 午夜丁香| 99re免费精品视频| 久久婷婷亚洲| 久热伊人在91| 色大综合| 亚州色综合| 精品人妻久久久| 精品人妻一区二区| 这里只有精品在线视频精品| 五月丁香六月激情| 婷婷五月天伊人在线| 日本啪啪网| 99视频日韩| 狠狠色综合精品视频在线| 国产av天天插天天操天天爽| 婷婷五月天成人基地| 久久综合五月天| 丁香六月婷婷| 麻豆WWWCOM内射软件| 亚洲精品亚洲人成人网| WWW,激情五月天,COM| 九九99一区| 激情性爱五月天网页| 天天做天天双| 婷婷五月花| 五月婷婷综合网| 在线观看的av| 丁香五月婷婷狠狠色| 欧美内射AA| 熟女激情网| 国产在这里只有精品| 97香蕉碰碰人妻国产欧美| 色婷婷五月天| 狠狠 婷婷| 五月丁香综合| 激情综合亚洲色婷婷五月| 国产精品久久久久久久久久免费| 欧美日韩大黄| 久久99精品久久久久久青青AR| 五月婷婷在线免费观看| 欧洲一区二区| 涩五月婷婷| 青青草婷婷综合五月| 五月天婷婷网站| 色五月首页| 国产永久一黄| 六月丁香婷| 99热这里只有精品23| 婷婷伊人久久无码色五月| 5月婷婷六月丁香| 欧美偷偷操| 超碰9| 九色视频91| 丁香六月婷| 思思热精品免费视频| 超碰在线99| 婷婷久久色| 亚洲 视频 导航 一区| 99热1| 五月激情啪啪| 五月丁香影院| 亚洲精品操一操、噜一噜、摸一摸、爽 | 超91热| 五月婷婷婷婷网| 伊人玖玖婷婷| 国产亚洲在线观看| 日日夜夜久| 人妻久久久久| 久久婷婷五月综合色天| 国产免费一区二区在线A片视频| 99热国产国产| 丁香六月综合激情| 色天使色综合| 九九综合| 九九热在线视频观看| 五月婷婷www| 国产69久久久欧美黑人A片| 五月天激情视频五月天| 色综合九九| 国自产拍偷拍精品啪啪一区二区| 99久久综合| 天天色综合网吨吧| 久久久久久久综合狠狠综合| 五月丁香婷色| 野外99热| 26uuu欧美| 99精品网| 秋霞三及片| 第九色区av天堂| 无码区婷婷五月花开| 色色激情五月天| 日本wwww在线| 丁香青青五月天| 丰满老熟妇BBBBB搡BBB| 婷婷在线精品| 色99在线观看| 久狠狠| 久久性爱网站| 色噜噜,噜噜色| 欧美色久| 久久98| 少妇婷婷五月天| 欧洲第一无人区观看| 国产精品美女| 五月婷色啪| 亚洲综合婷婷五月天| 色啪综合| 五月婷在线影院| 欧洲亚洲午夜| av一区二区电影免费在线观看| 成年人丁香五月| 色5月婷婷色| 婷婷五月丁香六月天亚洲综合| 亚洲另类婷婷五月丁香在线播放| 97干网站| 大香蕉狼人久久| 9 9热这里有精品| 日本人妻操| 青青草伊人婷婷| 色五月激情五月| 五月丁香综合激情网| 99综合视频| 色五月婷婷综合| 五月天久久综合| 99人妻碰碰碰久久久久视| 久久人人超| 激情网五月天| 久热大香蕉| 色噜噜狠狠色综合成人网| 九九激情综合| 亚洲操B| 伊人久久婷婷| www.五月丁香| 一级内射毛片| 婷婷色吧| 亚洲视频二区| 激情综合4月| WWW.桔色成人.COM| 丁香婷婷在线| 九九视频这里只有精品| 天天日夜夜| 免费AV在线| 991精品在线视频| 涩五月婷婷| 99热这里只有精品中文字幕| 激情人妻综合| 蜜乳av一级av| 久久婷婷综合色丁香| 伊人狼人干| 国产婷婷久久| 五月天婷a在线| 丁香五月色综合色播五月| 思思热久在线观看视频| 激情五月婷婷中文字幕| 99久在线精品99re8| 99自拍视频在线| 五月天社区| 成人做爰黄A片免费看直播室男男| 亚洲4区国产欧美| 琪琪色五月天| 亚洲综合丁香婷婷六月天| 5月婷婷性视频| 98色花堂98t.R| 四色五月婷婷| 欧洲综合一区| 欧美在线干| 国产婷婷婷| 99视频在线观看视频| 综合大香蕉| 日本婷婷色| 99综合视频一体| 色五月婷婷丁香婷婷| 色综合久久88色综合天天| 五月天久久婷婷| 婷婷香草网| 国产永久一黄| 在线VA视频| 激情综合网址| 美女被操一区二区| 亚洲色五月天是什么| 99色热综合| av在线资源| 婷婷5月久久综合网站| 婷婷丁香五月91| 婷婷五月天播| 老司机日日夜夜青草| www,婷婷,com| 色九九综合| 狠狠色成人影片| AA片在线观看视频在线播放| 性天堂久久| 久热这里只有精品66| 久久婷婷精品| 97色色综合| 99re思思热这里| 国产精品人人妻人人爽| 91男人资源站| 久久人妻乱子伦| 99热思思| 182TV大香蕉| 日逼免费视频| 大香蕉综合在线| 99热综合在线观看| 99热这里只有精品最新地址获取| 六月婷婷五月丁香| 另类激情综合| 五月婷婷综合激情网| 丁香五月天91| 人人天堂操| 99婷婷| 色一情一乱一乱一区91| 成人在线日韩欧美| 丁香五月无码| 色一情一乱一伦一区二区三区| 婷婷五月天AV| 99九色视频在线观看| 日本操B片| 五月丁香婷婷AV| 超碰在线网站9| 99视频自拍| 丁香婷婷六月激情| 日本三级99人妇网站| 激情综合4月| 婷婷五月丁香基地| 激情五婷精品网在线观看网址| 五月天国产| 婷婷热色| 99热官网精品在线| 激情丁香六月| 操久久网| 亚洲综合在线视频| 青草视频在线观看视频 | 天天综合中文| 欧美日韩国产伦精品日韩人妻一| 99热99热在线| 激情骚五月| 五月天成人网在线观看| 熟女激情网| 成人AV免费观看| 大香蕉婷婷丁香天堂AV| 婷婷五月免费在线| 99自拍视频在线观看| 色婷婷六月天| 搡BBBB搡BBB搡五十| 性爱在线播放av| 五月天色图| 亚洲中文av| 婷婷五月丁香六月| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 深爱五月天天| 免费看欧美成人A片无码| 婷婷五月欧美综合| 91性交在线播放| 亚洲激情综合免费| 男人天堂99| 另类专区在线观看| 99精品在线下载| 天天久久婷婷| 五月丁香色婷婷色| 91丁香婷婷综合资源| 九九久久网| 国产成人AV人人爽人人澡Va| 99色免费观看全部| 99爱这里只有精品免费视频| 色婷婷视频| 婷婷色色网站| 囯产精品久久欠久久久久久九大| 亚洲AV无码久久精品色欲| 婷婷桃色网| 九九激情视频| 五月婷婷六月丁香综合视频在线| 欧美高潮9| 七七色色综合| 五月天婷婷中文字幕在线播放| 激情久久综合网| 色综合色五月| 亚洲色99| 亚洲一个色| 日韩ww| 九九热在线视频观看| 成人五月天在线观看| 影音先锋91在线资源站| 操日视频| 久久人人妻| 国产VA播放| 日本欧美啪啪| 婷色综合| 天天操人人干| 亚洲色热| 九九久久网| 婷婷开心深爱五月天| 操逼视频网址| 久久色亭亭五月天| 。久久久久久久久久久久久久人妻| 婷婷五月中文字幕| 精品国产乱码久久久久久免费| 狠狠综合久久| 99久久五月婷婷| 99爱免费在线观看| 伦乱美欧| 99欧美三级视频| 亚洲激情综合| 婷婷精品在线| 超碰色综合| 久久机只有这里精品| 日韩人妻在线观看| 女婷久久| 综合色色综合| 啪啪五月婷婷| 四色五月婷婷| 91九色最新视频| 91成人品| 看片视频在线免费日产在线看| 久久婷婷五月综合伊人| 无码一区二区日韩| 日韩无码专区| 久久这里这里有精品免费视频| 丁香六月青青草| 婷婷五月天国产传媒| 思思久久99热只有频精品66| 九九99精品视频在线观看| 激情五月天 婷婷| 婷婷五月综合网| 丁香五月婷婷手机| 丁香五月天欧美在线| 久久99久久99精品免观看软件| www,8050,午夜三级| 色九亚洲| 丁香五月瑟瑟| 婷婷色情五月| 五月深情久久| 偷拍99在线视频观看| 中文字幕婷婷在线| 丁香五月熟女| 1024你懂的欧美曰韩| 99人人干人人| 热99精品视频| 日韩AV片| 草操网| 丁香五月亚洲AV| 女婷久久| 久久久久久久人妻| 欧美丁香婷婷五月| 色播五月| 亚洲丁香五冃97色| 99久热视频在线| 超碰cap| 丁香五月天.com| 99热加勒比| 操人久久| 极品 少妇 内射| 久久这里有精品在线观看| www激情网| 狠狠干狠狠干| 五月色影院| 操操啪| 成人做爰A片免费看视频| 色婷婷五月综合| 9久久精品| 国产在线视频1234| 国内一级精品| 日韩三级片一区二区| 六月婷婷久久大全| 色色五月婷婷久久| 欧美激情综合色综合啪啪五月| 伊人久久艹| 无码一区精品一区视频| 丁香五月激情啪| 中海油常州环保涂料有限公司| 五月婷婷另类| 五月天婷婷综合| 91丨九色丨43老版熟女| 婷婷99| 色五月偷偷| 五月丁香日本一抹本| 亚洲婷婷开心五月| 久99久在线| 久久在线视频免费观看| 性爱技巧五月| 99热99日…..| 五月叮香啪| www.色九月| 色婷婷五月综合激情中文字幕| 欧美日本高清视频99| 五月激情四射网站| 亚洲夜五月| 噜噜噜噜噜色| 国产白丝在线一区| 91性交在线播放| 91chinese 在线| 玖玖福利视频资源| 99热精品观看| 玖玖爱伊人网| 久久综合网免费视频| 激情综合色婷婷六月天| 亚洲综合色婷婷| 久久色五月| AAA亚洲AV| 久久女婷| 色五月超碰| 色播丁香婷婷五月激情| 九九亚洲综合| 日本欧美国产| 婷婷五月六月丁香综合| 色135综合网| 久热欧美| 色偷偷色婷婷| 99久久婷婷五月| .操區COm| 天天色丁香| 色婷网站| www,五月天激情| 99自拍视频| 碰碰碰91| 五月天婷综合| 久久婷婷东京热大香樵| 激情丁香图片| 无码免费人妻A片AAA毛片西瓜| 久久婷婷色情7777网站| 亚洲一区二区无遮挡A片| 欧美A片在线视频免费观看| 婷婷色女| 婷婷五月天激情小说| 日韩欧洲亚洲| 亚洲色A| 丁香亚洲色综合| 夜夜噜夜夜奇| 色综合久久久无码中文字幕999| 婷婷五月在线综合| 亚洲天堂爱爱| www,天天干| 3p久久| 五月婷婷啪啪网| 裸体做A爰片毛片A片免费| 99热精品在线观看| 香蕉婷婷| 色五月激情问网站| 五月色婷婷综合| 激情五月天婷婷直播| 亚洲成人高清在线| 九热视频| 婷婷五月天av| 色色精品色| 日韩中文字幕| 99性感视频| 久久久国产精品黄毛片| 大陆肏屄视频| 狠狠色中色| 久久hd| 五月伊人婷婷999| 天天综合中文| 久久99网站| 丁香五月综合激情啪啪| 色欲五月婷婷| 99热精品无码| 久久久久久草黄色片AV在线观看| 影音先锋 萱萱| 天天日,夜夜爽| 激情综合视频| 五夜丁香| 婷婷香蕉| 爱iii做iiii日| 久久99成人性爱高清视频| 羞羞嫩草视频| 欧美99热| 狠狠操.com| 丁香六月无码播放| 色色色色区| 五月丁香激情综合久久| 久久永久网址| 欧美怡红院黄站| 99精品在| 毛片新网地| 97色婷| 久久99美女精彩视频| 狠狠婷婷日韩| 天天干夜夜谢| 九九九这里只有精品| 亚洲精品又粗又大又爽A片| 激情五月天小说| 亚洲免费观看高清完整版AV线| 色狠狠综合网| 五月天婷婷激情春色小说| 壅壅儕家a| 色情综合网| 丁香五月天AV| 國語久久婷| 色婷婷色丁香色欲av| 久久婷婷色情7777网站| 婷婷五月花.97| 丁香六月婷婷综合缴| 五月婷婷色影院| 久久婷五月影院| 色欲av伊人久久大香线蕉影院| 蜜乳国产网站| 国产4P视频精品五区| 国产激情久久久| 亚洲第一第二网站| 啪啪啪综合网| 色九月欧美| 五月婷丁香| 久久天天| 狠狠操婷婷| 伊人婷婷青青cao| 日本在线99| 日韩精品AV一区二区三区| 这里精品| 久久杏爱视频| 综合五月丁香97| 91在线就要啪| 国产无套精品一区二区| 丁香久久五月婷综合| 婷婷五月永远18免费久久久| 伊人玖玖网| 九热av| 五月丁香六月色婷| 亚洲人妻电影| 草草色情综合网| 超碰人人超碰| 九月丁香婷婷综合| 五月婷婷六月丁香综合| 精品成人无码A片观看香草视频| 日本欧美国产| 在线资源av-超碰中文在线-成人AV| 超碰狠狠干99| 九九色精品| 91热在线| 久婷五月| 久久怡红院| 青草激情在线| 久久五月激情| 一区二区三区四区五区| 色激情综合| 亚洲天堂久久| 激情婷婷九月| 天堂爱啪啪| 丁香五月手机视频| 久久99久久99www| 欧美三级巜人妻互换| 成人电影一区| 亚洲超碰在线| 久99久视频| 色情综合网| 超碰99热| 99热91| 99re思思热久久| 91九色欧美| 日日噜噜夜夜狠狠久久丁香六月| 免费不卡狠操美女视频网 | 青青日韩| 欧美综合激情| 91主播在线| 日曰躁夜夜躁2026| 91综合视频丁香| 日本不卡一区二区三区| 婷婷五月天久久久| 99啪啪视频| 99热手机在线精品| 成人无码精品1区2区3区免费看| 色婷婷基地| 5月丁香综合图区| 538在线精品| 婷婷社区五月天| a网站免费观看| 丁香五月天在线观看视频| 激情深爱综合| 99热精品少| 婷婷五点亚洲| 天天干天天操天天拍| 久久9视频欧美| 欧美va在线| 久9热| 610018岁成人视频| 九九婷婷激情综合网| 97成人在线视频精品| 五月婷婷日| 激情久久四色| 五月天全国最大成人网| 99色色网| 91精品久久久久| 超碰在线99| 大香蕉AV电影在线| AV网址大全在| 淫视馆aV二区一区| 亚洲精品乱码久久久久99| 这里只精品热在线18| 另类小说激情五月天| 99视频久久| 国产真实乱了老女人视频| 日韩xx在线| 婷婷色中文| 五夜婷婷| 开心五月深爱激情| 99热这里只有精品中文字幕| 婷婷丁香五月综合| 激情操逼婷婷| 操逼毛片国语对白| 色婷婷狠狠干| 天天干天天拍| 色婷婷久久| 百度4399有码精品V在线观看| www.日韩国产| 日韩亚洲视频| 玖玖热视频| 中文字幕综合网| 超碰熟女农村在线69| 婷婷综合色网| 亚洲六月婷| 性生活视频98791| 老师的粉嫩小又紧水又多A片视频| 久久久久久久久18久久| 丁香丁香激情网| 五月丁香操亭亭网| http:色情日本com| 亚洲婷婷丁香五月| 黄久久久| 六月丁香激情综合| 九九热99视频| HD久久精品视频| 久99久视频| 色五月涩涩婷婷| 国自产拍偷拍精品啪啪一区二区| 六月婷婷av| 色欲日日躁| www.五月天婷婷| 91伦| 丁香色情五月综合网站| 国产在线黄色| 婷婷五月天网址| av国产精品| 婷婷综合另类小说| 色播播婷婷| 91啦丨九色丨刺激中文| 久久只有精| 天堂久久精品| 久久精彩视频99| 91干| 婷婷五月天激情诱惑| 伊人五月天| 五月五月婷婷| 99热99免费| 性做爰1一7伦| 九热久| 婷婷在线播放| 天天干在线播放| 思思99re这里只有| www色五月| 六月丁香婷婷五月天| 婷婷伊人网| 国产黄色av| 99亚洲大片精品永久在线观看| 全部老头和老太XXXXX| 狠狠99| 久久3p| 五月婷婷激情综合拍| 熟妇人妻中文字幕无码老熟妇| 91久久1118| 激情婷婷丁香五月天| 1024欧美看片| 色中色综合| 少妇出轨做爰高潮A片| 五月五丁香婷婷| 开心五月婷婷激情| 色婷婷伦理| 综合色播| www.夜夜夜| 色情五月婷婷| av高清无码| 久久成人性爱| 色呦精品| 久久99久久99精品免视看婷婷| 中文字幕日本最新乱码视频| 五月天无码| 亚洲精品字幕在线观看| site:jszngf.com| 丁香五月花| 亚洲在线激情婷婷五月| 欧美大片免费观看| 人人综合五月人人婷婷| 就爱日五月天| 色色哒五月婷婷六月丁香| 丁香六月亚洲| 欧州色色| 美国不卡视频| 五月婷婷综合在线| 久久三级视频| 色婷婷综合网| 色狠狠综合| 国产婷婷婷| 色婷五月天| 婷婷大乡焦噜噜| 婷婷久久五月| 五月花婷婷在线精品视频| 免费无码毛片一区二区A片| 丁香五月影| 99精品热| 色婷另类| 丁香六月激情| 99re思思热这里| 日都一级A片| 亚洲色热| 五月婷婷视频啪啪美女| 亚洲国产精品VA在线看黑人| 99看片| 九艹在线| 91操人人操| 人妻精品一区二区三区| 亚州精品色情无码A片| 久久人人超| 森林影视大全,最好看的2019年视频| 伊人超碰| 99热成人在线| 婷婷激情伍月网| Blackedraw视频一区二区| 激情人妻综合| 淫荡家庭AV| 加勒比久热| 中文字幕在线不卡| 亚洲性色XXXXX| 九九热91| 亚洲成av人影院| 噜噜噜久久亚洲精品国产品91| 99色这里| 五月丁香婷婷欧美色图视频五月丁香777电影 | 国产婷婷综合在线免费视频| 在线观看亚洲视频影院| 丁香五月网| 五月婷婷性爱网| 99婷婷| 日日杆天天| 五月天婷婷久久视频| 色色色色色色色色色色色色色色,网站| 日韩无码性爱| 激情综合网激情五月俺也去| 色五月综合资源推荐| 婷婷综合网在线| 色吊丝av中文字幕| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 婷婷丁香五月基地| 99无码| 精品人妻久久久久| 中文字幕丁香五月| 超爽内射| 另类图片五月天| 久久这里只| 99热最新精品| 色噜噜狠狠色综合成人网| 国产成人网| 婷婷久久久久| 十月丁香九月婷婷综合| 五月婷婷熟女| 青996青| 手机在线视频观看9| 成人丁香婷婷| 亚洲激情在线| 五月天操逼网| 婷婷激情啪啪| 婷婷五月天激情视频| 成人五月天丁香婷| 超碰网站在线观看| 影音先锋91网站在线观看| 婷婷五月天基地| 色综合五月天| 欧美日韩成人在线网站| 日日夜夜狠狠| 亚洲欧州色情在线观看| 欧美激情2025| 色性综合| 丁香五月精品视频| 婷婷色网站| 超碰AV成人| 婷婷五月色情| .青娱乐天天操B| 成人在线二区| 热久精品| 人妻AV在线| 五月天精品| 色五月婷婷丁香五月| 亚洲无码色色| 男人天堂99| 五月天激情小说| 久热久操久热久草国产91| 99九九热视频免费| 日韩欧美一道四区中文字幕| 丁香五月激情啪啪啪| 久久色吧| 亚洲黄色网址| 欧美日韩国产成人在线| 丁香五月激情网| 欧美日韩成卜| 人操91在线| 99婷婷综合| 久久色9| 在线99精品| 久久新地址| 久9热视频| 欧美激情伊人| 亚洲愉拍99热成人精品| 五月天婷婷爱| 色色日韩| 亚洲五月天,激情视频| 思思久ren热| 天天干天天干天天干天天干天天干天天干天天 | 我要色综合五月婷婷| www好屌操| 99这里只有免费的精品| 丁香五月天精品| 99资源在线视频| 日日骑夜夜撸| 亚洲综合干| 天天操天天操| 99超在线| 二人电影免费版在线观看| 六月丁香五月激情网| 人人操Av| 亚洲视频在线观看区| 无码动漫av| 色色色在线| 五丁香激情综合| 激情综合五月色在线| 九九这里都是精品| 日日综合网| 国产一级片| 婷婷五月a| 欧美99视频| 五月激情另类| 噜一噜在线| 亚洲精品视频在线| 狠狠艹狠狠艹| 五月综合婷婷久久在线| 亚洲色色香蕉| 五月婷婷九| 专区无日本视频高清8| 韩国中文字幕91| 色婷婷六月天| 婷婷射图五月天| 五月天综合视频网| www.五月天| 国产操B| 综合色播| 激情丁香六月| 日韩性视频| 狠狠操狠狠色| 爱操天堂| 67194中文字幕| 色青青视频| 色婷五月天| 婷婷丁香熟女| 五月婷丁香| 色五月天网| 五月天成人综合| 婷婷丁香在线| 久草婷婷在线| 亚洲av免费在线| 人妻在线中文字幕久久| 天天色粽合合合合合合合| 久99久在线| 葵花AV在线| 先锋资源 996| 在线观看亚洲视频影院| AV亚洲在线| 色五月av伊人| 婷婷五月天激情免费在线观看| 夜精品无码A片一区二区蜜桃| 亚洲免费视频网站| 亚洲精99| 日日夜夜婷婷| 欧美性爱丁香五月| 热无码A∨| 欧美成人A片AAA片在线播放 | 8区视频在线| 国产a视频| 色久婷婷五月| 中文字幕不卡+婷婷五月| 色婷婷色和| 爱爱色五月天| 91丨九色丨东北熟女| 桃色激情五月天| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 成人丁香| 五月婷啪| 色青五月天| 国产黄大片在线观看画质优化| 丁香五月综合久久八| 婷婷五月天在线一区| 亚洲AV成人精品网站在线播放| WWW.桔色成人.COM入口| 欧美啪啪9| 综合图片色色| 9在线9在线婷婷在线国产| site:hcxsz888.com| se99视频| 超碰av在线| 99视频精品全部观看10| 涩 五月 婷婷 狠狠| 久草xx性爱视频| 色九九综合| 美女天天艹人人爽| 99热.com| 欧美色色日韩| 婷婷 色 丁香 夜| 色色六月| 五月婷婷丁香网| www.久9| 人人操人人爱丁香五月| 热婷婷av| 91久久色|