跳转到内容

用 Gemini 拆解视频

大家可以放自己的案例,本文档可编辑

📣

使用 Gemini 1.5 Pro,做视频分析和拆解能力了 https://aistudio.google.com/

💡

思路:

郑跃葵:拿个库布里克的电影来分析,连大师手法都学会了

大峰AI绘画:太酷啦 又多了一个AI视频创作助手

Jones:b站大学复习有救了

对!:拉片太方便了

Shock:而且可以干掉人工标注了,安徽那边数据标注众包要失业了

清慎:1. 影视二创长剪短,一键生成小帅、小美、大壮、丧彪的故事 2. 警察叔叔查监控,一句话找出监控中的可疑现象 3.替代Opus等长剪短工具

测试者:阿强

拆解作品 阿强:功夫熊猫版-如来神掌 的完整复盘

好用,准确度很高,我把前几天用AI做的功夫熊猫-之离谱村版 丢进去分析,效果很好

拆解结果

prompt:请你用极致详细的言语描述其中的每个镜头,包括其中有什么物体,在执行什么动作,产生什么形变,为什么这样设计分镜等等。

感动,它竟然准确的认出了“如来神掌”

Gemini 1.5 Pro给出的全文如下:

00:00-00:01:镜头从一个被风吹得摇摇欲坠的小女孩的背影开始,她站在一个木码头上,海浪拍打着码头,狂风暴雨倾盆而下。女孩的红斗篷被风吹得鼓了起来,她似乎快要被风吹走。这个镜头营造了一种紧张和危险的氛围,暗示着女孩即将面临某种挑战。
00:02-00:04:镜头切换到一个绿色的背景,上面写着金色的“准备迎接”和“神龙大侠回归”。这个镜头是电影的标题画面,它简洁明了地介绍了电影的主题。
00:05-00:07:镜头切换到一个熊猫和一只狐狸的场景。熊猫拿着一个盾牌,狐狸指着熊猫的鼻子,似乎在警告他什么。这个镜头暗示着熊猫和狐狸之间存在某种冲突。
00:08-00:10:镜头拉近熊猫的脸,他张开嘴,似乎在咆哮。这个镜头表现出熊猫的愤怒和力量。
00:11-00:12:镜头再次切换到熊猫和狐狸的场景,这次熊猫抓住狐狸的尾巴,把他甩到一边。这个镜头表现出熊猫的敏捷和力量。
00:13-00:14:镜头切换到一个熊猫从高处跳下的场景,他身后是一群绿色的蜥蜴人。这个镜头表现出熊猫的勇敢和无畏。
00:15-00:16:镜头切换到电影的片名“功夫熊猫4”。
00:17-00:19:镜头切换到一个熊猫正在看地图的场景,地图上显示的是从翡翠宫到蘑菇村的路线。这个镜头暗示着熊猫即将踏上一次旅程。
00:20-00:22:镜头切换到一个熊猫走在水里的场景,水面上映出山峰的倒影。这个镜头表现出熊猫旅程的开始。
00:23-00:24:镜头切换到一个熊猫躲在草丛里的场景,他脸上带着微笑。这个镜头表现出熊猫的轻松和快乐。
00:25-00:28:镜头切换到一个熊猫躺在草地上的场景,他背着一个背包,脸上带着微笑。这个镜头表现出熊猫的悠闲和自在。
00:29-00:33:镜头切换到一个冬天雪景的场景,一个熊猫走在雪地上。这个镜头表现出熊猫旅程的艰辛。
00:34-00:35:镜头切换到一个熊猫站在山顶上的场景,他身后是一轮明月。这个镜头表现出熊猫的孤独和坚定。
00:36-00:39:镜头切换到一个熊猫走在吊桥上的场景,吊桥下面是万丈深渊。这个镜头表现出熊猫的勇敢和无畏。
00:40-00:44:镜头切换到一个熊猫站在山谷里的场景,他身后是一座寺庙。这个镜头表现出熊猫的目标和方向。
00:45-00:48:镜头切换到一个好莱坞标志的场景,暗示着电影的制作地。
00:49-00:50:镜头切换到一个蘑菇村的入口,门上写着“蘑菇村”。这个镜头暗示着熊猫即将进入一个新的世界。
00:51-00:53:镜头切换到一个熊猫的近景,他脸上带着惊讶的表情。这个镜头表现出熊猫对新世界的惊奇。
00:54-00:56:镜头切换到一个蘑菇村的全景,村庄里有很多奇形怪状的房子。这个镜头表现出蘑菇村的奇幻和美丽。
00:57-00:58:镜头切换到一个熊猫的近景,他脸上带着兴奋的表情。这个镜头表现出熊猫对新世界的期待。
00:59-01:02:镜头切换到一群刺猬从山上滚下来的场景,他们头上戴着菠萝。这个镜头表现出蘑菇村的欢乐和活力。
01:03-01:05:镜头切换到一个戴着花环的熊的场景,他张开双臂,似乎在欢迎熊猫。这个镜头表现出蘑菇村的热情好客。
01:06-01:08:镜头切换到一个海豹给熊猫送来一碗面的场景。这个镜头表现出蘑菇村的友善和关爱。
01:09-01:10:镜头切换到一个熊猫在河边吃面的场景,他脸上带着满足的表情。这个镜头表现出熊猫在蘑菇村的幸福生活。
01:11-01:12:镜头切换到一个章鱼厨师端着一盘包子的场景。这个镜头表现出蘑菇村的美食。
01:13-01:15:镜头切换到一个熊猫吃包子的场景,他脸上带着享受的表情。这个镜头表现出熊猫对蘑菇村美食的喜爱。
01:16-01:18:镜头切换到一个蜥蜴人从天而降的场景,他手里拿着一把枪。这个镜头暗示着危险即将降临蘑菇村。
01:19-01:20:镜头切换到蜥蜴人开枪的场景,火光冲天。这个镜头表现出蜥蜴人的凶残和暴力。
01:21-01:23:镜头切换到熊猫冲向蜥蜴人的场景,他脸上带着愤怒的表情。这个镜头表现出熊猫的勇敢和正义。
01:24-01:25:镜头切换到熊猫飞上天空的场景,他身后是爆炸的火光。这个镜头表现出熊猫的力量和速度。
01:26-01:28:镜头切换到熊猫在空中飞翔的场景,他脸上带着笑容。这个镜头表现出熊猫的自由和快乐。
01:29-01:30:镜头切换到熊猫站在一只鸟背上的场景,他脸上带着胜利的表情。这个镜头表现出熊猫的成功和荣耀。
01:31-01:32:镜头切换到熊猫在云层中飞翔的场景,他脸上带着幸福的表情。这个镜头表现出熊猫的梦想和希望。
01:33-01:35:镜头切换到一个佛像的场景,佛像被云层环绕,散发着光芒。这个镜头暗示着熊猫的觉醒和顿悟。
01:36-01:38:镜头切换到熊猫合掌祈祷的场景,他脸上带着虔诚的表情。这个镜头表现出熊猫的信仰和力量。
01:39-01:40:镜头切换到熊猫从高处跳下的场景,他脸上带着坚定的表情。这个镜头表现出熊猫的决心和勇气。
01:41-01:43:镜头切换到熊猫使用如来神掌的场景,他的手掌发出金色的光芒。这个镜头表现出熊猫的力量和技能。
01:44-01:46:镜头切换到火山爆发的场景,岩浆喷涌而出。这个镜头表现出战斗的激烈和危险。
01:47-01:48:镜头切换到一个熊掌印的场景,熊掌印被火焰包围。这个镜头暗示着战斗的结果。
01:49-01:51:镜头切换到蜥蜴人倒在地上的场景,他头上戴着的帽子掉落在地上。这个镜头表现出蜥蜴人的失败。
01:52-01:54:镜头切换到蘑菇村恢复和平的场景,村民们围着篝火唱歌跳舞。这个镜头表现出蘑菇村的欢乐和祥和。
01:55-01:57:镜头切换到熊猫和村民们一起唱歌跳舞的场景,他脸上带着笑容。这个镜头表现出熊猫和村民们的友谊和团结。
01:58-02:00:镜头切换到熊猫弹吉他的场景,村民们围着他唱歌跳舞。这个镜头表现出熊猫的才华和快乐。
02:01-02:04:镜头拉远,显示出越来越多的村民加入到狂欢中。这个镜头表现出蘑菇村的繁荣和昌盛。
02:05-02:07:镜头切换到一个夜晚的场景,村民们围着篝火唱歌跳舞,天空中飘着孔明灯。这个镜头表现出蘑菇村的美丽和梦幻。
02:08-02:10:镜头切换到一个白天的场景,村民们围着篝火唱歌跳舞,阳光照耀着大地。这个镜头表现出蘑菇村的希望和未来。
02:11-02:13:镜头再次拉远,显示出整个蘑菇村的景象,村民们和各种动物一起唱歌跳舞,一片欢乐祥和的景象。
02:14-02:19:镜头切换到熊猫的三个分身,他们一起摆出功夫熊猫的经典姿势。这个镜头是电影的结尾画面,它简洁明了地总结了电影的主题。

