最近,OpenAI 團隊的 GPT-4o 模型,在多模態方面的能力有了大幅提升,這次我們就使用 GPT-4o 完成一個視頻理解的實戰。
1. 環境搭建
1.1 安裝 FFmpeg
做視頻處理,我們需要用到 FFmpeg 這款功能強大的開源多媒體處理工具。FFmpeg 用于處理音頻、視頻和其他多媒體文件,可以實現以下功能:
- 轉碼:將多媒體文件從一種格式轉換為另一種格式,例如將視頻從 MP4 轉換為 AVI。
- 剪輯:從多媒體文件中提取片段或合并多個片段。
- 處理:調整視頻的尺寸、比特率、幀率,或音頻的采樣率、聲道數等。
- 添加效果:為視頻添加濾鏡、字幕、水印等。
- 流媒體:將多媒體文件實時傳輸到網絡上。
首先我們來安裝 FFmpeg 工具。我使用的是 Mac 電腦,可以直接通過 brew 來安裝。如果同學們使用的是其它平臺,也可以參考官網的教程進行安裝,這里就不贅述了。
brew install ffmpeg
安裝完成后,可以通過下面的命令進行驗證:
ffmpeg -version
1.2 安裝依賴庫
除了 FFmpeg 之外,我們還需要安裝 opencv-python 和 moviepy,它們是 Python 領域非常主流的計算機視覺庫,具備強大的音視頻處理能力。
pip install --upgrade opencv-python moviepy
2. 視頻抽幀
因為 OpenAI 官方暫時還沒有直接開放視頻理解的 API,所以我們只能曲線救國,先對視頻進行抽幀,提取出一組幀的圖片,再批量發送給 GPT-4o 進行理解。
我利用大模型生成了一段 5秒的搞笑視頻:
對該視頻進行抽幀,按照每1秒提取一幀,總共可以提取出5幀的內容。具體代碼如下:
3. 視頻理解
抽幀完成后,我們就可以將這些圖片批量發送給 GPT-4o,讓其生成視頻內容介紹。
代碼如下:
import os
from typing import Listimport dotenv
from openai import OpenAI# 加載環境變量
dotenv.load_dotenv()# 創建OpenAI客戶端
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"),base_url=os.getenv("OPENAI_API_BASE"))def introduction(frames: List) -> str:"""生成視頻介紹:param frames: 視頻幀列表:return: 視頻內容介紹"""# 使用GPT-4o模型,生成視頻介紹response = client.chat.completions.create(model='gpt-4o',messages=[{"role": "system", "content": "你是一位資深的內容編輯。請以Markdown格式,生成視頻的介紹。"},{"role": "user", "content": ["下面是視頻的圖像幀",*map(lambda x: {"type": "image_url","image_url": {"url": f'data:image/jpg;base64,{x}', "detail": "low"}},frames)]},],temperature=0,)return response.choices[0].message.content
執行代碼,可以看到 GPT-4o 為我們生成了 Markdown 格式的內容:
# 視頻介紹在這段富有喜劇色彩的視頻中,鄉村田野的寧靜被一位嘗試騎行水坑的年輕人打破。陽光明媚的一天,他戴著大帽子,騎著復古自行車,試圖勇敢地穿越一條泥濘的小路。## 場景描繪- **騎自行車者的冒險**: 騎車者穿著淳樸的服裝,頭戴寬檐帽,給人一種漫游田園的印象。在他的自行車后座綁著一只體型小巧的家禽,為場景增添了趣味性。
- **挑戰與失誤**: 視頻的高潮部分呈現了騎車者試圖跨越路面上的淺水坑。盡管動作充滿信心,但他最終失去平衡,墜入水中,濺起大片水花,構成了幽默的結局。
- **觀眾的反應**: 在畫面的一側,可以看到一群穿著傳統服裝的人們,他們以各種姿態觀望騎自行車者的冒險,臉上似乎帶著驚訝和喜悅。 ## 視頻氛圍整個場景在綠色的草地和清澈的藍天背景中進行,表現出鄉村生活的悠然寧靜,同時以幽默的方式捕捉人們日常嘗試中的滑稽瞬間。這段視頻不僅讓觀眾感受到幽默,也讓人贊美大自然的美麗與樸實生活的簡單樂趣。
可以看出,GPT-4o 基本 Get 到了視頻內容的精髓。
小結
本篇文章中,我們全面了解了 GPT-4o 的強大功能及其在多模態 AI 應用開發中的巨大潛力,并通過實際操作體驗了如何利用 GPT-4o 進行視頻理解。
GPT-4o 作為全新的端到端多模態模型,能夠在極短的時間內處理多種模態輸入和輸出,使得人機交互更加自然和高效。尤其是在音頻分析和視頻理解方面,GPT-4o 的表現令人印象深刻。
大模型在多模態方面能力的持續提升,將為 AI 應用的開發帶來革命性的變化,一方面可以大幅提升用戶體驗;另一方面也可以加速促進 AI 應用在各行各業的廣泛應用,并不斷催生出更多創新的解決方案。