跳到主要内容
Video2Any
免费,本机处理
文件不会离开这个标签页

找出每一次场景切换

调整一个阈值,检查每个切点,并导出整洁的镜头列表。

一段真实录像跑出来的结果

Daily Deploys with 6500+ Automated Tests powered by Open Source · Antoine Craske · FOSDEM 2021 · Testing and Automation devroom

  1. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 1 张,取自 0:00

    #1 · 0:00

  2. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 8 张,取自 3:53

    #8 · 3:53

  3. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 14 张,取自 6:29

    #14 · 6:29

  4. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 21 张,取自 11:23

    #21 · 11:23

  5. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 28 张,取自 17:12

    #28 · 17:12

  6. 《Daily Deploys with 6500+ Automated Tests powered by Open Source》的第 35 张,取自 23:03

    #35 · 23:03

33:56 的录像 → 留下 48 张

录像来自 FOSDEM,依据 CC BY 2.0 BE. 打开原始录像 · 权利异议? 申请下架

它给你的是切点在哪,一份能直接拿去用的列表。工具走一遍视频,标出每一个画面变化大到算作新场景的位置,把每一处都摆出来让你判断,然后把时间导成 CSV。这是本站其余功能的「分析」那一半——不出图,只出数字,而这正是剪辑软件、脚本或者表格真正需要的东西。

出的是数字,不是图片

大多数找场景切换的工具,给你的是一个装满图片的文件夹。这一个给你的是时间——因为时间才是你自己不容易弄出来的东西,而图片往往是你并不需要的东西。

一份切点清单是喂给下一步的:切分文件、跳到某个瞬间、生成章节标记、检查一条片子的节奏对不对。拿到数字之后,这些都只差一条命令。

CSV 里有什么

三列:场景编号、以秒计到小数点后三位的开始时间、以及同一时刻的时钟格式。每个检测到的切点一行,按顺序排好。

两种时间格式并存,是因为读它们的是不同的对象。脚本或 ffmpeg 命令要的是 12.480;人扫文件时要看的是 00:00:12。两者换算既简单又烦人,所以文件替你换一次。

灵敏度滑块就是整个界面

范围 1 到 10,默认 6。它挪动的是「真正的场景切换」和「画面里只是有东西在动」之间那条线。调高,一次缓慢扫过房间的摇镜可能被算成三个场景;调低,一次柔和的叠化可能整个消失。

没有一个放之四海皆准的值,只有对这段素材正确的值。一段固定机位的访谈和一段手持剪辑需要的数字不一样——所以这个控件是摆出来的,而不是藏在一个靠猜的「自动」后面。

每个检测点都摆出来,是故意的

时间轴把每一个切点列出来,你可以逐个点过去看识别到的到底是什么。这不是个预览功能——这是你在导出一份两百个切点、其中大半是手抖的清单之前,判断灵敏度对不对的唯一办法。

一个只给你文件的工具,会让你在后面某一步才发现问题,而那时你已经把清单喂给别的东西了。先把过程摆出来,代价更小。

它擅长什么,不擅长什么

硬切找得很稳:整帧画面完全换掉,没有任何模棱两可。叠化、淡入淡出和划像按定义就是渐变的,所以它们可能回来一个切点、好几个、或者一个都没有,取决于你把阈值定在哪。

另一个难处是运动。镜头猛地扫过一个场景,画面变化的幅度和一次切换一样大,没有任何阈值能把它们完美分开。这也是为什么这份清单是可复核的,而不是最终的。

和本站其他功能同一个引擎

幻灯片提取、故事板、笔记和这个页面,底下都是同一套识别:比较相邻帧,判断什么算变化。区别在于之后做什么。

幻灯片提取多加了一个条件——画面要变了并且停住——因为幻灯片的定义就是待在那儿。场景检测把这个条件去掉了,因为切进一个运动镜头也仍然是一次切换。同一次测量,两个不同的问题。

什么都不会离开这台机器

视频在你自己的电脑上读取,识别在这个标签页里跑。不上传、不要账号、不存储,也没有保留期需要你去查,因为根本没有东西被留下。

对于还没发布的素材、客户的东西、或者任何签了协议限定「能复制到哪里」的内容,这不是回答了那个问题,而是把那个问题整个拿掉了。

大家拿这份清单做什么

把一段长录像按场景切成一个个文件。给播放器生成章节标记。直接跳到话题转换的那一刻。通过看切点之间的间隔来检查一条片子的节奏,而不是再看一遍。

共同点是:这些事拿一列数字做,都比拿一个装着缩略图的文件夹做容易——这就是单独产出时间的理由。

灵敏度会改变什么?
它挪的是「镜头变了」和「有东西在动」之间那条线。范围 1 到 10,默认 6。调高会保留更细小的变化,于是一次缓慢的摇镜可能被算成好几个场景;调低会忽略更多运动和压缩噪声,代价是可能漏掉一次柔和的转场。
可以导出切点吗?
可以,导出的 CSV 有三列:场景编号、以秒计到小数点后三位的开始时间、以及方便阅读的时钟格式。文件名用你的视频名加上 -scene-cuts,所以它和来源文件始终对得上。
为什么要写两种时间格式?
因为用它们的是不同的东西。秒数那一列是脚本、ffmpeg 命令或表格公式要的;时钟那一列是你自己扫文件时要看的。两者互相换算既琐碎又烦人,所以文件里一次性都写好。
它会连画面一起给我吗?
不会,而这正是这个页面的定位,不是缺陷。你要图片的话,提取器和取帧工具都能给。这一个给的是时间——一份切点清单和一个装着图片的文件夹,本来就是两种交付物。
这和提取幻灯片用的是同一套识别吗?
同一个引擎,调法不同。一份幻灯片和一段快剪,都属于「画面变了」,所以一套识别能服务两边——但幻灯片是「变了之后停住」,而一次镜头切换不需要停。
快剪片子上准不准?
硬切找得很准;叠化和淡入淡出弱一些——它们本来就是渐变的,取决于灵敏度可能被算成一个切点、好几个、或者一个都没有。导出前对着时间轴核一遍;之所以把每个检测点都摆出来,就是为了让你能核。
视频会上传吗?
不会。你的浏览器在你自己的机器上读文件,识别也在这个标签页里跑。它不会到任何服务器,你关掉标签页它就没了。
视频最长能多长?
文件本身不设上限。要有心理准备:扫描会实实在在占用你自己硬件的时间,大约每 70 分钟视频 7 分钟,而且这期间标签页要开着。