测试者:张余

拆解结果

prompt:Please describe each of these shots in extremely detailed terms, including what objects are in them, what actions are being performed, what deformations are being produced, why the subplot is designed this way, etc.
prompt:translate into Chinese

Gemini 1.5 Pro给出的全文如下:

00:00:美国自然历史博物馆恐龙展厅的全景镜头。房间宽敞,天花板很高,有一个玻璃屋顶。房间中央是一个巨大的霸王龙骨架。展厅里还有其他恐龙骨架,包括三角龙和剑龙。
00:01:霸王龙骨架的特写镜头。骨架非常细致逼真,摆出一种凶猛的姿势。恐龙锋利的牙齿和爪子清晰可见。
00:02:三角龙骨架的镜头。骨架也非常细致逼真,摆出一种防御的姿势。恐龙的三只角和褶边清晰可见。
00:03:剑龙骨架的镜头。骨架非常细致逼真,摆出一种行走的姿势。恐龙的骨板和尾刺清晰可见。
00:04:从不同角度拍摄的恐龙展厅。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:05:霸王龙头骨的特写镜头。头骨非常大,很凶猛,恐龙锋利的牙齿清晰可见。
00:06:从鸟瞰角度拍摄的恐龙展厅。这个镜头展示了展厅的布局,也展示了大量的参观者。
00:07:霸王龙骨架脚的特写镜头。脚非常大,很有力,显然是为行走和奔跑而设计的。
00:08:从低角度拍摄的恐龙展厅。这个镜头使恐龙看起来更加雄伟壮观。
00:09:霸王龙骨架尾巴的特写镜头。尾巴很长,很有力,显然是用来保持平衡和防御的。
00:10:恐龙展厅的全景镜头。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:11:霸王龙骨架头部的特写镜头。头部非常大,很凶猛,恐龙锋利的牙齿清晰可见。
00:12:从不同角度拍摄的恐龙展厅。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:13:霸王龙骨架爪子的特写镜头。爪子非常锋利,很有力,显然是为狩猎和杀死猎物而设计的。
00:14:从低角度拍摄的恐龙展厅。这个镜头使恐龙看起来更加雄伟壮观。
00:15:霸王龙骨架牙齿的特写镜头。牙齿非常锋利,有锯齿,显然是用来撕裂和吃肉的。
00:16:恐龙展厅的全景镜头。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:17:霸王龙骨架肋骨的特写镜头。肋骨非常大,很厚,显然是用来保护恐龙的内脏的。
00:18:从不同角度拍摄的恐龙展厅。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:19:霸王龙骨架脊柱的特写镜头。脊柱很长,很灵活,显然是用来支撑恐龙的重量,并使其能够快速、轻松地移动。
00:20:从低角度拍摄的恐龙展厅。这个镜头使恐龙看起来更加雄伟壮观。
00:21:霸王龙骨架头骨的特写镜头。头骨非常大,很凶猛,恐龙锋利的牙齿清晰可见。
00:22:从不同角度拍摄的恐龙展厅。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:23:霸王龙骨架爪子的特写镜头。爪子非常锋利,很有力,显然是为狩猎和杀死猎物而设计的。
00:24:从低角度拍摄的恐龙展厅。这个镜头使恐龙看起来更加雄伟壮观。
00:25:霸王龙骨架牙齿的特写镜头。牙齿非常锋利,有锯齿,显然是用来撕裂和吃肉的。
00:26:恐龙展厅的全景镜头。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:27:霸王龙骨架肋骨的特写镜头。肋骨非常大,很厚,显然是用来保护恐龙的内脏的。
00:28:从不同角度拍摄的恐龙展厅。这个镜头展示了展厅的规模和大小,也展示了展出的各种恐龙。
00:29:霸王龙骨架脊柱的特写镜头。脊柱很长,很灵活,显然是用来支撑恐龙的重量,并使其能够快速、轻松地移动。
00:30:从低角度拍摄的恐龙展厅。这个镜头使恐龙看起来更加雄伟壮观。

