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

ARTICLE DETAIL

資訊詳情

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

OpenMontage實(shí)戰(zhàn):開(kāi)源視頻蒙太奇自動(dòng)化編排與FFmpeg合成指南

OpenMontage實(shí)戰(zhàn):開(kāi)源視頻蒙太奇自動(dòng)化編排與FFmpeg合成指南 1. 從“OpenMontage”這個(gè)名字說(shuō)起它到底想解決什么問(wèn)題第一次看到“OpenMontage”這個(gè)詞我腦子里蹦出來(lái)的第一反應(yīng)是“開(kāi)放式的蒙太奇”。蒙太奇這個(gè)詞在影視剪輯里太常見(jiàn)了指的是把不同鏡頭拼接在一起產(chǎn)生單個(gè)鏡頭不具備的敘事或情緒效果。而“Open”這個(gè)前綴在技術(shù)圈里通常意味著開(kāi)源、開(kāi)放標(biāo)準(zhǔn)、可擴(kuò)展。把這兩個(gè)詞拼在一起直覺(jué)告訴我這大概率是一個(gè)跟視頻剪輯、素材編排、自動(dòng)化合成相關(guān)的開(kāi)源項(xiàng)目或者工具集。但問(wèn)題來(lái)了我翻了一圈公開(kāi)的項(xiàng)目倉(cāng)庫(kù)和社區(qū)討論發(fā)現(xiàn)“OpenMontage”并沒(méi)有一個(gè)唯一對(duì)應(yīng)的、被廣泛引用的官方項(xiàng)目。這其實(shí)是一個(gè)很典型的場(chǎng)景你從某個(gè)渠道看到一個(gè)熱詞想深入了解結(jié)果發(fā)現(xiàn)信息是碎片化的甚至可能指向多個(gè)不同的東西。有的地方它指的是一套開(kāi)源的視頻剪輯腳本框架有的地方它被用來(lái)描述一種基于時(shí)間線的素材自動(dòng)編排思路還有的地方它出現(xiàn)在一些獨(dú)立開(kāi)發(fā)者的實(shí)驗(yàn)性項(xiàng)目里用來(lái)做圖片序列到視頻的快速轉(zhuǎn)換。所以這篇文章我不打算假裝有一個(gè)“官方文檔”可以照本宣科。我要做的是基于“OpenMontage”這個(gè)標(biāo)題本身所蘊(yùn)含的技術(shù)語(yǔ)義結(jié)合我在視頻處理、自動(dòng)化編排、開(kāi)源工具鏈這塊的實(shí)際經(jīng)驗(yàn)把這個(gè)概念拆開(kāi)揉碎講清楚它背后可能涉及的核心技術(shù)點(diǎn)、典型應(yīng)用場(chǎng)景、以及如果你要自己動(dòng)手實(shí)現(xiàn)一個(gè)類似的東西應(yīng)該從哪里下手。關(guān)鍵詞我提煉為開(kāi)源視頻編排、蒙太奇自動(dòng)化、時(shí)間線合成、素材序列化、剪輯腳本化。摘要描述可以概括為圍繞“OpenMontage”這一概念探討開(kāi)源視頻蒙太奇編排的技術(shù)原理、實(shí)現(xiàn)路徑與實(shí)戰(zhàn)避坑經(jīng)驗(yàn)。這篇文章適合誰(shuí)看如果你是做視頻自動(dòng)化的開(kāi)發(fā)者或者你是一個(gè)經(jīng)常需要批量處理素材、生成混剪視頻的運(yùn)營(yíng)人員又或者你只是對(duì)“用代碼來(lái)剪片子”這件事感到好奇那接下來(lái)的內(nèi)容應(yīng)該能給你不少可以直接抄作業(yè)的東西。我會(huì)盡量少講空話多講我實(shí)際踩過(guò)的坑和驗(yàn)證過(guò)的方案。2. 蒙太奇自動(dòng)化的核心邏輯時(shí)間線、素材池與規(guī)則引擎2.1 為什么“蒙太奇”這件事值得用代碼來(lái)做先聊一個(gè)最根本的問(wèn)題手動(dòng)剪輯不香嗎香但有個(gè)前提——你的素材量不大且你對(duì)“創(chuàng)意”的要求極高。一旦你面臨的是幾百上千條素材需要按照某種節(jié)奏、某種情緒曲線、某種時(shí)長(zhǎng)要求去批量生成視頻手動(dòng)剪輯就變成了體力活。我接過(guò)一個(gè)需求要把同一套產(chǎn)品圖片和幾段背景音樂(lè)按照不同的轉(zhuǎn)場(chǎng)節(jié)奏生成20個(gè)版本用于A/B測(cè)試。手動(dòng)做一個(gè)版本至少半小時(shí)20個(gè)版本就是10個(gè)小時(shí)而且中間還容易出錯(cuò)。用代碼來(lái)做寫(xiě)好規(guī)則之后跑一遍可能就幾分鐘。蒙太奇自動(dòng)化的本質(zhì)是把“剪輯決策”從人的直覺(jué)變成可執(zhí)行的規(guī)則。這些規(guī)則包括每個(gè)鏡頭持續(xù)多久、鏡頭之間的轉(zhuǎn)場(chǎng)用什么、素材按照什么順序排列、音頻和畫(huà)面的節(jié)奏怎么對(duì)齊。一旦這些規(guī)則被抽象成參數(shù)你就可以用程序去批量生成、批量變體、批量測(cè)試。這就是“OpenMontage”這類概念真正有價(jià)值的地方——它不是要取代剪輯師而是把剪輯師從重復(fù)勞動(dòng)里解放出來(lái)去做更有創(chuàng)造性的規(guī)則設(shè)計(jì)。2.2 時(shí)間線模型一切編排的骨架不管你用什么工具來(lái)實(shí)現(xiàn)蒙太奇自動(dòng)化底層都離不開(kāi)一個(gè)東西時(shí)間線模型。你可以把它想象成一條無(wú)限長(zhǎng)的尺子上面有刻度每個(gè)刻度代表一個(gè)時(shí)間點(diǎn)。你的視頻軌道、音頻軌道、字幕軌道都是掛在這條尺子上的。每個(gè)素材片段在時(shí)間線上占據(jù)一段區(qū)間有明確的入點(diǎn)和出點(diǎn)。在代碼層面時(shí)間線通常被抽象成一個(gè)數(shù)據(jù)結(jié)構(gòu)比如一個(gè)列表里面每個(gè)元素是一個(gè)“片段對(duì)象”包含素材路徑、起始時(shí)間、持續(xù)時(shí)長(zhǎng)、軌道索引、轉(zhuǎn)場(chǎng)類型等字段。我習(xí)慣用Python里的字典或者dataclass來(lái)表示因?yàn)榭勺x性好調(diào)試的時(shí)候一眼就能看明白。下面是一個(gè)簡(jiǎn)化的例子from dataclasses import dataclass dataclass class Clip: source: str # 素材文件路徑 start: float # 在時(shí)間線上的起始時(shí)間秒 duration: float # 持續(xù)時(shí)長(zhǎng)秒 track: int # 軌道編號(hào) transition: str cut # 轉(zhuǎn)場(chǎng)類型默認(rèn)硬切有了這個(gè)模型之后你所有的編排邏輯本質(zhì)上就是在操作這個(gè)列表。比如你要做一個(gè)“快節(jié)奏混剪”那就是把每個(gè)Clip的duration設(shè)短一點(diǎn)比如0.5秒到1秒然后在相鄰Clip之間加上“dissolve”或者“wipe”轉(zhuǎn)場(chǎng)。你要做一個(gè)“慢節(jié)奏敘事”那就把duration拉長(zhǎng)到3到5秒轉(zhuǎn)場(chǎng)用“fade”或者直接硬切。這里有個(gè)坑我踩過(guò)時(shí)間線的起始時(shí)間計(jì)算。如果你手動(dòng)去累加每個(gè)片段的時(shí)長(zhǎng)來(lái)算下一個(gè)片段的start很容易因?yàn)楦↑c(diǎn)數(shù)精度問(wèn)題導(dǎo)致累積誤差。比如0.1加0.2在浮點(diǎn)數(shù)里不等于0.3。我的做法是用一個(gè)單獨(dú)的變量來(lái)記錄“當(dāng)前游標(biāo)位置”每次添加片段時(shí)用游標(biāo)位置作為start然后游標(biāo)位置加上duration。這樣誤差不會(huì)累積因?yàn)槊看味际腔谝粋€(gè)相對(duì)干凈的值來(lái)算。2.3 素材池的組織方式標(biāo)簽、元數(shù)據(jù)與隨機(jī)種子蒙太奇自動(dòng)化的另一個(gè)核心是素材池。你不能把一堆文件往文件夾里一扔就完事了那樣程序不知道哪個(gè)素材適合放在開(kāi)頭哪個(gè)適合放在高潮部分。你需要給素材打標(biāo)簽。標(biāo)簽的維度可以很豐富畫(huà)面內(nèi)容人物、風(fēng)景、產(chǎn)品、情緒歡快、緊張、平靜、色調(diào)暖色、冷色、黑白、鏡頭類型特寫(xiě)、中景、遠(yuǎn)景、甚至拍攝時(shí)間。我通常會(huì)用JSON或者CSV來(lái)管理素材元數(shù)據(jù)每個(gè)素材對(duì)應(yīng)一行記錄包含文件路徑和若干標(biāo)簽字段。然后在編排規(guī)則里我就可以寫(xiě)“開(kāi)頭用三個(gè)‘歡快’標(biāo)簽的素材每個(gè)1.5秒中間用兩個(gè)‘緊張’標(biāo)簽的素材每個(gè)0.8秒”。這樣程序就能自動(dòng)從素材池里篩選出符合條件的片段按規(guī)則拼起來(lái)。還有一個(gè)很實(shí)用的技巧引入隨機(jī)種子。如果你想讓每次生成的視頻都有點(diǎn)不一樣但又希望結(jié)果是可復(fù)現(xiàn)的那就用隨機(jī)種子來(lái)控制隨機(jī)過(guò)程。比如你用random.seed(42)那么每次跑出來(lái)的結(jié)果都是一樣的。如果你把種子換成43結(jié)果就變了但依然是可復(fù)現(xiàn)的。這在做A/B測(cè)試的時(shí)候特別有用你可以生成一批不同種子的版本然后對(duì)比哪個(gè)效果更好。2.4 規(guī)則引擎把剪輯決策寫(xiě)成可配置的規(guī)則規(guī)則引擎是蒙太奇自動(dòng)化的“大腦”。它決定了素材怎么選、怎么排、怎么轉(zhuǎn)場(chǎng)、怎么配樂(lè)。最簡(jiǎn)單的規(guī)則引擎就是一堆if-else但那樣擴(kuò)展性很差。稍微好一點(diǎn)的做法是用配置文件來(lái)驅(qū)動(dòng)比如YAML或者JSON把規(guī)則寫(xiě)成結(jié)構(gòu)化的數(shù)據(jù)。舉個(gè)例子你可以定義一個(gè)“節(jié)奏曲線”描述視頻在不同時(shí)間段的剪輯密度。開(kāi)頭30秒每個(gè)鏡頭2秒中間30秒每個(gè)鏡頭1秒最后30秒每個(gè)鏡頭0.5秒。這個(gè)曲線可以用一個(gè)列表來(lái)表示每個(gè)元素包含時(shí)間段和對(duì)應(yīng)的鏡頭時(shí)長(zhǎng)。然后規(guī)則引擎遍歷這個(gè)曲線從素材池里按標(biāo)簽篩選素材生成對(duì)應(yīng)的Clip列表。更高級(jí)一點(diǎn)的規(guī)則引擎會(huì)引入“權(quán)重”和“約束”。比如你希望某個(gè)標(biāo)簽的素材出現(xiàn)頻率更高那就給它更高的權(quán)重。你希望相鄰兩個(gè)鏡頭不能來(lái)自同一個(gè)場(chǎng)景那就加一個(gè)約束條件。這些邏輯用代碼實(shí)現(xiàn)起來(lái)并不復(fù)雜但效果提升很明顯。我實(shí)測(cè)下來(lái)加了權(quán)重和約束之后生成的視頻看起來(lái)“更像人剪的”而不是機(jī)械地按順序播放。3. 技術(shù)選型用什么工具來(lái)實(shí)現(xiàn)OpenMontage式的編排3.1 FFmpeg繞不開(kāi)的底層利器說(shuō)到視頻處理FFmpeg是絕對(duì)繞不開(kāi)的。它幾乎能處理所有格式的視頻、音頻、圖片而且命令行接口非常強(qiáng)大。在蒙太奇自動(dòng)化的場(chǎng)景里FFmpeg主要用來(lái)做兩件事一是把圖片序列或者視頻片段拼接成完整的視頻二是做轉(zhuǎn)場(chǎng)和濾鏡效果。用FFmpeg做拼接最直接的方式是用concat協(xié)議。你先把所有片段轉(zhuǎn)成統(tǒng)一的編碼格式和分辨率然后寫(xiě)一個(gè)文本文件列出每個(gè)片段的路徑最后用ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4來(lái)合并。這個(gè)方式的優(yōu)點(diǎn)是快因?yàn)椴恍枰匦戮幋a。但缺點(diǎn)是轉(zhuǎn)場(chǎng)效果做不了只能是硬切。如果你需要轉(zhuǎn)場(chǎng)那就得用filter_complex里的xfade濾鏡。這個(gè)濾鏡可以讓你在兩個(gè)視頻流之間做淡入淡出、滑動(dòng)、圓形擴(kuò)散等效果。但用起來(lái)比較麻煩因?yàn)槟阈枰_控制每個(gè)片段的時(shí)長(zhǎng)和偏移量。我一般會(huì)寫(xiě)一個(gè)Python腳本來(lái)生成FFmpeg命令把時(shí)間線的數(shù)據(jù)轉(zhuǎn)換成filter_complex的字符串。這個(gè)過(guò)程有點(diǎn)繁瑣但一旦跑通后面就是復(fù)制粘貼改參數(shù)的事。注意FFmpeg的xfade濾鏡對(duì)輸入視頻的幀率和分辨率有要求如果兩個(gè)片段的參數(shù)不一致會(huì)報(bào)錯(cuò)。所以在拼接之前最好先用scale和fps濾鏡把所有片段統(tǒng)一到相同的規(guī)格。3.2 MoviePyPython里的剪輯瑞士軍刀如果你不想跟FFmpeg的命令行參數(shù)搏斗MoviePy是一個(gè)很好的選擇。它是一個(gè)Python庫(kù)把FFmpeg的很多功能封裝成了面向?qū)ο蟮慕涌凇D憧梢杂脦仔写a就完成視頻拼接、裁剪、加字幕、加背景音樂(lè)等操作。用MoviePy來(lái)實(shí)現(xiàn)蒙太奇編排思路很直接你把每個(gè)素材加載成VideoFileClip對(duì)象然后用concatenate_videoclips把它們拼起來(lái)。轉(zhuǎn)場(chǎng)效果可以用crossfadein和crossfadeout來(lái)實(shí)現(xiàn)。音頻可以用CompositeAudioClip來(lái)疊加。但MoviePy有個(gè)問(wèn)題性能。因?yàn)樗讓舆€是調(diào)用FFmpeg但中間多了一層Python的封裝處理大文件或者復(fù)雜效果的時(shí)候會(huì)比較慢。我試過(guò)用MoviePy處理一個(gè)10分鐘、1080p的視頻加了轉(zhuǎn)場(chǎng)和字幕跑了將近15分鐘。同樣的任務(wù)用純FFmpeg命令行大概5分鐘就搞定了。所以我的建議是如果你做原型驗(yàn)證或者對(duì)性能要求不高M(jìn)oviePy很合適如果你要批量處理大量視頻還是直接上FFmpeg。3.3 其他值得關(guān)注的工具除了FFmpeg和MoviePy還有一些工具在特定場(chǎng)景下很好用。比如Pillow用來(lái)處理圖片序列pydub用來(lái)處理音頻OpenCV用來(lái)做視頻分析和幀提取。如果你要做更復(fù)雜的視覺(jué)特效可能還需要用到Blender的Python API但那已經(jīng)是另一個(gè)量級(jí)的東西了。還有一個(gè)思路是用GStreamer它是一個(gè)流媒體框架支持實(shí)時(shí)處理和復(fù)雜的管線編排。但GStreamer的學(xué)習(xí)曲線比較陡文檔也比較分散我不建議新手一上來(lái)就碰它。除非你的場(chǎng)景確實(shí)需要實(shí)時(shí)處理或者低延遲否則FFmpeg加Python的組合已經(jīng)能覆蓋90%的需求了。3.4 選型對(duì)比表工具優(yōu)勢(shì)劣勢(shì)適用場(chǎng)景FFmpeg性能好功能全社區(qū)大命令行參數(shù)復(fù)雜轉(zhuǎn)場(chǎng)配置繁瑣批量處理生產(chǎn)環(huán)境MoviePyPython接口友好上手快性能一般復(fù)雜效果支持有限原型驗(yàn)證小規(guī)模處理GStreamer實(shí)時(shí)處理管線靈活學(xué)習(xí)曲線陡文檔分散實(shí)時(shí)流處理低延遲場(chǎng)景OpenCV視頻分析強(qiáng)幀級(jí)操作不擅長(zhǎng)編碼和拼接素材分析幀提取我個(gè)人的習(xí)慣是用OpenCV做素材分析比如提取關(guān)鍵幀、計(jì)算畫(huà)面亮度用Python腳本生成FFmpeg命令來(lái)做最終的合成。這樣既利用了OpenCV的分析能力又保證了合成階段的性能。4. 從零搭建一個(gè)最小可用的蒙太奇編排腳本4.1 環(huán)境準(zhǔn)備與依賴安裝在開(kāi)始寫(xiě)代碼之前你需要確保環(huán)境里有FFmpeg和Python。FFmpeg的安裝方式取決于你的操作系統(tǒng)。在macOS上用Homebrew裝最方便brew install ffmpeg。在Ubuntu上用apt-get install ffmpeg。Windows用戶可以去官網(wǎng)下載編譯好的二進(jìn)制包然后把bin目錄加到PATH里。Python這邊我建議用虛擬環(huán)境來(lái)管理依賴。創(chuàng)建一個(gè)虛擬環(huán)境然后安裝moviepy、pillow、numpy這幾個(gè)庫(kù)。如果你要用OpenCV做分析再裝一個(gè)opencv-python。這些庫(kù)的版本盡量用最新的穩(wěn)定版因?yàn)橐曨l處理這塊的API變動(dòng)比較頻繁老版本可能會(huì)有一些奇怪的bug。python -m venv venv source venv/bin/activate # Windows用 venv\Scripts\activate pip install moviepy pillow numpy opencv-python裝完之后跑一個(gè)簡(jiǎn)單的測(cè)試用MoviePy加載一個(gè)視頻文件打印它的時(shí)長(zhǎng)和分辨率。如果能正常輸出說(shuō)明環(huán)境沒(méi)問(wèn)題。4.2 素材掃描與元數(shù)據(jù)提取下一步是掃描素材文件夾提取每個(gè)素材的基本信息。對(duì)于視頻素材你需要知道它的時(shí)長(zhǎng)、分辨率、幀率。對(duì)于圖片素材你需要知道它的尺寸。這些信息可以用FFprobe來(lái)獲取它是FFmpeg套件里的一個(gè)工具專門用來(lái)分析媒體文件的元數(shù)據(jù)。我寫(xiě)了一個(gè)函數(shù)接收一個(gè)文件夾路徑返回一個(gè)列表每個(gè)元素是一個(gè)字典包含文件路徑、類型、時(shí)長(zhǎng)、寬度、高度。對(duì)于視頻用ffprobe -v quiet -print_format json -show_format -show_streams來(lái)獲取信息。對(duì)于圖片直接用Pillow打開(kāi)讀取size屬性。這個(gè)步驟看起來(lái)簡(jiǎn)單但有個(gè)細(xì)節(jié)要注意有些視頻文件的元數(shù)據(jù)可能不準(zhǔn)確比如時(shí)長(zhǎng)字段是空的或者幀率標(biāo)的是可變幀率。遇到這種情況我一般會(huì)用OpenCV實(shí)際讀一遍幀數(shù)然后除以時(shí)長(zhǎng)來(lái)估算真實(shí)幀率。雖然麻煩一點(diǎn)但能避免后面合成的時(shí)候出現(xiàn)音畫(huà)不同步的問(wèn)題。4.3 按規(guī)則生成時(shí)間線有了素材列表之后就可以開(kāi)始生成時(shí)間線了。我通常會(huì)把規(guī)則寫(xiě)成一個(gè)YAML文件結(jié)構(gòu)大概是這樣segments: - name: 開(kāi)場(chǎng) duration: 5 clip_duration: 1.5 tags: [歡快, 明亮] transition: fade - name: 主體 duration: 20 clip_duration: 1.0 tags: [產(chǎn)品, 特寫(xiě)] transition: cut - name: 結(jié)尾 duration: 5 clip_duration: 2.0 tags: [平靜, 遠(yuǎn)景] transition: fade然后寫(xiě)一個(gè)解析器讀取這個(gè)YAML遍歷每個(gè)segment根據(jù)clip_duration和duration計(jì)算出需要多少個(gè)片段然后從素材池里篩選出符合tags的素材隨機(jī)選取生成Clip對(duì)象添加到時(shí)間線列表里。這里有個(gè)經(jīng)驗(yàn)素材的篩選不要只匹配一個(gè)標(biāo)簽最好支持多標(biāo)簽的“或”和“與”邏輯。比如tags: [歡快, 明亮]可以解釋為“歡快或明亮”也可以解釋為“歡快且明亮”。我一般會(huì)在配置里加一個(gè)tag_mode字段指定是any還是all。這樣靈活性更高。4.4 用FFmpeg合成最終視頻時(shí)間線生成之后最后一步就是合成。我前面說(shuō)過(guò)我傾向于用Python生成FFmpeg命令然后調(diào)用subprocess來(lái)執(zhí)行。這樣做的好處是我可以精確控制每個(gè)片段的處理方式而且性能比MoviePy好。合成的核心是構(gòu)建filter_complex字符串。對(duì)于每個(gè)片段你需要先用trim和setpts來(lái)裁剪和調(diào)整時(shí)間戳然后用scale和fps統(tǒng)一規(guī)格最后用concat或者xfade來(lái)拼接。如果片段之間有轉(zhuǎn)場(chǎng)xfade需要指定offset參數(shù)也就是轉(zhuǎn)場(chǎng)開(kāi)始的時(shí)間點(diǎn)。這個(gè)offset的計(jì)算需要累加前面所有片段的時(shí)長(zhǎng)再減去轉(zhuǎn)場(chǎng)本身的時(shí)長(zhǎng)。我寫(xiě)了一個(gè)輔助函數(shù)接收Clip列表返回完整的FFmpeg命令字符串。這個(gè)函數(shù)里最復(fù)雜的部分就是offset的計(jì)算。我的做法是維護(hù)一個(gè)current_offset變量初始為0每處理一個(gè)片段就把它加到offset上然后根據(jù)轉(zhuǎn)場(chǎng)類型決定是加duration還是加duration - transition_duration。這樣能保證轉(zhuǎn)場(chǎng)的時(shí)間點(diǎn)是對(duì)的。def build_ffmpeg_command(clips, output_path): inputs [] filters [] current_offset 0.0 for i, clip in enumerate(clips): inputs.extend([-i, clip.source]) # 裁剪和統(tǒng)一規(guī)格的濾鏡 filters.append(f[{i}:v]trim0:{clip.duration},setptsPTS-STARTPTS,scale1920:1080,fps30[v{i}]) # 拼接邏輯簡(jiǎn)化版實(shí)際需要處理轉(zhuǎn)場(chǎng) concat_inputs .join([f[v{i}] for i in range(len(clips))]) filters.append(f{concat_inputs}concatn{len(clips)}:v1:a0[outv]) filter_complex ;.join(filters) cmd [ffmpeg, -y] inputs [-filter_complex, filter_complex, -map, [outv], output_path] return cmd這個(gè)代碼只是示意實(shí)際用的時(shí)候還需要處理音頻、轉(zhuǎn)場(chǎng)、以及各種邊界情況。但核心思路就是這樣把時(shí)間線的數(shù)據(jù)翻譯成FFmpeg能理解的濾鏡圖。4.5 音頻軌道的處理視頻不能沒(méi)有聲音。在蒙太奇編排里音頻通常有兩種處理方式一種是每個(gè)視頻片段自帶原聲拼接的時(shí)候保留原聲另一種是統(tǒng)一用一條背景音樂(lè)覆蓋整個(gè)視頻。我一般傾向于后者因?yàn)楸尘耙魳?lè)更容易控制節(jié)奏和情緒而且能掩蓋片段之間可能存在的音頻不連貫問(wèn)題。用FFmpeg加背景音樂(lè)很簡(jiǎn)單把音頻文件作為另一個(gè)輸入然后用amix或者amerge濾鏡把它和視頻的原聲混合。如果你不需要原聲直接用-map把音頻流映射到輸出就行。但要注意音頻的時(shí)長(zhǎng)要和視頻對(duì)齊如果音頻比視頻短可以用aloop濾鏡循環(huán)播放如果音頻比視頻長(zhǎng)用atrim裁剪。我踩過(guò)的一個(gè)坑是背景音樂(lè)的音量太大蓋住了視頻里本來(lái)就不多的原聲。后來(lái)我學(xué)會(huì)了用volume濾鏡來(lái)調(diào)整音量比如把背景音樂(lè)降到0.3原聲保持在1.0。這樣出來(lái)的效果就自然多了。5. 實(shí)戰(zhàn)中那些文檔不會(huì)告訴你的坑5.1 編碼參數(shù)不一致導(dǎo)致的拼接失敗這是我最開(kāi)始做視頻拼接時(shí)遇到的最頻繁的問(wèn)題。你從不同來(lái)源收集的素材編碼格式、分辨率、幀率、像素寬高比可能都不一樣。FFmpeg的concat協(xié)議要求所有片段的編碼參數(shù)完全一致否則就會(huì)報(bào)錯(cuò)或者輸出花屏。我的解決方案是在拼接之前先用FFmpeg把所有片段轉(zhuǎn)成統(tǒng)一的中間格式。我一般用libx264編碼yuv420p像素格式分辨率統(tǒng)一到1920x1080幀率統(tǒng)一到30fps。這個(gè)預(yù)處理步驟會(huì)多花一些時(shí)間但能避免后面90%的奇怪問(wèn)題。提示如果你用的是xfade濾鏡它對(duì)幀率的要求更嚴(yán)格。如果兩個(gè)片段的幀率不一致轉(zhuǎn)場(chǎng)效果會(huì)卡頓或者直接失敗。所以統(tǒng)一幀率這一步絕對(duì)不能省。5.2 浮點(diǎn)數(shù)精度與時(shí)間線漂移前面提過(guò)浮點(diǎn)數(shù)精度的問(wèn)題這里再展開(kāi)說(shuō)一下。視頻的時(shí)間戳通常是以秒為單位的浮點(diǎn)數(shù)但FFmpeg內(nèi)部是用有理數(shù)來(lái)表示時(shí)間的。當(dāng)你用Python計(jì)算時(shí)間線的時(shí)候浮點(diǎn)數(shù)的累積誤差可能會(huì)導(dǎo)致最終的時(shí)間戳和預(yù)期有偏差。比如你期望轉(zhuǎn)場(chǎng)在10.0秒開(kāi)始結(jié)果實(shí)際是10.0000001秒雖然差別很小但在某些濾鏡里可能會(huì)觸發(fā)邊界條件導(dǎo)致畫(huà)面閃爍。我的做法是在生成FFmpeg命令之前把所有時(shí)間值四舍五入到小數(shù)點(diǎn)后三位。這樣既能保證精度又能避免浮點(diǎn)數(shù)誤差。另外盡量用整數(shù)毫秒來(lái)表示時(shí)間在最后轉(zhuǎn)換成秒的時(shí)候再除以1000。這樣計(jì)算過(guò)程全是整數(shù)運(yùn)算不會(huì)有精度問(wèn)題。5.3 素材標(biāo)簽體系的維護(hù)成本標(biāo)簽體系是蒙太奇自動(dòng)化的基礎(chǔ)但維護(hù)標(biāo)簽體系本身是一件很費(fèi)時(shí)的事情。你剛開(kāi)始可能只有幾十個(gè)素材手動(dòng)打標(biāo)簽還能接受。但當(dāng)素材增長(zhǎng)到幾百上千個(gè)的時(shí)候手動(dòng)打標(biāo)簽就變成了噩夢(mèng)。而且不同的人對(duì)同一個(gè)素材的理解可能不一樣標(biāo)簽的一致性很難保證。我的經(jīng)驗(yàn)是不要試圖一開(kāi)始就建立完美的標(biāo)簽體系。先用最粗的粒度比如只分“人物”、“風(fēng)景”、“產(chǎn)品”三大類。然后在實(shí)際使用中根據(jù)需求逐步細(xì)化。另外可以借助一些自動(dòng)化工具來(lái)輔助打標(biāo)簽比如用OpenCV做畫(huà)面分析提取主色調(diào)、亮度、運(yùn)動(dòng)幅度等特征然后根據(jù)這些特征自動(dòng)生成標(biāo)簽。雖然不如人工準(zhǔn)確但能省下大量時(shí)間。5.4 轉(zhuǎn)場(chǎng)效果的“過(guò)度使用”陷阱剛開(kāi)始做蒙太奇自動(dòng)化的時(shí)候我特別興奮恨不得每個(gè)片段之間都加一個(gè)花哨的轉(zhuǎn)場(chǎng)。結(jié)果生成出來(lái)的視頻看起來(lái)像PPT切換眼花繚亂完全沒(méi)有節(jié)奏感。后來(lái)我才明白轉(zhuǎn)場(chǎng)是為敘事服務(wù)的不是用來(lái)炫技的。大部分情況下硬切cut才是最好的轉(zhuǎn)場(chǎng)因?yàn)樗钭匀?、最不打斷觀眾的注意力。我現(xiàn)在做編排的時(shí)候轉(zhuǎn)場(chǎng)的策略是只在情緒轉(zhuǎn)折點(diǎn)或者場(chǎng)景切換的地方用轉(zhuǎn)場(chǎng)而且轉(zhuǎn)場(chǎng)的類型要統(tǒng)一。比如整個(gè)視頻只用“fade”一種轉(zhuǎn)場(chǎng)或者只用“dissolve”。這樣看起來(lái)更專業(yè)也更有整體感。5.5 性能優(yōu)化從“能跑”到“跑得快”當(dāng)你需要批量生成幾十上百個(gè)視頻的時(shí)候性能就成了一個(gè)必須考慮的問(wèn)題。我總結(jié)了幾條優(yōu)化經(jīng)驗(yàn)第一盡量用-c copy來(lái)避免重新編碼。如果你的片段已經(jīng)是統(tǒng)一的編碼格式拼接的時(shí)候直接復(fù)制流速度會(huì)快很多。但前提是轉(zhuǎn)場(chǎng)效果不能用因?yàn)檗D(zhuǎn)場(chǎng)需要重新編碼。第二用多進(jìn)程來(lái)并行處理。Python的multiprocessing庫(kù)可以讓你同時(shí)跑多個(gè)FFmpeg進(jìn)程。我一般會(huì)根據(jù)CPU核心數(shù)來(lái)決定并行數(shù)量比如8核的機(jī)器就跑6個(gè)并行任務(wù)留兩個(gè)核心給系統(tǒng)。第三把耗時(shí)的操作前置。比如素材分析、標(biāo)簽提取這些步驟可以提前跑好把結(jié)果緩存到JSON文件里。合成的時(shí)候直接讀緩存不用重新分析。第四如果視頻很長(zhǎng)考慮分段合成再拼接。比如先合成前5分鐘再合成后5分鐘最后把兩段拼起來(lái)。這樣如果中間某一段出錯(cuò)不用從頭再來(lái)。6. 蒙太奇自動(dòng)化的進(jìn)階玩法與邊界思考6.1 用節(jié)奏檢測(cè)來(lái)驅(qū)動(dòng)剪輯點(diǎn)基礎(chǔ)的蒙太奇自動(dòng)化是按固定時(shí)長(zhǎng)來(lái)切分鏡頭的但人剪片子的時(shí)候往往會(huì)跟著音樂(lè)的節(jié)奏來(lái)切。如果你能讓程序自動(dòng)檢測(cè)音樂(lè)的節(jié)拍然后把剪輯點(diǎn)對(duì)齊到節(jié)拍上生成的視頻會(huì)更有“律動(dòng)感”。實(shí)現(xiàn)這個(gè)的思路是用音頻分析庫(kù)比如librosa提取音樂(lè)的節(jié)拍時(shí)間點(diǎn)然后把這些時(shí)間點(diǎn)作為剪輯點(diǎn)的候選位置。在生成時(shí)間線的時(shí)候不是按固定時(shí)長(zhǎng)來(lái)切而是按節(jié)拍間隔來(lái)切。這樣每個(gè)鏡頭的切換都踩在鼓點(diǎn)上看起來(lái)就很帶感。我試過(guò)用librosa.beat.beat_track來(lái)檢測(cè)節(jié)拍效果還不錯(cuò)。但要注意不是所有音樂(lè)都有明顯的節(jié)拍對(duì)于古典樂(lè)或者環(huán)境音節(jié)拍檢測(cè)可能不準(zhǔn)。這種情況下還是老老實(shí)實(shí)用固定時(shí)長(zhǎng)比較穩(wěn)妥。6.2 基于畫(huà)面內(nèi)容的智能排序更高級(jí)的玩法是用計(jì)算機(jī)視覺(jué)來(lái)分析畫(huà)面內(nèi)容然后根據(jù)內(nèi)容來(lái)排序。比如你可以用OpenCV計(jì)算每個(gè)片段的“運(yùn)動(dòng)幅度”然后把運(yùn)動(dòng)幅度大的片段放在高潮部分運(yùn)動(dòng)幅度小的放在開(kāi)頭和結(jié)尾?;蛘吣憧梢杂妙伾治霭焉{(diào)相近的片段放在一起形成視覺(jué)上的連貫性。這些分析需要一些額外的計(jì)算但對(duì)于提升視頻質(zhì)量很有幫助。我做過(guò)一個(gè)實(shí)驗(yàn)用畫(huà)面亮度來(lái)排序把亮度逐漸增加的片段放在一起生成出來(lái)的視頻有一種“漸入佳境”的感覺(jué)。雖然觀眾不一定能明確感知到但整體觀感確實(shí)更舒服。6.3 蒙太奇自動(dòng)化的能力邊界說(shuō)了這么多也得潑點(diǎn)冷水。蒙太奇自動(dòng)化能做的事情是有限的。它擅長(zhǎng)的是批量處理、規(guī)則明確的編排任務(wù)比如生成產(chǎn)品展示視頻、批量混剪、圖片輪播。但它不擅長(zhǎng)的是需要“創(chuàng)意”和“情感”的剪輯比如電影預(yù)告片、紀(jì)錄片、藝術(shù)短片。這些場(chǎng)景需要人類剪輯師對(duì)敘事節(jié)奏、情緒曲線、視覺(jué)隱喻的深刻理解目前的自動(dòng)化工具還做不到。所以我的建議是把蒙太奇自動(dòng)化當(dāng)成一個(gè)效率工具而不是創(chuàng)作工具。用它來(lái)處理那些重復(fù)性的、規(guī)則明確的任務(wù)把省下來(lái)的時(shí)間用在真正需要?jiǎng)?chuàng)造力的地方。這樣才是正確的打開(kāi)方式。6.4 關(guān)于“Open”的一點(diǎn)個(gè)人理解最后聊聊“Open”這個(gè)詞。在技術(shù)圈“Open”通常意味著開(kāi)源、開(kāi)放標(biāo)準(zhǔn)、可擴(kuò)展。對(duì)于蒙太奇自動(dòng)化來(lái)說(shuō)“Open”的價(jià)值在于你可以根據(jù)自己的需求去定制規(guī)則、擴(kuò)展功能、集成其他工具。沒(méi)有哪個(gè)現(xiàn)成的工具能完美適配所有場(chǎng)景但一個(gè)開(kāi)放的框架可以讓你在它的基礎(chǔ)上搭建自己的解決方案。我自己的做法是把核心的編排邏輯寫(xiě)成獨(dú)立的Python模塊然后通過(guò)配置文件來(lái)驅(qū)動(dòng)。這樣我可以在不同的項(xiàng)目里復(fù)用同一套代碼只需要改配置就行。而且因?yàn)榇a是開(kāi)放的我可以隨時(shí)根據(jù)新需求去修改和擴(kuò)展。這種靈活性是閉源工具給不了的。如果你也在做類似的事情我的建議是不要一開(kāi)始就追求大而全的框架。先從一個(gè)最小的可用腳本開(kāi)始跑通“素材掃描-時(shí)間線生成-合成輸出”這個(gè)基本流程。然后根據(jù)實(shí)際需求逐步添加轉(zhuǎn)場(chǎng)、音頻、標(biāo)簽篩選等功能。每加一個(gè)功能都要確保它能解決一個(gè)具體的問(wèn)題而不是為了“看起來(lái)厲害”而加。這樣你的工具才會(huì)越用越順手而不是越用越復(fù)雜。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩五月婷婷| AA久久| 伊人9在线| 激情五月综亚网| 成人国产综合| 国产乱子轮XXX农村| 色五月婷婷综合| 婷婷天天婷婷天天澡| 色综啪啪| 色色色婷| 色五月丁香激情视频| 婷婷五月丁香激情| 欧美啪啪9| 欧美97色| 丁香狠狠干| 第一区久久网站| 热思思九九| 综合图区激情| 亚洲成人一区| 久久一级片| 伊人久久大香网| 激情美女五月天激情在线| 久久五月情| 亚洲成人无码网站| 综合在线丁香五月| 五月婷啪| 播丁香五月婷婷欧美| 99热99色| 五月激情丁香六月狠狠干| 久久精彩视频99| 天天拍夜夜爽| 91啪啪视频| 狠狠干狠狠干| 99只有这里有精品在线视频| 激情婷婷人妻| 亚洲一级色电影| 激情性爱五月天网页| 五月婷色色| 色五月天成人在线| 人人操日| 亚洲小视频免费观看| 欧美三级巜人妻互换| 日日日日操| 色婷婷操逼| 国内9l视频自拍老熟女九色| 色综合99无码 | 天天色综合网吨吧| 国产日韩欧美性生活| 久久九九99视频| 五月激情婷婷播播开心| 亚洲国产99| 女人露出p毛视频www网站| 成人国产欧美大片一区| 日本综合久久| 99ree6| 五月丁香网站| 激情五月天丁香| 99热99热| 丁香五月天无码| 五月丁香久久久久| 99久久97久久欧美综合网| 五六月婷婷久久| 天海翼中文字幕高| 熟女人妻视频| 午夜av网| 中文成人在线| 91vip在线观看| 另类激情五月| 久久久婷| www.minyis.com【JT】实力收量可预付TG@LXSPSW8| AV大片在线观看| 色婷久久| 五月丁香啪啪啪啪| 色情丁香五月婷婷精品| 五月天激情四射网站| 天天日本夜夜谢| 狠狠狠激情网| 成人五月天在线视频在线观看| 日日爱678| 国产一区18| 91丁香综合| 国产精品美女久久久久AV超清| 成人做爰A片免费看视频| 伊人激情影院| 色五月婷婷五月天| 欧美色99| 4438亚洲欧美| 五月婷啪啪| 日韩好吊操| 五月丁香六月婷婷在线小说视频| 五月天久久网站| 99在线看片| 天天xxxxxx天天日| 亚洲热视频在线| 爆乳熟妇一区二区三区爆乳| 97在线观看| 超碰在线观看caop| 久久这有这里精品| 婷婷成人视频| 五月天伊人| 激情五月婷| 99啪啪网| 色婷婷在线电影| 99久久五月天| 五月婷婷影院| 九九在线这里只有精品视频| 欧美激情综合| 大香蕉99热| wWw色五月| 亚洲色综合性| 丁香六月婷婷| www久久99| 91久久久久久久久18| 99这里精品| 九九热在线精品视频| 丁香五月性| 婷婷五月激情基地| -91九色大屁股| 5月婷婷激情6月| 久久怡红院| 少妇水多A片太爽了| 国产午夜精品一区二区| 99操逼| 婷婷五月天丁香花| 91pornav在线| 26uuu欧美日本| 婷婷成人AV| 不卡在线超碰| 久婷婷久草| 色色色地址| 99色人| 婷婷九月| 五月激激激情综合网| 久久婷婷视频| 激情啪啪五月天| 丁香五月日本| 99碰碰| 亚洲精品第一国产综合亚AV | 五月久久噜噜| 欧美色五月| 欧美A级成人婬片免费看理论| 久久ww| 婷婷五月天a| 天天做夜夜爽| 久久久久8888| 天干夜夜操| 99热播放| 丁香婷婷性久久| 五月欧美色色五月| 97色综合| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 久久ww| 婷婷色片| 久久婷婷网| 九九亚洲无码| 婷综合| 人妻激情在线| 五月色丁香| 五月婷婷性爱网| 国产99视频永久免费| 五月丁香综合在线| www.99热视频在线观看| 亚洲V国产V欧美V久久久久久| 五月天婷婷xxx| 五月婷婷中文| 99re在线精品视频| 亚洲黄色影视| 九月婷婷丁香| 激情熟女网| 狠狠操综合| 久久丁香九| 五月在线| 日本精品在线噜噜噜| 大香蕉综合网| 开心婷婷五月花| 三年高清大片免费观看国语| 综合激情网激情五月。| 丁香六月婷婷综合啪啪| 五月天婷婷色| 久久丁香久久| 日本一级特黄大片AAAAA级| 色婷婷88| 天天色五月| 中国无码av| 亚洲欧美另类在线23p| 99精品综合在线| 这里只有精品视频看看| 丁香久久九九99| 伍月婷丁香花全集| 91热爆在线| 日韩另类| 欧美人妻一区二区| 久思思久视频| 丁香伊人五月色婷婷五十路| 五月激情婷婷丁香| 五月丁了香蕉综合| 97婷婷丁香五月综合| 六月婷婷激情| 桃色激情婷婷伊人网| 五月天色综合| 丁香狠狠色婷婷久久无码视频| 九九热精品99| 久久九九色| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 狠狠操天天干| 欧美va欧美va差| 草草色情综合网| 色5月丁香婷婷| 热中文字幕| 玖玖婷婷色欲| 六月婷婷综合| 色婷婷丁香社综合| 97人人干人人操| 思思热久久久在线| 99超在线| √天堂资源在线人妻熟女| 六月激情网| 亚洲性爱区无码区| 激情伊人五月婷婷久久| 亚洲小视频免费播放| 人碰人人人玩91| 人人摸人人摸| 色玖玖综合网| 久久久久久人妻| 凹凸探花电影| 五月久久五月激情| 久久久99视频| 国产熟女大叫受不了| 色久影院| 伊人五月综合网| 婷婷丁香五| 91人久| 亚洲愉拍99热成人精品| 久久久免费精彩视频| 69婷婷丁香午夜| 超碰人人超碰| 婷婷丁香色情| 丁香婷婷色九月| 久久人人做人人妻人人玩精品va| 日日杆天天| 五月丁香六月婷婷色日| 婷婷五月综合亚洲| 深爱网深爱综合网| 欧美在线骚货| 99视频35精品视频在线观看| 超碰在线99热| 综合狠狠干| 婷婷综合干| 香蕉AV777XXX色综合一区| 97人人看| 亚洲欧美综合7777色婷婷| 久久九九一區| 午夜成人av在线| 性色婷婷| 伊人网大香| 天天日天天插| 日本婷婷在线| 五月婷婷啪啪| 色色99| 九九色热| 丁香五月色五月| 丁香五月另类小说| 色丁香五月婷婷| 亚洲va欧洲va国产va不卡| 天天开心AV色综合婷婷五月天| 丁香六月色婷婷欧美| 亚洲高清在线| 亚洲在线激情婷婷五月| 丁香五月丁香伊人| 91成人性爱视频| 99亚洲日韩| 成人九九视频| 99热在线观看免费精品| 色色色干| 激情黄色小说五月天| 琪琪理论片| 成人视频九九| 亚洲成人噜噜| 五月天婷婷伊人| 99热| 99在线免费视频| 高清无码入口| 九月婷婷在线视频| 91精产一区三区免费观看| 色伦专区97中文字幕| 亚洲激情AV| 99精品成人无码A片观看金桔| 欧美成人精品A片免费一区99| 天天做天天爽| 五月香蕉网| 九九热大香蕉| 日韩一级片| 狠狠精品干练久久久无码中文字幕| 97caop| 91午夜婷婷狠狠久久综合9色| 182.t午在线观看| 日本少妇AA一级特黄大片| 99熟女啪啪视频| 欧洲区自拍| 99热线观看9| 超碰大香蕉网| 精品无码99| 99综合| 五月丁香婷婷综合网| 婷婷五月花| WWW色五月| 天天日天天干天天操| 综合网啪| 91超碰在线观看| 久久草大香蕉| 婷婷五月天综合AV| 九九操综合网| 国产成人网址| 色99无码| 人妻在线中文字幕久久| 婷婷色色网| av中文字幕免费观看| 亚洲AV无码成人精品电影| 人妻操逼视频。| 婷婷五月天偷拍| 婷婷五月av| 79精品视频在线观看,| 日韩操| 婷婷六月色| 精品一二三区久久AAA片| 亚洲国产精品二二三三区| 欧美三9久九观看| 久色激情| 毛片色五月| 五月亭亭开心网| 97ai婷婷| 五月丁香婷婷成人综合网| 丁香五月成人网| WWW.久久久久久久久久久久久| 成人精品一区二区三区四区五区| 久久婷婷五月天激情四射| 欧美五月停| 超碰国产在线| 亚洲AV网址| 久久人人添人人爽添人人片αV| 五月婷啪| 99丁香五月婷| 久久婷婷五月天激情| 五月丁香六月激情网| 亲子乱AV一区二区三区下载| 国产免费av在线| 毛片新网地| 天天色天天日| 丁香五月成人自拍| 日日舔夜夜操| 久久五月天丁香花| 婷婷射丁香| 乱乱av| 丁香婷婷五月天网站| 五月天婷婷伊人| 精品自拍97| 婷婷五月天激情综合| 色爱亚洲| 天天搞夜夜六| 色偷偷AV亚洲男人的天堂| 欧美日本VA| 五月丁香啪综合| 丁香六月成人网| 婷婷伊人五月| www.久久色.com| 丁香婷在线| 久草丁香婷婷1024| 开心五月激情婷婷| 二级黄色毛片| 五月婷婷激情性爱| 99综合| 亚洲男女激情| 情婷婷五月天在线| 五月天色色无码| 色色日韩无码| 99re免费视频| 99精品热视频| 99婷婷| 美女五月天| 五月婷成人| 五月婷婷色| 国产夫妻操逼内射视频| 色色婷婷综合| 99色综合| 五月天天天综合| 成人做爰A片免费看视频| 91操色| AA片在线观看视频在线播放| 涩五月色婷婷| 色综合久久综合中文综合网| 婷婷色婷婷| 天天爱天天做天天爽| 六月丁花香啪啪激情欧美| 五月天婷婷中文字幕在线播放| 第四色色六月色综合| 五月天狠狠网| 男人的天堂999| 99超级碰免费视频| 五月丁香六月婷婷视频| 久99视频在线观看| 国内一级片| 国产婷婷五月在线视频| 久久久久这里都是精品| 91五月花丁香| 99re在线观看| 婷婷五月天男人影院色色网| 日本色天堂| 亚洲色五月| 六月丁香激情综合| 亚洲av网站| 婷婷五月天AV| 五月丁香基地| 7月婷婷六月丁香| 成人 在线观看国产| 99热首页| 爱的综合网| 免费人人操| 五月天婷婷成人网| 草综合14| 狠狠人妻久久久久久综合丁香| 色色丁香五月天社区| 久久99网站| site:ornaments52.com| 九九九这里只有精品| 九九九九精品精| 日韩精品999| 思思99re这里只有| 这里只有精品免费在线视频| 五月天大香蕉AV| 久久久久人妻网址| 人人干人人操外国| av第一二区| 狠狠操综合| 丁香桃色网| 国产亚洲精品人人| 婷婷99视频在线| 超碰9| 五月天激情小说婷婷基地| 久久9久| 五月婷婷久草| 欧美日本日韩| 久久天天| 影音先锋一区| 操逼六区| 婷婷五月丁香色综合| 黄页大全十八禁| 99色在线视频观看| 五月婷婷黄色| 99干日本| 97干视频在线| 午夜丁香综合婷婷| 91久久九色| 欧美日本韩国亚洲| 成人无码髙潮喷水A片| 色综合大香蕉| 久热黄色| 亚洲av日韩无码| 热思思| 思思久久96热在精品国产,| 色九九综合| …亚洲黄色在线播放日韩、av中文a…| 91色呦哟| 丁香五月婷婷av影院| 午夜不卡久久精品无码免费 | 久久视频婷婷视频| 色噜噜狠狠色综合日日| 色婷婷香蕉| 人人干99| 久热大香蕉| 久久婷丁香五月| 伊人九九热| 人人操操97| 西西4r午夜剧场| 91色呦哟| 97偷拍对白视频| 人人肏逼视频在线一区二区| 丁香花综合永久入口| 91色五月在线观看| 四色五月视频| 五月婷婷天堂| 亚洲精品网站色视频| 色5在线| 97色色色色色色色| 五月天a婷婷伊人| 五月天婷婷激情干干| 婷婷六月久久| 激情五月天小说| 国产偷人妻精品一区| 深爱激情五月网| 超碰国产AV| 爆乳熟妇一区二区三区爆乳| 深爱五月婷婷| 九月丁香婷婷基地| 五月天激情网址| 色五月五月婷婷| 97av在线视频| 五月婷婷激情色情网| 五月丁香黄色| 色综合中文| 99re这里| 色五月婷婷在线观看第一页舔| 91碰碰视频在线观看| 婷婷色五月天色| 中文精品在| 五月天激日本色情在线| 亚洲激情.com| 欧美日韩999| 婷婷色综合| www.99操.com| 丁香五月天在线观看视频| 青青草蜜臀| 五月天亚洲综合网| 欧洲色色| 丁香久月| 婷婷丁香视频| 亚洲av成人在线| 少妇高潮呻吟A片免费看软件| 就去色色五月丁香婷婷久久久| 色婷婷偷拍| 91热er| 人人爱人人草| 熟妇无码乱子成人精品| 天天肏天天肏天天肏| 激情无码五月天| 婷婷丁香五月综合激情视频| 夜夜干天天操| 91精品啪| 六月天六月婷| 五月丁香777| 99热传媒| 婷婷97狠狠干| 国产97色在线 | 日韩| 99色视频| AAA久久久| 无月播播激情在线观看视频| 婷婷大香蕉| 欧美精品A片一区在线观看| 日韩一66精品| 1024日韩| 99热99美国在线观看| 操日本人妻视频| 色色综合网站| 国产精品电影网| 久久久区区一久久久久久| www色色com| 九九中文字幕九| 最新精品视频99| 97在线综合| 97超喷视频在线观看| 丁香五月色色色色| 色五月大香蕉| 九九热啪啪| 五月综合缴情网| 天堂成人A片永久免费网站| 色五月色图| 色婷婷亚洲六月婷婷中文字幕| 少妇高潮呻吟A片免费看软件| 丁香花五月天激情| 成人精品人妻| 99久操| 狠狠五月激情丁香六月| 色九九中文字幕| 国产色婷婷亚洲| 久9热| 五月丁香婷草| 亚洲AV网站在线观看| ...婷婷五月综合不卡,国产在线手机 | 五月婷婷五月天| 人人性久久| 六月丁香综合| 9一精品视频观看| 99这里是精品| 九九九AAA热视频| 久99综合婷婷| 九九色大香蕉| 伊人久久大香网| 国产97色在线| 九九久久精品| 99热亚洲| 婷婷五月天熟妇| 一本大道伊人AV久久综合| 狠狠另类视频| AA片在线观看视频在线播放| 五月丁香欧美综合免费视频| 日本久久九| 天天插天天插天天插| 亚洲成人av中文| 五月天婷婷婷| 丁香色成人| 91热爆在线| 色婷婷狠狠18禁| 婷婷五月激情丁香| 99精品在| 奇米影视在线视频| www.五月婷婷.com| 狠狠草天天草| 成人国产网| 五月婷婷视频| 国产超碰在线| 成人午夜天| 色婷婷五月天综合网| 婷色综合| 精品久久99| 亚洲成人色五月天| 狠狠干.com| jiZZdr| 丁香六月啪| 婷婷五月在线视频| 69色色视频| 免费成人网在线观看| 日本综合色色| 久久这里只有精品视频26| 欧美精品狠狠色丁香婷婷| 播五月,色五月,开心五月播放器 | 人人摸人人澡人人| 18av天堂| 欧美日韩国产一二区| 五月丁香亭亭操逼| 狠狠色噜噜狠狠狠888了| 激情视频综合| 久久久国产精品黄毛片| 狠狠色97| 色色亚卅| 狠狠色色| 色婷综合| 丁香六月综合激情| 99无码精品| 这里只精品| 99热精品网| 亚洲精品视频在线| 亚洲无码yw| 手机AVAV天堂看网| 国产精品社区| Caoub青青超碰| 五月天综合视频| 丁香五月婷久久| 丁香 婷婷 激情 综合 五月| 欧美日韩中国| 高潮毛片又色又爽免费| 少妇高潮一区二区三区99欧美| 99热精国产这里只有精品| 九九99九九99偷拍视频免费看| 日韩国产在线精品| 人人草人人舔| 五月天开心色情网| 狠狠做深爱婷婷久久综合一区| 怕怕av| 婷婷五月天播播| 九九热这里只有精品556| 亚洲第一影院高清无码网站 | 久久一级AV| 99色热| 婷婷五月丁香六月| 久久这里有精品在线观看| 五月色在线| 国产亚洲网站在线| 大香伊人婷婷| 热99.com婷婷| 狠狠色丁香乆乆| 久久五月综合| 日日爽夜夜爽| 丁香六月欧美| 我爱大香蕉| av在线免费网站 | 大香蕉220| 五月天激情小说| 婷婷综合五月| 九九色逼| 久久五月丁香婷婷| 久久六月天| 亚洲成人中心| 五月丁香综合影院| 五月丁香综合中文| WWW免费视频碰碰碰碰| 泰州成人视频| 精品人妻一区二区| 五月丁香婷婷爱| 五月婷婷成人| 天天做天天爽| 五月天丁香成人| 九九无码| 91人人网| 97热这里只有精品| 亚洲色色色| 欧美性色A片免费免费观看的 | 欧洲综合视频| 婷婷五月天成人| 91精品综合久久久久久五月丁香| 五月丁香777| 色噜噜狠狠色综合日日| 九九热免费视频| 国产激情久久久| 成人视频网| 淫五月停停| av网站免费在线| 91亚洲免费片| www98日本小时间到了| 狠狠综合网| 婷婷丁香色五月亚洲| 久草久青福利| 中出内射的人妻视频| 激情婷婷色五月| 99性爱| 9 1超碰九色| 久久五月视频| 亚洲天堂亚洲色色色| 欧美另类五月激情| www色五月| 久久五月天婷婷| 亚洲精品V天堂中文字幕| 五月婷婷伊| 波多野结衣AV无码Porn| 色婷婷婷av| 日本AAAAAAAAAAAAAA片| 91综合色| 国产精品涩涩涩视频网站| 激情精品久久| 另类图片天天影视在线观看| 亚洲五月综合色播| 国产精品色婷婷久久久精品| 亚洲五月婷| 99热亚洲只有色| 香蕉操亚洲| 日日婷婷不卡| 六月丁香婷婷综合狠狠爱夜夜爱| 五月婷久久| 少妇人妻综合色6699| 99久热在线精品| 中文字幕乱码亚洲精品一区| 97热九九| 天天综合图片| 五月丁香好婷婷A片网| 99re6在线视频精品免费| 中文网婷婷字幕婷| 99热国内| 大香蕉啪啪| 狠狠一日| 人人草成人视频| 怡红院一二三| 五月综合激情网| 97碰成超视频免费视频| 五月丁香六月欧美综合| 婷婷综合亚洲| 日本色超碰| 丁香五月天色综合| 超碰97干| 婷婷久久欧美| www.五月激情.com| 久久综合干| 日本道久久91| xxx综合在线| 五月丁香婷婷色| 精品动漫 无码av| 99热在线免费观看精品| 99ri精品视频在线观看| 97超碰9久热婷婷热| 亚洲婷婷五月草久| 欧美婷婷五月丁香| 婷婷久久性爱| 97人人干。| 色色网站免费观看| 能看的AV| 久热精品视频在线观| www.99日本| 国产永久一黄| 欧美va欧美va差| 五月开心播播网| 99热这里只有精品国产免费| 五月丁香色色网| 玖玖99免费视频| 狠狠干五月天| 久草婷婷视频| 九九精品在线观看视频6| 91紱請| 人人干天天操五月丁香| 久久激情网| 久久丁香五月综合六月激情红杏视频| 99色热视频| 吊色AV男人的天堂| 五月丁香激情综合网| 丁香五月 无码| 丁香婷在线| 激情婷婷丁香| 久热这里只有精品视频6| 成人美女网| 色天天久婷婷| 性做爰A片免费视频A片直播| 99热首页在线30| 性一交一乱一交A片久| 六月婷婷之青青草| 色综合久久88色综合中文字幕| 99re在线观看| site:xiongshengzz.com| 五月天久久久| 婷婷激情小说网| 激情五月五月婷婷| tingtingjiqingwuyue| 六月婷婷综合| 丁香五月激情站| www五月婷婷88导航| 热99这里只有精品视频| 七七久久综合| 精品人妻伦一二三区久| 久久久精品AV| 婷婷五月影院| 亚州日本欧州韩美高青高潮一| 欧美五月停| 欧美丁香五月| 激情丁香六月| 激情AV| 婷婷色色网| 97在线视频 欧美| 亚洲视频操| 婷婷八月激情| 大香蕉综合视频在线| 综合五月网| 激情六月婷婷| 成人做爰A片免费看网站找不到了| 激情丁香网| 39视频第二区| 色一情一乱一乱一区91Av| 久热这里只有精品在线观看 | 五月婷婷激情日本| 丁香五月婷久久| 美女婷婷六月色| 成人AV片播放| 99玖玖免费视频| 五月天婷婷色紫薇阁| 国模九区| 欧美在线干| 婷婷五月天99| 99啪99| 最近中文字幕大全免费版在线 | 精品色色| 999影院成人在线影院| 色久影院| 亚洲妇女熟BBW| 五月天激情综合| 色噜噜伊人| 色欧美日| 国产精品涩涩涩视频网站| 五月天色丁香| 思思热思在线精品视频| 99久高清视频| 亚洲精品99| 色婷婷亚洲婷婷| 婷婷五月天日本国产| 操操日韩| 精品一二三区久久AAA片| 婷婷丁香五月天激情| 色五月婷婷天天干| 大香蕉九九操| 丁香激情五月天| h在线看免费版在线看| 五月天久久婷婷婷| 五月天成人综合| 天天日P天天射P| 色五月五月婷婷| 少妇达人正片在线播放_ikun_福利吧| 九九热10| 日韩超碰在线| 久久久久久婷| 激情五月综合网| 99综合自拍| 成人综合伍月天| 激情99热| 色婷五月| 婷婷五月天亚洲综合| 97操资源婷婷| 欧美69久成人做爰视频| 色婷婷亚洲精品天天综| 欧洲色色| 久久丁香五月婷| 天天爱天天做综合| 天天爽在线视频| 久久久久久久久久91| 伊人超碰在线| 五月婷婷综合在线亚洲视频| 色噜噜狠狠色综无码久久合欧美| 操逼六区| www婷婷| 99热这里只有精品在线播放| 五月天婷婷丁香花| 96人人操人人操人人| 伊人激情| 久久曰曰| 婷婷五月电影| 九色七七| 色玖玖导航| 久久超级碰视频| 久久日曰| 97操男人的天堂| 热99.com婷婷| AⅤ在线播放网| 人妻免费网站| 狠狠色婷婷综合开心影视| 日比网免费国产| 777精品久无码人妻蜜桃| 人妻少妇色综合| 激情综合五月婷婷| 丁香网站| 亚洲欧洲中文日韩久久AV乱码| 日韩啪啪视频| 五月婷婷大香蕉| 中文字幕日产A片在线看| 久久曰曰| 无码人妻少妇色欲AV一区二区| 97天堂| 欧美日韩精品人妻狠狠躁免费视频 | 狠狠干天天内射| 丁香五月激情宗合| 五月丁香色婷婷婷基地| 99热这里只有精品98| 天天色五月| 色婷婷九月综合| 婷婷激情五月色综合| 综合色播| 综合久久9| 色婷婷视频| 综合色久| 日本婷婷激情四射中文字幕在线观看| 久草免费福利视频| 五月丁香六月婷婷久久| 97操视频| www.国产亚洲69ty.久久久久久久久久久久| WWW.夜夜操.com| 色色色.com| 五月丁香婷婷综合视频| 九色七七| 五月天婷婷色色| 性按摩玩人妻HD中文字幕| 超碰熟女农村在线69| 97碰成超视频免费视频| 色情综合网| 亚洲尤物在线| 久久人妻精品| 可以免费观看的AV| 操B无码视频国语| 婷婷久久18| 色综天天综合| 99爱无码| 99九色视频在线观看| 天天日天天操心| 欧美激情 日韩无码 婷婷 五月天| 久久99久久99精品免观看粉嫩| 五月色丁香综合| 久久思思热视频| 综合AV在线| 九九视频在线观看视频6 | 五月婷婷亚洲综合在线| 91精品婷婷国产综合久久| 无码激情精品色婷婷久久久久| 天天爱天天做天天| 色播五月丁香| 大香蕉人人人| 五月天亚洲最大成人| 亚洲中文乱字字幕在线永久| 99视频在线| 黄页免费一级视频懂色| 丁香五月在线伊人| 欧洲色| 在线理论片| AV色婷婷| 天天综合网亚洲综合网| 婷婷综合久久| 超碰A V在线| 婷五月丁香俺| 天天操婷婷| 桃色成人网| 超碰93在线观看| 五月婷婷色吧!| 日本99久久| 九九综合五月欧美| 天天综合.com| 色色婷| 色婷婷在线影院| 久久九九99字幕| 小视频久久久aaa| 五月天AV大香蕉| 青青草婷婷综合五月| www,天天干| 伊人网啪啪| 综合激情深爱| 大学生高潮无套内谢视频| 五月丁香六月婷婷啪啪| 5月婷婷激情在线| 秋霞少妇AV网站| 99色在线观看免费| 9999三级片| 影院久久久| 操丝袜视频影院导航| 色五月婷婷在线| 99操逼| 婷婷丁香九月| 人人操 色| 亚洲99视频| 天天天摸夜夜夜玩| 色五月开心开心五月激情五月| 中文无码婷婷| 亚洲成人网站在线播放| 丁香六月婷婷激情| 99年操人人爽| 噜噜综合网| 99色色网| 五月天综合网| 在线观看免费狠狠色丁香香综合| 国产九月婷婷| 国产精品久久久60086| 狠狠精品干练久久久无码中文字幕 | aⅤ79成人片| 久久婷婷五月综合色奶水99啪| 69精品无码一区二区三区| 五月开心深深爱激情综合 | 99在线免费视频播放| 色婷婷五月天在线| 热99色| 亚洲五月天婷婷综合| 国产XXXX搡XXXXX搡麻豆| 婷婷五月天激情在线观看 | 天天狠狠六月婷丁香影院| 97色一二三| 亚洲视频伍月婷婷| 99热在线看| 开心婷婷中文字幕| 任你搞网站| 另类激情五月| 啊v视频在线观看| 99热在线只有精品| 中文字幕丰满乱孑伦无码专区| 五月丁香婷婷啪啪| 深爱激情小说五月婷婷| 久久性爱网| 亚艹艹| 日本一级大片| 久久与婷婷| 草草视频91| 六月丁香网| 欧洲亚洲激情五月天在线| 99热伊人综合| 五月天婷婷丁香导航| 日本久热| 久色网| 丁香五月天啪啪激情综和网 | 九九热只有精品| 色宗合,宗合网| 综合在线观看99| 五月激情在线| 玖玖视频福利| 激情操逼婷婷| 激情六月色| 女婷久久| 国产精品久久久久久久久久久久| 人人视频色| 啪啪黄页网| www.婷婷| 激情婷婷网| 99A级片| 丁香五月天啪啪| 69色色视频| 午夜九九九九九九九九九九九九九| 激情五月天婷婷五月天| 国产美女最新VA在线免费观看| 久久五月天免费网站| 五月天激情电影| 射久久丁香五月| 99啪啪网| 六月丁香五月婷婷| 美女丁香五婷婷| 丁香五月激情综合| 182tv992tv人之初午夜免费观看 | 九九无码| 丁香五月天在线| 国产激情综合五月久久| 婷婷丁香无码专区| 天堂A∨在线| 婷婷五月色亚洲| 五月丁香色色| 色色9 9| 97碰在线视频| 99热在线观看亚洲区| 91狠狠综合久久久| 91九色 熟| 五月天婷婷小说| 天天干夜夜想| 婷婷丁香五月视频| 激情五月婷| 9|人妻人人操| 99精在线| 99热这里只有精品在线| 色五月激情五月丁香五月婷婷啪啪综合| 久久婷婷综合色丁香| 伊人激情AV一区二区三区| 免费国产视频| 亚洲精品国产精品乱码不99| 色噜噜狠狠色综| 中文字幕亚洲-区久久99婷婷| WWW.桔色成人.COM| 五月婷婷黄色| a性生活久久无| 婷婷九九| 丁香五月天啪啪a日本| 深爱网深爱综合网| 五月天色色网站| 六月激情丁香一道本7777| 日本色色色色色色色色一色二色| 色五月综合网| 综合网啪| 五月婷婷在线综合| 六月丁香综合网| 九九热色视频| 久久色天堂| 五月丁香婷婷啪啪综合| 激情五月婷婷色综合| 欧美S码亚洲码精品M码| 色99在线| 91久久综合亚洲鲁鲁五月天| 婷婷五月天堂| 天天射综合网夜夜操| 日日干综合| 色欲人妻综合aaaaaaaa网| 变态另类9| 婷婷少妇激情| 婷婷五月中文字幕| 欧美男女婷婷| 九九综合九色欧美狠狠| 天天干人人奸97| 热91久| 欧美性猛交99久久久久99按摩| 婷婷五月av| 天天做天天爱天天高潮| 丁香色婷婷五月天| 九九综合九九| 中文字幕不卡+婷婷五月| 丁香 久久| 射区导航| 97色啪| 五月天久久综合| 五月天天综合| 成人五月天丁香婷| 丁香五月日韩| 99热9999| 淫视馆aV二区一区| 99色激| 婷婷五月综合激情| 九九精品视频免费在线| 天天色综和网| 激情五月天在线观看色婷婷| 大香蕉久久伊人婷婷五月丁香| 97人人草| 激情五月天婷婷久久久久久久久久久| 久久99热这里只有| 亚洲日韩人妻操逼| 呦呦v线| 就爱射中文字幕资源网| 99热在线精品观看| 色婷婷电影网| 国产97色在线| 热99这就是精品视频| 91五月天| 国产毛片操B| 超级碰碰视频无码| 色噜噜狠狠色综合网| 极品色丁香| 激情五月网站| 天天干天天叉| 欧美这里只有精品| 久久综合爱| 色一情一乱一乱一区91Av| 99免费超碰在线| 天天综合网色欲香| 日本操碰碰| 亚洲人人96@| 这里只有精品视频在线看| 亚洲色五月婷婷| 五月丁香激情啪啪| 欧美内射AAAAAAXXXXX| 五月婷婷久久爱| 色婷婷五月在线| 五月天伊人av| 色天天综合成人网| 99爱视频| 婷婷五月天小说| 999热在线观看视频| 天堂综合久| 可以免费看av网站| 操操操AV| 色丁香五月婷婷| 亚洲午夜在线视频| 爆乳熟妇一区二区三区四区| 综合色播| 久久综合五月天激情小说网站| 日本123区日韩欧美不卡在线看| 日韩成人av在线| 99精品久久久久久久婷婷久久| 婷婷久久精品| 国产亚洲精品久久久久久牛牛| 精品自拍97| 色欲婷婷五月天| 五月丁香婷中文字幕| 色婷婷六月天| 蜜臀AV在线观看| 婷婷中文字幕网| 日韩成人五月天| 婷婷五月天小说| 老师的粉嫩小又紧水又多A片视频| 伊人五月天97| 五月天婷婷丁香蜜桃91| 九热免费视频| 婷婷丁香红五月91C| 色婷婷操逼| 五月开心深深爱激情综合| 日韩成人精品中文字幕| 99精品丰满| wuyuedingxiang99| 国产精品国产| 五月婷婷综合激情| 五月天丁香成人| 五月天色软件| 国产精品久久99| 天天噜| 色图亚洲91| 色愛综合网| 天天干天天拍| 在线免费视频caop| 五月婷婷中字在线| 99爽视频| 激情丁香五月| 久久五月天黄色五月天色网址| 人人综合久| 手机在线视频观看9| 九九热在线视频,| 五月天色丁香| 亚洲色人妻| Www.激情| 激情操逼婷婷| 狠狠夜夜五月丁香| www.激情| 99碰视频| 99综合色| 欧美综合激情| 99热99思午夜精品| 狠狠色婷婷| 日韩在线观看亚洲| 九九婷婷五月天| 九九九九热99超碰| 99久久综合网| 亚州美女| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 色综合五月天| 草综合网| 国产亚洲在线观看| 中文字幕视频在线播放| 91色在线 | 日韩| 九九综合图片网| 五月婷婷激情久久| 色综合婷婷99| 天天操夜夜爽| 色色色com| 天天撸夜夜爽| 亚洲欧洲中文日韩久久AV乱码| 操操操av| 亚洲人妻av伦理| 欧美成人热| 嫩草AV久久伊人妇女超级A| 国产精品噜噜在线视频| 成人综合网站|