Prompt 语宙Prompt 语宙
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
Search
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2024 Prompt 语宙. HalfPX. All Rights Reserved.
阅读: 利用 GPT 的视觉能力和 TTS API 来处理视频并添加旁白 [译]
Share
登陆
通知 阅读更多
Font Resizer字体
Font Resizer字体
Prompt 语宙Prompt 语宙
Search
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
已有帐户? 登陆
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Prompt 语宙 > 强化 AI 学习 > 利用 GPT 的视觉能力和 TTS API 来处理视频并添加旁白 [译]
强化 AI 学习

利用 GPT 的视觉能力和 TTS API 来处理视频并添加旁白 [译]

宝玉的分享
最近更新: 2024年1月12日 下午12:15
SHARE

这个笔记本演示了如何利用 GPT 的视觉能力来处理视频内容。GPT-4 无法直接接收视频作为输入,但我们可以通过视觉识别功能以及全新的 128K 上下文窗口,一次性描述视频中的所有静态画面。我们将通过两个实例来演示如何操作:

阅读目录
1. 利用 GPT 的视觉能力描述视频2. 用 GPT-4 和 TTS API 制作视频旁白
  1. 利用 GPT-4 来描述一个视频的内容
  2. 结合 GPT-4 和 TTS API 为视频创造旁白
from IPython.display import display, Image, Audio
import cv2 # We're using OpenCV to read video
import base64
import time
import openai
import os
import requests

1. 利用 GPT 的视觉能力描述视频

我们首先利用 OpenCV 技术从一个展示野牛和狼的自然 视频 中提取画面:

video = cv2.VideoCapture("data/bison.mp4")
base64Frames =[]
while video.isOpened():
success, frame = video.read()
ifnot success:
break
_,buffer= cv2.imencode(".jpg", frame)
base64Frames.append(base64.b64encode(buffer).decode("utf-8"))
video.release()
print(len(base64Frames),"frames read.")
618 frames read.

确保我们正确捕获了画面,我们将它们展示出来:

display_handle = display(None, display_id=True)
for img in base64Frames:
display_handle.update(Image(data=base64.b64decode(img.encode("utf-8"))))
time.sleep(0.025)

获得视频画面后,我们构建了一个提示并发送请求给 GPT(注意,我们不需要发送每一帧画面给 GPT,它能理解整个视频的情况):

PROMPT_MESSAGES =[
{
"role":"user",
"content":[
"These are frames from a video that I want to upload. Generate a compelling description that I can upload along with the video.",
*map(lambda x:{"image": x,"resize":768}, base64Frames[0::10]),
],
},
]
params ={
"model":"gpt-4-vision-preview",
"messages": PROMPT_MESSAGES,
"api_key": os.environ["OPENAI_API_KEY"],
"headers":{"Openai-Version":"2020-11-07"},
"max_tokens":200,
}
result = openai.ChatCompletion.create(**params)
print(result.choices[0].message.content)

标题:生存本能:野牛与狼在冰原上的史诗般对峙

描述: 在被雪覆盖的平原上,一场原始且扣人心弦的生存戏剧正在上演,这里,强壮的野牛与一群决心捕食的狼群展开对决。视频在冬日的银装素裹中捕捉到了这场惊心动魄的捕食者与猎物之间的互动。在生死存亡的边缘,每一个移动都是大自然舞台上的生与死的较量。观众将看到这些庄严的生物进行永恒的斗争,它们展示出野生世界中的力量、坚韧和不屈的精神。和我们一起,进入自然恢复力的心脏地带,见证动物王国中生命循环的最真实写照。#Wildlife #Nature #Survival #BisonVsWolves

2. 用 GPT-4 和 TTS API 制作视频旁白

我们将尝试用大卫·艾登堡的风格,为一段视频制作旁白。就用视频中同样的画面,引导 GPT 来帮我们撰写一段简短的文本:

PROMPT_MESSAGES =[
{
"role":"user",
"content":[
"These are frames of a video. Create a short voiceover script in the style of David Attenborough. Only include the narration.",
*map(lambda x:{"image": x,"resize":768}, base64Frames[0::10]),
],
},
]
params ={
"model":"gpt-4-vision-preview",
"messages": PROMPT_MESSAGES,
"api_key": os.environ["OPENAI_API_KEY"],
"headers":{"Openai-Version":"2020-11-07"},
"max_tokens":500,
}
result = openai.ChatCompletion.create(**params)
print(result.choices[0].message.content)

在无边无际的冬日白雪中,自然界的生生不息上演着永恒而赤裸的生存戏码。在这片考验生物存亡的严苛舞台上,一群灰狼已经将目光锁定在了牛群中的一头野牛——一场关乎生命和食物的搏斗即将拉开序幕。