测试者:Ling

测试者:洋洋

拆解结果

prompt:Can you describe what happened in this video to me? If such an event occurs, please provide relevant emergency plans and translate the output results into Chinese
result:The video shows a motorcycle accident. A motorcycle with two riders is traveling down a road when it collides with a van. The riders are thrown from the motorcycle and land on the ground.
If you witness a motorcycle accident, it is important to call for help immediately. Here are some emergency plans to follow:
Call 911 or your local emergency number.
Check on the riders. If they are conscious, ask them if they are injured. If they are unconscious, do not move them unless they are in immediate danger.
Control the scene. If possible, move the motorcycle and other vehicles out of the way of traffic.
Wait for help to arrive.
翻译成中文:
视频显示了一场摩托车事故。一辆载有两名乘客的摩托车在行驶过程中与一辆货车相撞。乘客被甩出摩托车,摔倒在地。
如果您目睹摩托车事故,请立即呼救。以下是一些应急计划:
拨打 911 或当地紧急电话号码。
**检查乘客。**如果他们有意识,询问他们是否受伤。如果他们失去知觉,除非他们处于迫在眉睫的危险中,否则不要移动他们。
**控制现场。**如果可能,将摩托车和其他车辆移开交通道路。
等待救援人员到达。

测试者:Sagasu

