亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

FFmpeg命令自動(dòng)生成:從手動(dòng)拼接走向模板化流水線

FFmpeg命令自動(dòng)生成:從手動(dòng)拼接走向模板化流水線 簡介FFmpegAutoGenDemo.rar 是一份基于 C# 與 FFmpeg.AutoGen 封裝的 WPF 音視頻處理實(shí)戰(zhàn)資源面向希望將 FFmpeg 原生能力集成到 .NET 桌面應(yīng)用的開發(fā)者。項(xiàng)目通過自動(dòng)化綁定將 FFmpeg 的 C 接口轉(zhuǎn)換為 C# 可調(diào)用類庫覆蓋音視頻解碼、編碼、轉(zhuǎn)碼、播放、濾鏡應(yīng)用等核心操作并給出 WPF 自定義控件的集成思路。資源共 71 個(gè)文件含 19 個(gè) DLLFFmpeg 庫及托管封裝、12 個(gè) C# 源碼、8 個(gè)可執(zhí)行文件及 XAML、配置文件等壓縮包約 37.9MB結(jié)構(gòu)完整便于直接參考與二次開發(fā)。目前已有 1615 人學(xué)習(xí)下載。從 FFmpegHelper、FFmpegBinariesHelper 等源碼中可系統(tǒng)掌握 FFmpeg 接口映射、內(nèi)存管理、異步線程處理及錯(cuò)誤日志記錄的典型寫法適合具備基礎(chǔ) C# 知識(shí)、希望在 WPF 中快速上手 FFmpeg 的開發(fā)者。1. FFmpegAutoGenDemo.rar一個(gè)幫你把 FFmpeg 命令變成流水線的演示這個(gè)壓縮包名字直白FFmpeg AutoGen Demo說的是“用自動(dòng)生成的方式跑 FFmpeg”。實(shí)際場景里很多人還在手敲命令處理單個(gè)視頻換臺(tái)機(jī)器、換批素材就亂了。而這個(gè) demo 想解決的問題是把視頻處理從命令行手工操作變成由腳本根據(jù)素材清單自動(dòng)拼出完整 FFmpeg 命令再統(tǒng)一執(zhí)行。適合給視頻批量轉(zhuǎn)碼、生成預(yù)覽、做短視頻拼接的從業(yè)者以及準(zhǔn)備用 FFmpeg 做自動(dòng)化管線的開發(fā)者。你不需要記住一堆參數(shù)順序只需維護(hù)素材表格和生成規(guī)則剩下交給腳本去生成、去跑、去報(bào)錯(cuò)。2. 先搞懂要自動(dòng)生成什么FFmpeg 命令的五段式結(jié)構(gòu)與模板化思路2.1 FFmpeg 命令不是字符串是五段式參數(shù)拼接很多人一聽到“自動(dòng)生成命令”第一反應(yīng)是拿字符串拼。但 FFmpeg 命令看起來是一長串其實(shí)內(nèi)部有嚴(yán)格的段落順序。亂拼能跑通一次第二次換個(gè)素材就崩這屬于把力氣用錯(cuò)了地方。我一般把 FFmpeg 命令拆成五個(gè)可變段全局參數(shù)、輸入?yún)?shù)、輸入文件、濾鏡鏈、輸出參數(shù)。標(biāo)準(zhǔn)結(jié)構(gòu)大致是這樣的ffmpeg [全局參數(shù)] [輸入?yún)?shù)] -i 輸入文件 [濾鏡參數(shù)] [輸出參數(shù)] 輸出文件全局參數(shù)寫在最前面比如-hide_banner、-y控制的是整個(gè)進(jìn)程的行為輸入?yún)?shù)緊接著全局參數(shù)但放在-i前面表示這個(gè)輸入的讀取方式比如-re、-thread_queue_size輸入文件用-i指定如果有多個(gè)輸入每個(gè)輸入前面都可以帶自己的參數(shù)濾鏡參數(shù)在輸入之后因?yàn)闉V鏡要處理的是已經(jīng)讀取進(jìn)來的流輸出參數(shù)最后控制編碼器、碼率、格式等。為什么自動(dòng)生成的時(shí)候必須按這個(gè)順序因?yàn)?FFmpeg 解析參數(shù)是從左到右逐段處理的把輸出參數(shù)寫到-i前面大部分時(shí)候會(huì)報(bào)錯(cuò)因?yàn)榻馕銎鬟€沒看到輸入文件不知道這個(gè)輸出參數(shù)屬于誰。自動(dòng)生成腳本如果只是簡單拼字符串很容易把變量填錯(cuò)位置反而讓命令變得不可讀。所以我在做自動(dòng)生成時(shí)第一步不是寫生成函數(shù)而是把這個(gè)五段式結(jié)構(gòu)定義成數(shù)據(jù)結(jié)構(gòu)。用 Python 的話一般是一個(gè)字典每個(gè)鍵對(duì)應(yīng)一個(gè)段落值是一個(gè)列表——我推薦用列表而不是字符串因?yàn)楹罄m(xù)追加參數(shù)時(shí)不容易漏掉空格也方便做條件判斷。# 定義一個(gè) FFmpeg 命令的階段容器 cmd_parts { global: [], # 全局參數(shù) input: [], # 輸入?yún)?shù) input_file: [], # 輸入文件路徑 filter: [], # 濾鏡鏈 output: [], # 輸出參數(shù) }后續(xù)所有生成邏輯都只操作這個(gè)字典最后再按順序展平。這樣做的核心好處是每個(gè)段落互相獨(dú)立修改濾鏡不會(huì)影響輸出參數(shù)加輸入文件不會(huì)污染全局參數(shù)。demo 里展示的往往就是這么個(gè)思想只不過被壓縮包里的腳本封裝成了更具體的函數(shù)。參數(shù)列表而不是參數(shù)字符串還帶來一個(gè)隱形紅利可以應(yīng)對(duì)“同一個(gè)參數(shù)需要出現(xiàn)多次”的情況。比如一個(gè)輸入有一個(gè)-ss定位另一個(gè)輸入有自己的-ss如果拼成字符串你很難弄清哪個(gè)-ss屬于哪個(gè)-i但用列表加段落結(jié)構(gòu)就能保證每個(gè)-ss緊跟在它所屬的輸入?yún)?shù)列表里生成順序天然正確。2.2 模板化生成的最小實(shí)現(xiàn)用數(shù)據(jù)填充命令結(jié)構(gòu)定好了接下來就是模板化生成。所謂模板不是搞一套復(fù)雜的模板引擎而是“固定部分寫在代碼里可變部分由參數(shù)決定”。最常見的做法是寫一個(gè)生成函數(shù)輸入是一個(gè)描述素材的字典輸出是拼接好的命令列表。比如我要做一個(gè)“批量轉(zhuǎn)碼”的最小 demo輸入目錄里有一堆.mov要轉(zhuǎn)成.mp4統(tǒng)一用 H.264 編碼碼率 4Mbps分辨率保持原樣。這個(gè)任務(wù)用命令行手寫很簡單但自動(dòng)生成的價(jià)值在于文件多、命名還可能不規(guī)則腳本可以自動(dòng)發(fā)現(xiàn)并填充。import subprocess from pathlib import Path def build_transcode_cmd(src_path, dst_path, bitrate4M): 生成單條轉(zhuǎn)碼命令 return [ ffmpeg, -hide_banner, -y, # 全局參數(shù)不刷屏、覆蓋輸出 -i, str(src_path), # 輸入 -c:v, libx264, # 視頻編碼 -b:v, bitrate, # 視頻碼率 -preset, medium, # 編碼速度/質(zhì)量檔位 -c:a, aac, -b:a, 128k, # 音頻編碼 str(dst_path), ]這段代碼生成的不是字符串而是一個(gè)命令行列表。列表直接交給subprocess.run執(zhí)行可以避免字符串拆分時(shí)的引號(hào)問題。注意-b:v的值是4M不帶引號(hào)——如果帶引號(hào)在列表里會(huì)把4M當(dāng)成一個(gè)完整參數(shù)反而沒問題但如果用字符串拼接引號(hào)經(jīng)常會(huì)造成困擾。參數(shù)說明一下-hide_banner去掉開頭的版本信息日志更干凈-y是覆蓋輸出文件批處理時(shí)不會(huì)卡在詢問-preset medium是 libx264 的預(yù)設(shè)之一medium 是均衡檔生成 demo 時(shí)常用實(shí)際批量素材多且對(duì)速度敏感就用veryfast追求畫質(zhì)用slow。碼率單位M表示兆比特每秒FFmpeg 也接受k。生成函數(shù)只負(fù)責(zé)組裝不負(fù)責(zé)編碼跑不跑得通要交給執(zhí)行層。有了函數(shù)之后批量轉(zhuǎn)碼的主循環(huán)就非常簡單了src_dir Path(素材原始) dst_dir Path(轉(zhuǎn)碼輸出) dst_dir.mkdir(exist_okTrue) for src_path in src_dir.glob(*.mov): dst_path dst_dir / (src_path.stem .mp4) cmd build_transcode_cmd(src_path, dst_path) print(執(zhí)行:, .join(cmd)) subprocess.run(cmd, checkTrue)這里checkTrue會(huì)讓腳本在命令失敗時(shí)直接拋異常而不是吞掉錯(cuò)誤繼續(xù)處理下一個(gè)方便在批量任務(wù)里定位到具體哪個(gè)文件出了問題。很多剛接觸的人習(xí)慣用os.system拼字符串一旦路徑里有空格就翻車用列表傳參是跨平臺(tái)的穩(wěn)妥寫法也是這個(gè) demo 最值得借鑒的地方。3. 把 FFmpegAutoGenDemo 的核心跑通自動(dòng)批量轉(zhuǎn)碼與拼接3.1 拆解 demo 里最常見的任務(wù)素材清單驅(qū)動(dòng)命令生成看名字里的“AutoGen”自動(dòng)生成最常見的目標(biāo)不是轉(zhuǎn)碼而是拼接。短視頻批量制作、課程切片合并、監(jiān)控片段匯總都是這個(gè)路子。手寫拼接命令很難受輸入文件多每個(gè)還要配不同的偏移或?yàn)V鏡寫一長串又臭又容易錯(cuò)。所以 demo 里一般會(huì)有一張素材清單腳本讀清單、自動(dòng)生成拼接參數(shù)。素材清單我用過幾種格式CSV、JSON、甚至 Excel。最穩(wěn)的是 CSV結(jié)構(gòu)簡單Python 標(biāo)準(zhǔn)庫直接讀編碼問題要注意用utf-8-sig去掉 BOM 頭。清單的字段通常有文件路徑、開始時(shí)間、結(jié)束時(shí)間、音量增益、是否添加字幕等。生成時(shí)按行遍歷把每一行轉(zhuǎn)成一個(gè)輸入塊和一個(gè)濾鏡塊。一個(gè)典型的清單長這樣path,start,end,audio_volume,rotate 素材/clip01.mov,00:00:00,00:00:05,1.0,0 素材/clip02.mov,00:00:10,00:00:15,1.2,90 素材/clip03.mov,00:00:20,00:00:30,0.8,0為什么要用 CSV因?yàn)橛帽砀窆芾硭夭淖钪庇^而且非程序員也能維護(hù)。生成腳本讀這個(gè) CSV但更關(guān)鍵的是清單里的“開始時(shí)間”和“結(jié)束時(shí)間”決定了每個(gè)輸入需要先被切割再拼接這涉及 FFmpeg 濾鏡鏈的構(gòu)建。我把拼接分成兩類純拼接和帶處理的拼接。純拼接是把多個(gè)文件直接挨個(gè)接起來最簡單的做法是寫一個(gè) concat 列表文件讓 FFmpeg 的 concat demuxer 處理不需要濾鏡速度快。但如果你要對(duì)每個(gè)片段做裁剪、旋轉(zhuǎn)、調(diào)音量concat demuxer 就不夠用了必須用filter_complex。AutoGen 的價(jià)值這里才真正體現(xiàn)filter_complex的文本非常容易寫錯(cuò)括號(hào)和逗號(hào)自動(dòng)生成能減少人為犯錯(cuò)。3.2 生成拼接命令的完整代碼與參數(shù)說明下面這段代碼是我在做一個(gè)模擬項(xiàng)目 X 時(shí)寫的功能是讀 CSV對(duì)每個(gè)片段用trim裁剪加音量調(diào)整支持旋轉(zhuǎn)最后用concat拼接再統(tǒng)一導(dǎo)出 H.264。它直接體現(xiàn)了“自動(dòng)生成”的過程——不是寫死某一條命令而是根據(jù)清單動(dòng)態(tài)拼出filter_complex。import csv import subprocess from pathlib import Path def build_concat_cmd(csv_path, output_path): inputs [] # 所有輸入文件參數(shù) filter_parts [] # 每個(gè)片段的濾波處理 input_labels [] # 給每個(gè)輸入命名如 [0:v] [0:a] with open(csv_path, encodingutf-8-sig) as f: reader csv.DictReader(f) for idx, row in enumerate(reader): src Path(row[path]).resolve() start row[start] end row[end] volume float(row.get(audio_volume, 1.0)) rotate_deg int(row.get(rotate, 0)) # 每個(gè)輸入ss 是開始時(shí)間t 是截取時(shí)長 inputs.append([-ss, start, -t, end, -i, str(src)]) # 給這個(gè)輸入起一個(gè)濾鏡標(biāo)簽名 [i:v] [i:a] vlabel f[{idx}:v] alabel f[{idx}:a] # 視頻處理先裁剪再旋轉(zhuǎn) if rotate_deg ! 0: # FFmpeg 旋轉(zhuǎn)參數(shù)0不轉(zhuǎn), 190°, 2180°, 3270° vfilter f{vlabel}trim{start}:{end},setptsPTS-STARTPTS,transpose{rotate_deg//90}[v{idx}] else: vfilter f{vlabel}trim{start}:{end},setptsPTS-STARTPTS[v{idx}] filter_parts.append(vfilter) # 音頻處理裁剪 音量如果原文件沒有音頻再加 asetnsamples afilter f{alabel}atrim{start}:{end},asetptsPTS-STARTPTS,volume{volume}[a{idx}] filter_parts.append(afilter) input_labels.append(f[v{idx}][a{idx}]) # 把所有濾鏡用分號(hào)連起來最后的 concat 段收集所有標(biāo)簽 filter_complex ;.join(filter_parts) concat_part f{.join(input_labels)}concatn{len(input_labels)}:v1:a1[outv][outa] filter_complex ; concat_part # 組裝完整命令 cmd [ffmpeg, -hide_banner, -y] for inp in inputs: cmd.extend(inp) cmd [-filter_complex, filter_complex, -map, [outv], -map, [outa], -c:v, libx264, -preset, medium, -crf, 20, -c:a, aac, -b:a, 128k, output_path] return cmd # 執(zhí)行 cmd build_concat_cmd(素材清單.csv, 拼接結(jié)果.mp4) print(生成的 filter_complex 如下) print(cmd[cmd.index(-filter_complex) 1]) subprocess.run(cmd, checkTrue)邏輯說明這段代碼把每個(gè)輸入都按“開始時(shí)間”和“時(shí)長”先切開視頻用trim加setptsPTS-STARTPTS重置時(shí)間戳音頻用atrim加asetpts重置時(shí)間戳。變量rotate_deg接受 0、90、180、270轉(zhuǎn)換成 FFmpeg transpose 的 0-3 取值。注意我這里用rotate_deg // 90因?yàn)?transpose 參數(shù)正好是順時(shí)針旋轉(zhuǎn) 90° 的倍數(shù)。參數(shù)說明setptsPTS-STARTPTS是裁剪后最關(guān)鍵的一步——不重置時(shí)間戳的話拼接時(shí)會(huì)因?yàn)闀r(shí)間戳不連續(xù)而黑屏或卡頓volume1.0是原音量小于 1 是降低大于 1 是放大。concatn3:v1:a1里的n必須和輸入個(gè)數(shù)一致這個(gè)數(shù)字是自動(dòng)算的手寫拼接時(shí)最容易漏改的就是它。-crf 20是恒定質(zhì)量數(shù)值越小畫質(zhì)越高20 在大多數(shù)場景是體積和畫質(zhì)的平衡點(diǎn)。3.3 從生成命令到真正執(zhí)行subprocess 調(diào)用與日志命令生成完最后還有一步執(zhí)行。很多 demo 到生成命令就停了拿來當(dāng)玩具可以實(shí)際用起來還缺執(zhí)行層。執(zhí)行層的關(guān)鍵不是簡單調(diào)subprocess.run而是輸出日志要能對(duì)應(yīng)到清單里的某一行。我習(xí)慣給每一條任務(wù)加一個(gè)唯一的標(biāo)識(shí)比如 CSV 行號(hào)然后記錄開始、結(jié)束、退出碼。日志格式類似這樣[task-03] 開始處理: 素材/clip02.mov這樣批量跑出問題時(shí)能立刻定位。import subprocess import sys def run_cmd(cmd, task_name): print(f[{task_name}] 開始執(zhí)行) # stdout/stderr 合并方便統(tǒng)一看日志 result subprocess.run(cmd, capture_outputTrue, textTrue) if result.returncode ! 0: print(f[{task_name}] 失敗退出碼 {result.returncode}) print(result.stderr[-2000:]) # 只打印最后 2000 字符避免刷屏 raise RuntimeError(f任務(wù) {task_name} 執(zhí)行失敗) else: print(f[{task_name}] 成功) # 用法 cmd build_concat_cmd(素材清單.csv, 拼接結(jié)果.mp4) run_cmd(cmd, task-01)注意capture_outputTrue會(huì)同時(shí)捕獲 stdout 和 stderr文本模式textTrue讓返回結(jié)果可以直接打印。FFmpeg 的進(jìn)度信息默認(rèn)輸出到 stderr錯(cuò)誤信息也走 stderr所以失敗時(shí)看result.stderr比看終端輸出更可靠。有的版本 FFmpeg 進(jìn)度條在非終端環(huán)境下會(huì)一直輸出\r如果日志文件因此變得雜亂可以在命令里加-nostats或者-loglevel error但這會(huì)丟掉進(jìn)度信息要看你的取舍。4. 避坑與排查自動(dòng)生成 FFmpeg 命令最常見的 5 個(gè)翻車點(diǎn)4.1 路徑里有空格和括號(hào)命令直接斷掉現(xiàn)象自動(dòng)生成的命令在終端里手動(dòng)執(zhí)行沒問題一旦放進(jìn)腳本跑就報(bào)錯(cuò)提示找不到文件。尤其是 Windows 路徑C:\My Videos\final cut\clip (1).mov有空格、有括號(hào)字符串拼接直接炸。原因用字符串形式拼接命令時(shí)空格會(huì)把路徑拆成兩個(gè)參數(shù)括號(hào)在某些 shell 里有特殊含義。demo 里如果你用列表傳參空格不是問題但如果你用subprocess.run(cmd_str, shellTrue)或者os.system就會(huì)踩中。解決堅(jiān)持用列表傳參路徑用Path對(duì)象或絕對(duì)路徑。如果必須用字符串給整個(gè)路徑加雙引號(hào)并且對(duì)%、!等特殊字符做轉(zhuǎn)義??缙脚_(tái)更穩(wěn)的方式是用shlex.split或直接構(gòu)造列表。我自己在腳本里會(huì)寫一個(gè)斷言如果路徑里有空格就強(qiáng)制轉(zhuǎn)成Path.resolve()提前顯式化避免后續(xù)玄學(xué)問題。4.2 filter_complex 引號(hào)轉(zhuǎn)義失控現(xiàn)象filter_complex里的文字濾鏡比如drawtext需要寫文本內(nèi)容自動(dòng)生成時(shí)引號(hào)嵌套執(zhí)行后報(bào)Failed to parse graph description。原因FFmpeg 的 filter 語法里參數(shù)值需要用單引號(hào)包裹而你的生成腳本本身可能用了 Python 字符串處理最后一層層的引號(hào)疊加傳到命令行時(shí) shell 再把引號(hào)吃掉filter 解析器看到的字符串就是不完整的。比如texthello world寫在 Python 字符串里如果你的字符串用了單引號(hào)就會(huì)提前結(jié)束。解決filter_complex 整個(gè)值在列表中是一個(gè)獨(dú)立元素不需要再套 shell 引號(hào)。你只需要保證 filter 內(nèi)部對(duì)值的引號(hào)正確。一般規(guī)則filter 內(nèi)部分隔符是:、,、;如果參數(shù)值本身包含這些字符必須用單引號(hào)包住并且值里的特殊字符如\、要做轉(zhuǎn)義。最穩(wěn)妥的辦法是不要用 f-string 硬湊而是寫一個(gè)專門的函數(shù)處理文本轉(zhuǎn)義。比如text參數(shù)可以先做value.replace(, \\\\)再包一層引號(hào)這是一個(gè)血淚經(jīng)驗(yàn)。4.3 輸入文件沒有音頻流map 就崩現(xiàn)象拼接命令生成了-map [outv] -map [outa]執(zhí)行到一半報(bào)Stream map [outa] matches no streams或者直接Output file #0 does not contain any stream。原因某些素材是無聲的比如屏幕錄制、監(jiān)控片段。concat濾鏡要求所有輸入要么都有音頻、要么都沒有音頻。如果你硬拼了音頻濾鏡FFmpeg 會(huì)因?yàn)檎也坏揭纛l流而失敗。解決生成前用 ffprobe 探測每個(gè)輸入是否有音頻流。探測方法放到最后一章寫。生成邏輯里加一個(gè)條件分支全部無音頻就只生成視頻濾鏡和v1:a0部分有音頻要么統(tǒng)一轉(zhuǎn)成相同的聲道數(shù)要么對(duì)無聲片段加一個(gè)安靜音軌anullsrc。這是自動(dòng)生成腳本必須處理的邊界條件demo 里如果不處理只能算玩具。4.4 幀率、分辨率不一致導(dǎo)致拼接黑屏現(xiàn)象拼接結(jié)果總時(shí)長正確但中間有黑屏卡頓或者畫面突然變形。用 concat demuxer 拼接時(shí)更容易出現(xiàn)。原因不同素材的分辨率或幀率不一致FFmpeg 在 concat 時(shí)沒有統(tǒng)一規(guī)格導(dǎo)致播放器解碼吃力。另外trim之后沒有做幀率歸一化也會(huì)造成時(shí)間戳跳變。解決在濾鏡鏈里把每個(gè)輸入的分辨率和幀率統(tǒng)一。常見做法是每個(gè)視頻過濾后加scale1920:1080和fps25或者至少在 concatenated 濾鏡后加一次。自動(dòng)生成時(shí)可以先用 ffprobe 讀取所有素材取最大分辨率作為統(tǒng)一目標(biāo)如果素材來自同一批錄制一般并不需要強(qiáng)制統(tǒng)一但拼接不同來源時(shí)必須有這一步。排查黑屏?xí)r先看日志里有沒有Non-monotonous DTS警告有就是時(shí)間戳問題。4.5 循環(huán)批處理時(shí)臨時(shí)文件沒清理磁盤寫滿現(xiàn)象批量跑了 200 個(gè)視頻后磁盤空間滿了任務(wù)停在某一步。刪除臨時(shí)文件后又能繼續(xù)跑。原因很多自動(dòng)生成腳本會(huì)先把中間產(chǎn)物寫到臨時(shí)目錄比如生成 concat 列表文件、抽幀圖片、臨時(shí)音頻。循環(huán)里只創(chuàng)建不清理或者用了固定路徑導(dǎo)致后續(xù)任務(wù)覆蓋失敗。更隱蔽的是 FFmpeg 的-f concat列表文件如果被后續(xù)任務(wù)覆蓋前一個(gè)正在執(zhí)行的 FFmpeg 進(jìn)程會(huì)讀到不完整內(nèi)容。解決給每個(gè)任務(wù)建一個(gè)獨(dú)立的臨時(shí)目錄用tempfile.TemporaryDirectory或在主循環(huán)結(jié)束統(tǒng)一清理。生成 concat 列表時(shí)把列表文件寫進(jìn)任務(wù)自己的臨時(shí)目錄。最后再加一個(gè)兜底執(zhí)行完刪除該任務(wù)臨時(shí)目錄。我習(xí)慣于在腳本開頭用tempfile.mkdtemp()任務(wù)結(jié)束shutil.rmtree確保不會(huì)累積。日志里如果發(fā)現(xiàn)磁盤占用異常優(yōu)先查臨時(shí)目錄。5. 進(jìn)階讓自動(dòng)生成更聰明——自動(dòng)探測視頻參數(shù)與預(yù)覽校驗(yàn)5.1 用 ffprobe 自動(dòng)獲取參數(shù)動(dòng)態(tài)填充模板前面的拼接命令要求 CSV 里手動(dòng)寫開始時(shí)間和結(jié)束時(shí)間這還是太笨。FFmpeg 自帶的 ffprobe 可以讀取視頻的寬度、高度、幀率、時(shí)長、音視頻流是否存在讓自動(dòng)生成變成真正“自動(dòng)”。比如我想寫一個(gè)函數(shù)輸入一個(gè)視頻路徑返回它的元信息字典。import json import subprocess def probe_video(path): cmd [ ffprobe, -v, quiet, -print_format, json, -show_streams, -show_format, str(path), ] info json.loads(subprocess.run(cmd, capture_outputTrue, checkTrue).stdout) streams info[streams] video_info next(s for s in streams if s[codec_type] video) audio_info next((s for s in streams if s[codec_type] audio), None) return { width: video_info[width], height: video_info[height], fps: eval(video_info[avg_frame_rate]), # 25/1 - 25.0 has_audio: audio_info is not None, duration: float(info[format][duration]), } # 示例 info probe_video(素材/clip01.mov) print(info)avg_frame_rate常見形式是25/1表示 25 幀每秒用eval直接計(jì)算分?jǐn)?shù)值但在安全敏感的場景不要用 eval可以改成Fraction或手動(dòng)分割。拿到這些參數(shù)后拼接命令就可以自動(dòng)決定是否需要scale、是否需要fps、是否需要音軌。前面避坑章的 4.3 和 4.4 就能靠這個(gè)函數(shù)在生成前解決。5.2 生成預(yù)覽圖與快速校驗(yàn)命令命令生成后別急著處理整段視頻可以先抽一幀看內(nèi)容對(duì)不對(duì)。抽幀校驗(yàn)也是自動(dòng)生成里的一個(gè)習(xí)慣特別是帶旋轉(zhuǎn)和裁切的時(shí)候。生成一張拼出來的畫面預(yù)覽如果構(gòu)圖不對(duì)說明濾鏡參數(shù)有問題。import subprocess def make_preview(input_path, output_image, time00:00:01): cmd [ ffmpeg, -y, -ss, time, -i, str(input_path), -frames:v, 1, output_image, ] subprocess.run(cmd, checkTrue, capture_outputTrue)-ss放在-i之前是快速定位定位準(zhǔn)確但可能不是關(guān)鍵幀放在-i之后是逐幀解碼慢但精確。做預(yù)覽時(shí)放在前面就好夠用。實(shí)際流水線建議對(duì)每個(gè)拼接任務(wù)先跑預(yù)覽幀人工或腳本檢查圖像不是全黑再跑完整任務(wù)能省不少重跑時(shí)間。我自己的習(xí)慣是把這個(gè)校驗(yàn)也寫進(jìn)自動(dòng)生成腳本作為步驟之間的一把鎖。FFmpegAutoGenDemo 這個(gè)方向說到底不是讓你抄一段現(xiàn)成代碼而是培養(yǎng)一種思維把視頻處理的“變數(shù)”集中到配置和清單里把命令生成邏輯做成可復(fù)用函數(shù)。等到素材從幾十個(gè)變成幾千個(gè)你會(huì)感謝當(dāng)初多寫的這幾層封裝。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91男人天堂网| 亚欧美综合网| 日韩在线观看字幕精品| 天天综合色图| 国产熟码AV| 97综合在线观看| 欧美日韩国产中文精品字幕自在自线 | 精品国产一区二区三区在线播出| 精品乱码在线观看| 亚洲欧美小说| 啊啊啊啊操死我| 久久只有精品一区二区三区| 精品久久久九九九孕妇| 大奶啊啊好爽| 无码又爽又硬又激情免费视频 | 97操| 干B网| 9999九九九久久久| 天天日天天舔东京热 | 91精品老女人| 欧美色999| 精品少妇高潮久久| 伊人午夜福利视频| 最新精品久久蜜桃 | 亚洲成人激情小说视频| 97精品熟女少妇一区| 国产福利精品最新在线| 这里只有精品视频在线观看麻豆 | 国内自拍 日韩激情 99| 精品人体无圣光凹凸| 亚洲中文字幕在线视频一区二区| 久久伊人最新网址视频| 97免费在线观看| 国产精品禁久久久精品| 国产一区二区精品久久久不卡蜜臀| 日韩丝袜高跟制服在线观看| 欧美日韩青操| 综合欧美亚洲| 啪啪啪精品| 日本成人在线不卡一区二区三区| 亚洲激情在线| 九九久久首页| 中文字幕女同在线| 日韩综合97p| 欲色综合| 亚洲无码偷拍| 中文字幕丝袜国产第一页不卡| 欧州一区二区三区四区| 超清福利精品视频在线| 另类小说综合网| 超碰国产精品无码| 亚洲一区二区三区四区视频| 亚洲av乱伦色图网站| 日韩av乱伦| 五月天色图| 中文字幕五区| 91美女在线看| 色婷婷一区二区三区久久午夜| 级品肉射| 国产精品69久久久久久久| 亚洲脚交| 九九操久久国产免费视频| 午夜欧美精品久久久| 欧美精品一二三| 久久久久久久人妻丝袜| 嫩草美女久久| 国产做?爰片久久毛片?片美国| 五月天婷婷基地| 97视频网站在线观看| 欧美18禁91| 亚洲国产一级精品毛一级精品看免费视频| 日本Xx性爱| 99精品久久| 日韩人妻网站| 乱人乱色一区二区三区免费| 中国操逼无码| 天天色播亚洲综合网站| 91电影色诱| 大干人妻| 欧美一级做a爰片免费视频| 男人天堂婷婷五月天校园春色| 亚熟在线| 夜夜欢天天干| 黄色av片三级三级三级免费看| 综合自拍| 天天看特黄的免费网站| 精品无av| 日韩精品一区二区日韩| 欧美视频在线第3页| 97网址97| 波多野结衣AV无码一区| 开心五月激情网| 亚洲97P| 亚欧美色图| 久久大黄片| 少妇干B| 成人精品电影| 就去色综合| AV和黑人在线播放| 日韩精品熟妇| 一起草三级AV电影在线观看| 亚洲欧洲偷拍一区| 偷拍 亚洲| 亚洲AV无码久久精品蜜桃小说| 国产日韩美女小穴视频网站不卡| 日韩精品在线观看观看| 骚乳在线| 夜夜影视四色| 性欧美| 日韩国产乱子伦App| 欧美AB在线观看| 欧美图片色五月天| 秋霞一级视频在线观看免费| 久草精品视频| 日本黄色大片一级视频免费麻豆| 日本不卡卡一区| AV中文字幕三四五| 超碰99在线观看| 一摸二插三插| 欧美日韩性爱无码| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 三级日韩一区二区三区| 精品一区二区啪啪啪| 狠狠爱AV| 精品国产乱码久久久久久口爆网站| 91在线丝袜视频| 100啪啪视频大全| 视频在线观看一二三区| w w w.久久精品| 精品视频久久久久九九九九9999| 亚州综| 亚洲nv男人的天堂网| 欧成人精品H无码| 91操人视频| 久久久久亚洲Av无码专区老牛影视| 久久综合99| 大香蕉狠狠爱| 日韩精品人妻中文字幕有码午| 欧美99999| 少妇高潮99p| 欧美成人A√在线一区二区| 9 7超碰在线免费观看| 亚洲欧美色图| 夜夜无码| 久久久穴999| 亚洲欧美国产成人综合不卡| 日韩欧美传媒一区国产| 免费农村成人少妇人妻Aa一区二区视频| 精品少妇999| 亚洲码和欧洲精品激情系列| 天天操天天舔| 91bbb| 欧美国产一区二区三区麻豆传媒| 国人欧美精品一区二区| 尤物黄色在线观看网站| 日本高清一本二本免费不卡| 成人情色一区二区| 激情小说日韩无码| 久久久草草精品| 色丁香五月婷婷| 热99这里有精品综合久久| 日本啊啊啊啊啊视频| 日本理论在线| 欧美性爱系列| 日韩黄片视频试看| 天天干人人乐| 日本东京热大香蕉a片| 国产在线精品偷| 亚洲欧美第一页| 97精品国产精品免费观看| 强奸乱亚洲| 超碰97护士| 女人的天堂大香蕉网| 午夜精品视频777| 久久精品久| 狠狠操狠狠燥| 国产欧美成人精品| 日韩AV色图| 精品超碰国产| 国产精品久久99日日| 欧美日韩欧美| 亚州欧美综合| 久久久成人免费av电影| 亚洲欧美校园| 日韩人妻丝袜美腿中文| 97se综合网| 日韩三级一区 | 免费看久久久性性| 久久久久久亚洲中文| 超碰美女97| 中国熟女91| 韩国女主播青草在线| 大胆91| 手机看片1024你懂的国产| 岛国在线国产| 性无码专区2020| 亚洲天天更新| 精品1区2区3区| 精品人妻伦一区二区三区久久| 日本亚洲vr欧美不卡高清专区| 91久久99久久91熟女精品| 欧美人与性动交a美精品| 三级日本一区二区三区| 一级性爱啪啪视频| 18禁无码永久免费无限制| 欧美97在线欧| av影片在线观看不卡| 亚洲Av诱惑| 久久机热| 国产精品另类| 97 国产精品| 久久久日本电影| 日本在线15p| 午夜九九| 男啪女色黄无遮挡免费观看| 亚洲在线| 日韩字幕一区| 国产野战露脸在线播放| 婷婷亚洲五月***久久| 青青操综合网| 欧美精品第3页| 一起草AV| 青青青操| 欧美国产一区二区三区麻豆传媒| 欧美91网站| 日韩八十路老熟女| 国产97/欧美| 天天狂操夜夜狂日| 91av熟女人妻| 久久精品店| 婷婷久月| 99综合自拍| 国产和美国毛片| 9I1性色影院| 97免费视频在线观看| 亚洲欧洲中文日韩女优乱码| 97在线精品观看视频| 99re公开精品免费视频| 屌色在线97视频| 好淫网一二三视区| 精品十八在线观看| 欧美成人免费在线观看| 欧美 日韩 亚洲 春色| 国产不卡免费在线视频| 欧美性特| 啊啊啊好舒服视频在线观看| 97干在线视频| 日本成人A片免费看| 国产精品无码论坛| 黑人与人妻| 99色热| 精品一级毛片在线观看| 人妻-91porn| 97超碰美国| 日本高清加勒比| 91国模| 人干人人人操人人摸| 五月婷婷色| 亚洲一区二区 麻豆传媒| 极品出轨视频网站| 女人喷水视频在线观看| 999久久久久久久精| 国产97在线播放| 免费国产电影一区二区| 夜夜欧美| www黄片免费看com| 18禁久极品美女久久哦哟呀!| 中文字幕在线免费观看 | 国产精品久久久鸭无码的功能| 中文字幕91综合| 综合情欲网| 2017av无码免费无线播| 亚洲激情AV| 久久精品国产久精国产| 秋霞一级鲁丝片A片| 99日精品欧美国产| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 影音先锋少妇| 国产视频一区二区在线| 成人青青草原伊人| 五月天婷精品激情| 日韩精品系列| 午夜精品探花| 欲色啪| 中文字幕中文字幕一区二区| 日韩99神马视频片| AVE乱伦| 免费视频无码| 国产精品久久久久久久久久久久久久吹 | 国产精品免费视频人成| K8久久久久| 欧美大香蕉专区网| 国产精品久久久久久久久久久久久久久久| 国产毛片久久久久久久| 91国产大片| 免费αV在线视频| 亚洲s在线观看| 91无遮挡| 中文一区二区婷婷视频| 桃花色综合影院| 黄色二级片网站| 成人小说另类在线| 久久久久久久久久久久久久久乱码| 青草成人免费视频一com| 日本超碰在线国产一区| 18禁看网站一区| 日韩免费a级毛片无码a∨| 亚州操操穴网| 亚洲AV无码乱码| 伊蕉97蜜桃97狠狠综合干| 大香蕉专区| 欧美激情亚洲情色| 97色碰| 密臀视频三区免费网站| 亚洲射综合网| 中文字幕精品一区二区精| 中文久久96| 强歼乱伦资源网| K8久久久久| 人人摸人人干| 午夜福利1区2区3区| 久久婷婷亚洲欧| 国人欧美精品一区二区| 日本人妻最新在线中| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 日本人妻最新在线中| 亚洲污一污二| 国产在线76页| 精品成人动漫一区二区| 欧美综合第一页| 亚洲中文人妻色| 超碰无码加勒比| 久久精品电影| 啪啪91| 综合久久久久久久综合网| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 国产九月婷婷| 性做久久久久久久| 国产成人无码网站在线视频| 亚州一区二区| 18禁的网站在线| 超碰97人人cao| 午夜精品久久久久久久99热影院| 97在线青| 婷婷香蕉欧美在线一区二区三区| 大香蕉免费乱伦视频| 午夜精品久久久| 丝袜狠狠草尤物 91| 色婷婷成人| 伦激情人妻另类人妻| 日日AAvv| 99黄页网站| 日韩啪啪啪啪啪| 奇米狠999| 色吧5亚洲| 综合情欲网| 少妇一区二区三区在线观看| 桃色五月天| 芊芊操逼视频无码| 亚洲中文字幕熟女| 日本精品五区| 久久久久久九九九九| 日韩一级二级三级免费看完整版国语版| 人妻天天夜夜爽一区二区| 强奸乱伦αv片| 天天躁日日躁成人字幕aⅴ| 亚洲熟女诱惑| 大香蕉懂9| 91网站在线播放| 亚洲精品欧洲精品| 91夜夜蜜桃臀1区2区3区| 中文字幕高清20页视频| 激情五月天视频| 亚一综合久久久久久久久久| 91在线精品一区二区三区| 加勒比海色香蕉婷婷| 亚洲图片视频小说| 素人伊尹大香蕉免费下载视频| 极品后入免费视频| 精品176精品2| 97超碰巨乳| 人妻大相焦在线| 91天美传媒精品| 精品一区96| 国产免费大片| 天天日天天舔东京热| 国产高清亚洲日韩一区| 91精品人妻| 中国熟妇| 日韩少妇无码| 91色人妻| 久草国产在线视频| 粉嫩绯色AV一区二区在线| 久久九九国产精品| 日韩黄色电影网站| 人妻啊啊人妻啊啊| 青青草视频爽一爽| 欧美成人综合| 丝袜色综合| 人妻少妇无码| 久久精品国产Aⅴ| av网站免费线看| 欧美性爱日韩性爱| 亚洲无线码一区国产欧美国| 91粉芽高清在线一区二区| 殴美牲| 国产视频三区四区| 欧天美中出| 人妻丰满熟妇av无码区蜜桃| 在线视频 亚洲精品| 91精品久久久| 久久久久免费少妇| 亚州久久9| 天天干夜夜肏| 外站AV在线| 国产精品 久久久精品一牛| 国产精品一二三在线看| 国产精品麻豆成人AV艾秋| 日韩AV色图| 视频在线中文字幕| 欧美天天性| 综合免费无码中文| 中文字幕国产精品1区| 欧色性第一页| 亚洲欧美日韩偷拍色图| 在线可观看的黄色网址| 日韩熟女精品无码专区一区二区 | 9999亚洲电影| 亚洲女人91| 日小BB小视频| 亚殴在线| 天天综合,91入口| 国产午夜精品理论片一二三区区| 艹少妇网站| 九一屌逼| 亚洲国产97| 国人欧美精品一区二区| 亚州乱码中文字幕综合久久久| 久久久久久免费电影| 综合激情二| 午夜免费视频1000| 亚洲亚洲亚洲天堂天堂| 18禁无码永久免费无限制| 亚洲综合婷婷| 亚洲日韩久久精品一区| J?P?NESEHD熟女熟妇伦| 天天摸,夜夜摸| 97国产精品在线观看| 色在线综合| 99热99re超碰精品| 色臀AV| 国产精品无码AV网站| 色大师网站www永久网站视频| 亚洲综合20p| 色人久久| 91精品丝袜久久久久久| 欧美日韩999| 乱色老一区二区三区的观看方式| 2017人人操,人人摸| 国产九九久久久精品| 神马麻豆福利院| 超碰久热| 国产日韩怡红院| 欧美视频在线视频免费va| 人妻超碰青青草98| 国产精品久久99日日| 久久久av爱| 国产精品一区二区手机看片| 欧美91精彩| 中文字幕一区二区免费在线| 97碰碰日本乱偷人妻中文的| www.99中文字幕| 国产一区二区久久| 大香蕉免费乱伦视频| 国产成人啪一区二区| 国产精品久久久久久片| 婷婷8月天青娱乐| 涩五月婷婷| 97在线视频网站| 麻豆天美久久91| 97无码视频在线播放| 夜夜高潮夜夜爽高清视频一 | www…国产操逼| 欧美BT 亚洲色图| 色婷婷五月天| 国产亚洲精品一区二区三区| 青青草啪啪网| 1024人妻熟女一区二区三区| 久久三区四区| 九色 人妻 大香蕉| 精品国产91内射久久| 试看福利| 狠狠五月天| 久久尹人大香焦视| 色哟哟-国产专区| 欧美αv.com| 亚洲色婷婷综合久久一区二区三区| 久热久| 日韩啊V| 日韩无码久久熟女一级片| 国产亚洲精品第一最新| 天天日夜干| AV丝袜少妇| 国产精品一区二区 尿失禁| 亚洲男人在线观看天堂| 春色校园综合网| 亚洲成熟国产精品美女| 啪啪视频免费在线观看| 死我十八禁| 人妻在线臀日韩| 久久香蕉综合一本到3atv| 亚洲欧美清纯| 操曰本熟女| 91人妻人人妻| 亚洲乱熟女一区二区三区大香蕉| 国产精品精品系列在线观看| 人乳av| 日韩少妇丰满亚洲| 亚洲综合五月天| 国产三级资源在线观看| 一二三区精品视频| 国产精品久久久久久久久久久久久久久久 | 久久精品一区二区三区蜜桃臀| 69超碰综合| 91高清无码下载| 亚洲欧美综合| 天天舔日美女视频| 超碰午夜| 欧美精品久久96人妻无码| 婷婷啪啪| 五月丁香激情综合| 中日韩熟女| 91性高朝久久久久久久久| 男人的天堂视频精品乱在线| 久久视频,这里只有精品| 禁止观看美女黄| 久久九九网| 嫩草一区二区在线观看| 久久草草亚洲蜜桃臀| 在线洲亚线| 国产热av| 超碰免费欧美7| 精品176精品2| 国产精品 午夜福利| 午夜天天碰综合视频| 九久9精品| 欧美日韩操逼嗦吊| 热99这里只有精品| 丝袜美腿制服人妻二区中文字幕| 一类无码操逼视频| 一级片在线观看高清无码| 视频国产欧美在线播放| 国产强奸乱伦第1页| 天天狂操夜夜狂日| 天美传媒AV在线| 久久久久久十| 美女91在线| 蜜臀99久久国产| 国产精品伦理| 精精品人妻一区二区三区| 久久久精选| 久久久亚洲精品中文字幕人妻| 亚洲做性| 日韩情色一区二区| 日韩肏逼视频| 亚洲国产成人精品999| 岛国1区2区3区在线观看| A片大香蕉在线| 岛国黄片网站| AAAAAAAAA黄片| 18禁超污无遮挡无码免费网| 综合五月婷婷| 久久这里都是精品| 99国产精品免费| 久久久久久久久久久久欧美日| 午夜精品久久久久久久99| 欧美淫乱视频| 夜夜爽夜夜爽| 激情抓乳插进去啪啪啪日韩| av天堂手机版追回| 日韩国语字幕| 久久曰曰| 中文字幕欧美精品亚洲日韩蜜臀| 玖玖综合网| 92性色国产午夜福利在线661| 亚洲av综合色区图片亚洲| 夜夜骑操视频| 欧美色九九| 17c嫩草51久久91嫩草| 国产男女边吃边摸视频网站| 无码精品人妻一区二区三区妖精| 大香蕉AV在线| 91成人在线| 玖玖大干人妻| 日韩啊V| 熟女人妇一区二区三区| 欧美天天拍| 久草在| 密臀视频三区免费网站| 美女视频尤物网在线看| 丁香五月天堂网| 中文字幕日韩精品一区二区三区| AV色五月| 午夜亚洲WWW湿好大| 手机在线观看不卡无码av| 天天综合网一91网| 伊人在线大香蕉二。| 欧美综合天天| 久久激情视频| 日本中文字幕熟妇| 国产精品不卡av免费在线观看| 九色在线熟女国产黑人| 丝袜制服字幕在线| 日韩天天综合| 国产三级多多影院2022国产AA一级毛片无码 | 欧美日韩第一页| 精品人妻一区二区免费蜜桃| 一卡二卡三卡| 欧美日韩性爱无码| 欧洲乱码视频| 亚洲?V高清一区二区三区尤物| 一级啊性爱在线视频| 操B久久| 成年无码动漫av片无尽在线| 91性高潮久久久久久久久| 亚洲精品一卡二卡三卡福利视频网站| 东北女人操逼| 操碰97| av日韩中文字幕| 国产亚洲日韩在线三区黑人| 四季AV综合网址| 欧在线一二区| 91无码中出人妻视频| 亚洲自拍小说| 亚洲精品国产熟女久久久| 国产精品国产亚洲区艳妇糸列| 欧美色五月| 久久精品国产97欧美精品亚洲| 久久成人午夜精品影院| 国精综合一二三区影视| 国产精品久久天天干| 91九久| 视频不卡中文字幕| 国内精品999| 中文字幕乱码在线| 超碰日本97美女人妻人人玩人人爱 | 久久久久97| 欧美九9 9 9| 欧美天堂在线| 久热伊人99re| 精品三级在线专区| 欧亚不卡| 日韩无码三级影院| 高清肉丝中文无码| 免费啪啪一级视频| 无码人妻毛片丰满熟妇精品区| 在线观看色视频| 丝袜天堂网| 超碰人人色| 96麻豆精品一区二区三区| 思思热在线| 麻豆天美91| 欧美少妇第一页| 亚洲h片在线免费观看| 97超碰资源网| 一起草精品人妻| 美女黄页网站| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 裸体美女久久久| 国产中文字幕曰本毛片| 色亚洲欧美| 97干com| 国产一进一出视频网站| 后入日本1234| 色999人与兽| 三级AV入口| 久久9免费视频| 日本有码久久| 成人a级高清视频在线观看| 人人妻天天做天天爽| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 啊啊啊啊啊在线观看网址 | 色色操| 91一区二区三区蜜桃| 亚洲综合大片| 精品超碰中文在线| 一区二区三区黄色片a| 自拍啪啪视频| 2025亚洲男人天堂| 夜嗨影院| 一中国女人毛片水真多| 一区二区亚州激情久婷婷欧美| 久久久婷| 国产Aα| 97超碰日韩| 偷拍五区| 91在线美女| 亚洲国产成人高清在线| 国产午夜精品理论片一二三区区| 久草精品视频| 亚洲色堂免费视频| www网站黄| 韩日色费| 精品一区二区三区麻豆| 2019亚洲男人天堂| av情色影音| 大香蕉综合在线| 中文字幕一区二区三区字幕| 久久精品国产亚洲粉嫩| 男人的天堂2000| 手机av天堂久久久久| 思思热免费视频观看| 国产最火爆久久国产网站网站| 婷婷人妻激情| 亚洲日韩黑丝| 九九热精彩视频| 青青草视频在线观看一区二区| www.色操逼| 又大又长又粗又爽又黄| 国产又粗又大硬免费色网视频| 成人九九| 久久精品无码不卡| 歐美性天天| 91jk色拍| 欧美无圣光在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 蜜臀久久99精品久久久久久成人小说 | 嗯嗯啊啊操死我| 九九热av| 午夜亚洲| 撸无码不卡免费视频| 成人一级二级| 中文字幕人乱码中文字的预防方法| 伊人久久亚洲中文字幕| 欧美黑人猛交春色影视大全| 加勒比无码一区二区三区| www色色色com| 99精品在线观看| 婷婷操逼| 日本在线一二| 久久久久骚| 国产精品对白内射| 亚洲天堂女优在线| 久艹伊人精品综合在线| 色狠狠综合噜一二三区| 超碰97在线 欧美 国产| 打av高清| 欧美成人综合| 男人的天堂日韩| 久久精品无码不卡| 日韩无码第3页| 97超碰欧美精品| 97综合在线| 一级片视频啪啪| 亚川综合视频| 91成人在线免费视频| 亚洲成?V人片在线观看福利| 久久久97| 人妻精品综合中文字幕在线| 安徽熟妇视频| 97干综合网| 久操视频这里只有精品| 91精品国产91久久青草| 麻豆国产视频精品观看| 国产男人又猛又粗又爽| 不卡免费av在线播放| 五月丁香综合网| 久久久久中出| 欧洲精品久久| 亚洲丨在线| 老熟女乱伦片| 欧美成人A天堂片在线观看| 午夜理论片在线观看免费| 91狠狠综合久久久久久| 国产suv精品一区二区四区999| 99re9这里只有精品| 亚洲国产丝袜在线观看| 欧美日韩亚洲天堂| 国产中文字幕在线点播| 亚洲天堂 视频你懂的| 久久久999网站| 校园春色欧美| 人妻三级在线中文字幕| 26uuu国产日韩综合在线观看| 欧美精品999| 国产农村妇女精品一| 夜夜操夜夜高潮夜夜爽国产精品区| 色妺妺AⅤ| 黄片免费看的| 欧美制服另类丝袜| 国产熟女高潮一区二区三区| 97爱爱| 欧美一二级| 四虎免费在线观看| 1024人妻熟女一区二区三区| 97青青操视频| 亚洲欧美国产精品久久久久久久| 超碰在线欧美性爱激情| 五月丁香| 熟女91网| 新久久AV| 欧美激情视频一区二区三区不卡| 骚日日av| 无码天天操| 亭亭丁香激情| 超碰诱惑| 国产激情在线观看| 久久超碰大香蕉| 欧美大片91| 五月天丁香网| 97国产综合欧美| 一级人妻性爱视频| 亚洲人妻一区二区三区| 久久超碰天天| 黑人无码一区二区| 超碰久久草| 高清在线不卡一区二区 视频| 一区二区 韩日AV| 久超碰这里只有精品| 亚洲免费成人在线高清无码视频 | 国产精品毛片| 久久美女国产| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产 亚洲 一二三四| 丰满人妻-区二区三区免费| 啊啊啊啊在线播放| 免费在线观看国内色片网站网址| 骚逼一区二区| 久久中文字幕一区不卡| 人妻插插人妻人| 84YTCOM性无码| 青青草在线视频人人想人人上| 欧美色网络| 五月婷婷色| 躁躁躁日日躁2020| 夜夜爽爽爽| 777超碰| 亚洲色吧网| 淫荡网址| 蜜桃视频精品一区二区三区| 乱伦日本中文自拍| 91色噜噜狠狠| 草草影院最新网址| ai欧美亚洲小说| 操逼国产免费| 一级一性爱免费视频| 人妻22p| 欧美偷拍| av资源在线播放天堂| 欧美在线第五页| 操逼操操操91| 亚洲天堂电影网99999| 国产99 中文字幕日韩小视频| 婷婷精品国产欧美精品亚洲人人爽| 黄色AAAAA欧美| 久久成人精品| 操人无码| 色吧91| 美女的肌被草喷水视频| ,成人免费啪啪视频| 亚洲和欧美裸体美女双飞视频| 国产女人高潮嗷嗷嗷叫小说| 超碰到97情色| 丁香五月天社区| 香蕉视频欧美一卡二卡| 蜜桃中文字日产乱幕4区| 成人麻豆av电影网站| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 精品国产一区二区三区在线播出| 亚洲国内精品成人不卡| 欧美一级黄片免费播放| 欧美亚洲图片| 亚洲区限制级| 一区二区三区机械有限公司| 超碰97中文| 天天日天天屌天天操| 曰韩无码777| 东京热一区二区中文字幕| 97视频620| 99久久9| 国产91亚洲精品一区二区三区| 亚洲性少妇| 婷婷五月天影院| 亚洲97成人在线观看| 国产丝袜高跟美女av免费观看| 色色热| 中文日本免费高清| 青青青青青手机视频| 国产极品久久久| 五月天久久久| 超碰色男人操熟女| 国产精品欧美在线观看| 国产白丝在线| 亚洲春色激情小说| 日本一区二区不卡精品| 亚洲成人激情小说视频| 亚洲骚男同com| 久久成年精品| 91色综| 色官网在线| 精品无码久久久久久国产浪潮| 国语精品av| 午夜综合在线| 亚洲不卡av在线| 婷婷激情四射| 黑人无码一区二区| 欧美不卡在线一区二区| 极品色综合| 91超碰丝袜制服| 免费成人在线熟妇网| 91美女在线精品视频| 激情综合亚洲| 久久鲁干| 国产操逼逼网| ji熟女.com| 人人操欧美风骚| 蜜臀网 一区| 亚洲双插| 天天综合网合集91| 欧美成人综合| 天天夜夜久久| 亚洲熟妇丝袜在线观看| 偷拍 精品另类 凸凹了四区| 亚洲日本韩国在线| 人人干人人搞人人摸| 强奸国产在线| 国产美女裸体秘 永久无遮挡| 91色图| 屁股久久久久久| 三四中文字幕| 97资源亚洲| 国产馆| 亚洲三级。日韩三级| 夜夜春夜夜操| 91超碰在线观看| 欧美色图自拍| 亚洲日韩狠狠撸视频| 久久九九热| 夜夜骑日日| 亚洲情色 自拍| 综合网亚洲在线| 成人一二三区| 欧美色图91| 亚洲图片欧美色图| 欧美成人免费在线观看| 在线视频免费观看午夜| 一级片视频啪啪| 国产丝袜欧美在线视频| 影视综合无码少妇| 亚欧视频在线| 色久桃花影院在线观看| 国产三区免费在线观看| 国产呦精品一区二区三区下载| 综合欧美日本三级| 婷婷色五月激情| 亚洲色图大香| 精品人妻夜夜草| 久久99精品国产| 久久9免费视频| 密臀在线一区尤物| 黄片www视频免费| 五十路六十路七十路熟婆| 欧美性爱第一区| 日韩性爱电影一区| 天天干美少妇一区| 国产性刺激| 激情综合网一盗摄| 亚洲第一视频 欧美风情 日韩| 性91| 人人操人人摸人人看人人插| 黄色网址在线免费观看| 99热9| 亚洲第一页欧美| 日韩欧美蜜桃精品久久中文字幕久久| 96超碰网| Sekablack无码一区| 人人插人人摸人人| 吻戏激情性巴克| www.高清无码诱惑一区.com | 欧美老熟另类| 色九九综合AV| 欧美激情专区| 18禁中文字幕| 淫妻综合网| 人人爽人人精品乱人伦AV| 69久久| 一级二级三级黑人无码| 久久精视频美日韩在线视频| 麻豆天美久久91| 亚洲s色图| 中文字幕蜜乳av| 综合久久六月久久婷婷| 后X久久| 97AV在线免费观看| 成人性交免费视频| 久久夜黄色无码A级大片| 亚洲中文字幕噜噜噜久久久| 神马久久啊啊| 上特色A在线| 午夜久久无码1000合集| 18一区二区三区| 亚洲高潮影院| 综合五月婷婷亚洲一区| 91天天日| 巨乳特殊服务按摩| 操逼免费视频无码国产| 天堂蜜桃无码视频一区二区| 丰满丝袜少妇AV| 天天做天天爱夜夜爽毛片试看| 色吧五月| 搡老女人老91妇女熟女| 黄色片A级一区二区三区| 五月天激情网图片| 91色s| 手机在线中文字幕国产 | 永久电影三级在线观看| 色综合色综合网| 蜜桃视频啊啊啊啊| 天天操夜夜操狠很操| 国产精品久久久久久夜夜夜| 97日韩超碰超碰中文字幕| 人人爱人人操人人性| 美女黑人91神马| a片在线播放| 久久这里都是精品| 日本大香蕉综合网红本杳社区| 嫩草影院在线观看精品| 欧美 牲| AA级电影三区| 日韩久久超碰色| 日本视频在线中文字幕| 美女刺激久久国产欧美| 久久亚洲日韩熟女精品| 日本精品成人无码| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 亚洲黄色视频在线观看视频| 青青11操操操操操操操操| 99夜夜操| 视频二区美腿丝袜制服人妻欧美| 青女偷拍网| 色99视频| 精品久久久久综合无码| 五月激情影院| 色九久| 丰满人妻一区二区三区免费,| 中文字幕成人乱码熟女精品国50| 婷婷五月天色色| 男人的天堂99| 亚洲夜色在线| 丰满熟女一区二区三区在线播放| 蜜臀久久99精品久久综合| 偷拍 亚洲 欧美| 色妹子A V| 天天干天天舔| 极品粉嫩少妇视频| 91人妻做a观看视频| 熟妇高潮二区三区| 99九九久久| 97免费在线| 在线视频一区二区传媒| 亚洲小电影免费涩涩成人在线高清| 老汉网| 免费操逼视频下载| 精品一区二区三区蜜桃| 亚洲色图激情小说| 思思视频免费看网站| 中文字幕AV片| 日韩在线观看中文字幕视频| 成人性交免费视频| 2019天天操天天爽天天拍| A 在线网址| 中文字幕av片| 国产欧美伊人| ji熟女.com| 日本二区不卡| 91丝袜美腿网站| 黄页网站免费高清在线观看| 超碰欧美COM| 亚洲AV免费在线观看| 天天操夜夜嗨| 东京热综合久久一区二区| 国产有码一区| 精品一二三区久久AAA片| 丰满人妻一区二区三区| 久9久9精品| 婷婷中文字幕| 天天躁日日躁成人字幕aⅴ| 激情内射| 中文字幕版| 久草大| 懂色中文一区二区三区| 欧美天天影院| 久久精品视频28| 玖玖在线视频| 国产高清免费不卡av| 精品国产乱码久久久A| 1204av韩国| 亚洲精品一区中文字幕乱码| 少妇人妻好深太紧了vr91| 欧美精品黑人猛交高潮| av东京热男人的天堂| 中文字幕二区日韩天堂| 插日本熟女视频| 我要去看2个日本美女.com曹逼| 91老熟女91老女人| 精品人妻一区二区免费蜜桃| 国产亚洲国产超碰| 日韩黄片视频试看| 韩国三级色呦呦| 久久精品男人的天堂| 亚洲91网。| 97九色人妻| 精品国产肉丝袜在线拍国语| 我想要啊 啊 啊| 九九九国产精品| 色天堂综合| 久久久久久夜夜夜夜夜| 综合色啪| 秋霞久久亚洲精品成人| 天天干天天操天天操夜夜操天天操| 日韩干B| 夜精品久无码| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 夜夜黄| Aa东京男人的天堂| 欧美狠狠鲁| 九久久九精品视频| 99色视频| 久热婷婷| 人人扣人人操| 国产麻豆一级精品视频| 五十路三级片| 人妻少妇被猛烈进入中| 蜜乳中文字幕a在线| 人人操欧美风骚| 天天综合-91入口| 亚洲熟女人妻中文字幕一区二区 | 欧美色性爱| 中文字幕人成乱码熟女香港| 另类图片欧美激情综合| 欧美第二页| 97欧美| 国产老太乱伦一区| 亚洲天堂久久久久久粉红视频| 黄页av| 五十路熟女人妻一区二区三区四区五| 97 国产精品| 亚州,欧美在线| 天天干人人乐| 啊啊啊好大好深| 国产传媒一区二区三区| 亚洲久久久久| 呦呦一区| 婷婷av在线中文字幕| 亚洲一区操| 国产乱伦亚洲| 亚洲无码一二三区| 精品在线观看视频在线| 韩国三级理论在线| 亚洲综合色婷婷|