这场狼群的围猎行动策划严密,每一只狼都了然于心它的任务。在严寒的空气中,它们的肌肉绷紧,呼吸可见,悄无声息地靠近猎物,伺机找到破绽。而野牛,这个庞然大物,依靠千百万年锻造的本能站稳脚跟,其巨大的身影在刺眼的白雪中投下了一道孤影。

这是一场生与死的交响乐,每一个动作,每一次虚晃,都关乎着生命的重量。狼群交替发起攻势,一边保持体力,一边逐渐削弱猎物。曾经是野牛坚实后盾的牛群,如今已经逃之夭夭,远远散开,这生动地告诉我们,在这野性的领地里,生存的法则永远高于血缘的羁绊。

随着一阵紧张的活动——狼群开始收网。尽管野牛力大无穷,但它已经力不从心,喘息急促,行动迟缓。狼群嗅到了胜利的气息。它们不懈地追击,这正是自然法则残酷而又壮丽的见证。

当这场斗争走向它不可避免的结局时,我们再次认识到这片野生天地的精妙平衡。生与死,斗争与生存——这循环永续,每个故事都在雪地上一笔一划地被书写,只要狼还在这片冰原上巡行,野牛还在这片土地上漫步。

现在我们可以把这段文本交给 TTS API,让它帮我们把这段旁白变成 mp3 音频。

response = requests.post(
"https://api.openai.com/v1/audio/speech",
headers={
"Authorization":f"Bearer {os.environ['OPENAI_API_KEY']}",
},
json={
"model":"tts-1",
"input": result.choices[0].message.content,
"voice":"onyx",
},
)
audio =b""
for chunk in response.iter_content(chunk_size=1024*1024):
audio += chunk
Audio(audio)
为什么随着年龄增长,我们感觉时间似乎流逝得更快 [译]
谷歌如何简化代码审查流程,实现 97% 开发者满意度 [译]
Chess-GPT 的内部世界模型 [译]
Netflix 的技术架构解析 [译]
OpenAI 联合创始人 Andrej Karpathy 在 2024 年加州大学伯克利分校人工智能黑客马拉松颁奖典礼上的主题演讲 [译]
分享
Email 复制链接 打印
Share
上一篇 通过知识蒸馏实现的隐式思维链推理 [译]
下一篇 提升 RAG 效能:如何挑选最佳的嵌入与重排模型 [译]
发表评价

发表评价 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Please select a rating!

Ad image
- 入群领取知识星球折扣卷, 仅剩99份 -
Ad imageAd image

最近更新

Deep Research 与知识价值:从信息搜索到价值重新定义
强化 AI 学习
什么是多模态大语言模型(MLLM)?[译]
强化 AI 学习
比尔·盖茨:特朗普、马斯克,以及我的神经多样性如何塑造了我 [译]
强化 AI 学习
阿兰·图灵的神秘“Delilah”项目:被遗失的故事 [译]
强化 AI 学习

相关推荐

ReST 与 ReAct 的交汇:多步推理大语言模型 (LLM) 智能体的自我进化之路 [译]

宝玉的分享
强化 AI 学习

请求“不”,而非请求“是”

宝玉的分享
一位女士站在充满鲨鱼的超现实街道上,象征着团队合作的重要性
强化 AI 学习

五种与你不喜欢的人高效合作的方法 [译]

宝玉的分享

MidJourney、DeepL、ElevenLabs 与 HeyGen 的共同之处(除了拥有其独特的团队结构和爆炸性增长!) [译]

宝玉的分享
/ Prompt 语宙 /

Experience the limitless creative possibilities of generative AI and unlock new levels of innovation.

Quick Link

  • Remaker AI
  • BGRemaker 抠图Hot
  • AIGC 工具
  • Prompt 咒语生成器
  • 去水印工具

Support

  • Contact
  • Blog
  • Complaint
  • Advertise

标签

3D AI AIGC AI人像 AI创作小助手 AI工具 AI换脸 AI海报设计 AI生成视频 AI绘画 AI视频 AI设计 app图标 chatgpt DALL-E3 excel GPT meta Midjourney openai Pika prompt runway SDXL stable diffusion UI设计 专业 丛林 乐高 人像 人物 光晕 动物 吉卜力 咒语 图标设计 圣诞 壁纸 女性 奶牛 实验室 宠物 客厅 室内设计 家居 局部重绘 展台 山景 帅哥 建筑 建筑设计 影谱科技 微摄影 怪物 提示词 摄影 教程 新闻 日本排放核污水 早报 星光 枯木 植物 模特 水果 泳池 海报 海报设计 清华大学 温馨的家 游戏 游戏美术 炫光 炫彩 玻璃 白茶花 矢量插画 研究报告 破碎 科幻 穿搭 窗 美食 背景 节日 芭比 花 花卉 茶园一角 草原 荷兰奶源 表情包 赛博朋克 超现实主义 软件 运动 金毛 风景 食物 香水
Prompt 语宙Prompt 语宙
Follow US
© 2009-2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

忘记密码