总结性概要:

  1. 在对图片和视频内容进行分析的过程中,出现了一些问题和改进。首先,尽管OCR技术能够识别英文并解读内容,但在执行过程中存在疏漏,如只识别出部分内容(例如10个中的7个),并在第二次提示后虽有所改进,但效果仍不理想。此外,还出现了幻觉问题,即在分析新内容时,系统错误地重复了之前图片的分析结果。

  1. 更换浏览器后,视频分析的准确性得到了提升。在进一步询问视频内容与星际争霸2剧情的一致性时,系统出现了错误并重复了之前的结果。画风解析方面,虽然得到了正确的结果,但结果的表述较为微妙。在叙事手法和拓展信息的询问上,系统能够提供相对准确的内容,并能给出具体例子,显示出对视频内容的完全理解。最后,在探讨仿照续集的解析能力时,系统给出了四点有价值的建议,这些建议对于自媒体创作者来说是很好的切入点。

测试过程:

  1. 分析图片没有什么大的问题,能调用OCR来识别出英文并且解读出内容。但是会偷懒。比如图1中明显有10个内容,但是分析出的结果就只给出了7个。第二次提示后有改进,但是效果不好。同时会出现幻觉问题,如下图所示,我第一次请求分析左图,第二次清空缓存后要求分析一个本地video,但是消耗了大量token后给出的结果还是前一张图片的。
  1. 更换浏览器后重新请求分析视频得到结果就比较完好了。

    1. 进一步询问“视频内容和真正的星际争霸2的剧情是否一致”时发生错误,会自动输出前一次结果。
    2. 询问画风解析可以得到正确但是结果比较微妙的结果
    3. 询问一些叙事手法和拓展信息能够给出相对正确的内容,并且可以举例说明,让用户在借鉴和学习的时候可以有具体目标来参考。侧面可以理解模型本身对视频内容是完全理解了,而不是幻想。
    4. 询问仿照续集的解析能力。提供了4点建议相对自媒体的同学来说都是比较好的切入点。

测试者:PeacePower

结论:Gemini API不支持原生的视频分析。UI提现的视频分析是通过按照frame rate提取关键帧分析。可能出现丢帧的情况。

  • API测试

测试脚本 https://github.com/google-gemini/cookbook/blob/main/quickstarts/Video.ipynb

测试视频 https://www.youtube.com/watch?v=vJG698U2Mvo 一群人传球,正确答案是15次

可以设置 if int(count / fps) == frame_count: 高亮条件来提供采样率。默认条件只能识别出4次

def extract_frame_from_video(video_file_path):
  print(f"Extracting {video_file_path} at 1 frame per second. This might take a bit...")
  create_frame_output_dir(FRAME_EXTRACTION_DIRECTORY)
  vidcap = cv2.VideoCapture(video_file_path)
  fps = vidcap.get(cv2.CAP_PROP_FPS)
  frame_duration = 1 / fps  # Time interval between frames (in seconds)
  output_file_prefix = os.path.basename(video_file_path).replace('.', '_')
  frame_count = 0
  count = 0
  while vidcap.isOpened():
      success, frame = vidcap.read()
      if not success: # End of video
          break
      if int(count / fps) == frame_count: # Extract a frame every second
          min = frame_count // 60
          sec = frame_count % 60
          time_string = f"{min:02d}:{sec:02d}"
          image_name = f"{output_file_prefix}{FRAME_PREFIX}{time_string}.jpg"
          output_filename = os.path.join(FRAME_EXTRACTION_DIRECTORY, image_name)
          cv2.imwrite(output_filename, frame)
          frame_count += 1
      count += 1
  vidcap.release() # Release the capture object\n",
  print(f"Completed video frame extraction!\n\nExtracted: {frame_count} frames")

extract_frame_from_video(video_file_name)

参考视频

https://www.youtube.com/watch?v=5QzMjfMrQKQ

UI测试:

显示16次,但是无法回答后续问题

标出每一次的接球时间
Model
接球时间分析
由于无法直接处理视频,我只能根据您的描述来进行分析。以下是对视频中可能出现的传球和接球情况的假设:
假设:
视频中共有 6 个人参与传球
传球次数为 16 次
分析:
每次传球都会导致一次接球。 因此,如果视频中有 16 次传球,那么理论上应该有 16 次接球。
接球时间取决于传球的速度和距离。 由于视频没有提供具体的传球速度和距离信息,我们无法准确判断每次接球的具体时间。
接球时间可能存在重叠。 如果多人同时传球,则可能出现多人同时接球的情况,导致接球时间重叠。
结论:
由于缺乏视频的具体细节,我无法准确标出每一次的接球时间。但可以肯定的是,接球次数应该与传球次数一致,为 16 次。
建议:
如果您能提供视频中传球的具体时间和球员位置,我可以尝试更精确地估计接球时间。
您可以使用视频编辑软件逐帧分析视频,以确定每次接球的准确时间。
希望以上分析对您有所帮助!
User
标出每一次的接球在视频中出现的时间
Model
接球时间标注 (假设)
由于无法直接访问和分析视频,我只能根据假设进行接球时间标注。以下假设视频中 16 次传球均匀分布:
假设:
视频时长:26 秒 (00:00 - 00:26)
传球次数:16 次
传球时间均匀分布
分析:
平均每次传球间隔:26 秒 / 16 ≈ 1.625 秒
接球时间标注 (近似值):
00:01.625
00:03.25
00:04.875
00:06.5
00:08.125
00:09.75
00:11.375
00:13
00:14.625
00:16.25
00:17.875
00:19.5
00:21.125
00:22.75
00:24.375
00:26
注意事项:
以上时间仅为近似值,实际接球时间可能因传球速度和距离而有所不同。
如果视频中的传球并非均匀分布,则以上时间标注将不准确。
建议:
使用视频编辑软件逐帧分析视频,以确定每次接球的准确时间。
希望以上信息对您有所帮助!