FORM CHECK

给你那一帧,而不是一个编出来的数字。

传一组正式组。我们把视频里真实的帧抽出来,把每一条问题钉在你能拖过去核对的时间码上,最后落在一条链接上——那条链接可以直接贴回你发求点评的帖子里。

MP4 · MOV · WebM —— 单个 50MB / 30 分钟以内 · 每分析分钟 10 积分 · 需登录后运行

就在这一页跑一次

模板已经锁定为 Form Check。丢一个文件进来——或者贴一条 YouTube 链接——分析就在这里开始。

SOURCE
TEMPLATE
动作检查本页固定每次动作的相位计时、触地/击打声毫秒定位,每条问题都钉在标注帧上。

默认私有——你的视频和报告仅自己可见,除非你主动分享。

拿不准值不值这些积分?已登录账号可以在积分弹层里选「只分析前 60 秒」,价格更低。

这样拍

下面每一条都不是讲究,而是直接决定管线能找到什么——其中一条甚至决定那些毫秒数字存不存在。

  1. 机位高度

    髋部到胸部之间,放在三脚架或任何不是你手的东西上。机位一晃,每一个相位边界都变成主观判断。

  2. 角度

    深蹲:从身后 45°。硬拉、卧推、推举:正侧位。球拍球棒类:正对击球点的侧位,让接触瞬间是一个剪影而不是一团被压缩的模糊。

  3. 重量

    用有挑战性的重量。一组从头到尾都不掉形的动作,会让「首次 vs 末次」那组对比无从对起。

  4. 帧率

    手机支持就用 60fps。我们的抽帧上限就是 60fps,所以这是你能拿到的最细视频网格——约每帧 17ms;30fps 则约 33ms。拍 240fps 慢动作在这里买不到比 60fps 上限更细的东西。

  5. 别静音

    接触类问题上那个毫秒来自声音,不是画面。没有音轨就没有 onset,接触检查和呼吸检查就没有东西可以锚定,会安静地不触发。

为什么是网页工具而不是 App

你的报告是一条链接。这就是全部要点。

近两年冒出来的 AI 动作分析工具几乎清一色是 iOS App。App 能在你自己屏幕上画一层叠加,但给不了你一个能贴出去的东西——一份递不出手的动作分析,到你这里就断了。我们这边是一个公开网址收尾:它有自己的页面,页面上带着标注帧和时间码。

  1. 01

    跑完一次

    分析完成时,浏览器会直接落在这份报告自己的网址上。你不需要发布、不需要切换开关、不需要生成什么——这个网址从任务创建的那一刻就存在了。

  2. 02

    复制链接

    点报告页顶部的「复制链接」。这条链接对你发给的任何人都能打开:不需要账号、不需要登录、不需要装 App。

  3. 03

    贴回去

    贴进 r/formcheck 的帖子、群聊、或者教练的私信。对方打开看到的,是和你眼前一模一样的标注帧和时间码——于是他能对着某一帧提出异议,而不是凭感觉说两句。

关于这条链接,有两件事要如实说明。它的 id 是 16 位随机字符串,所以没有人能靠猜、或者靠翻某个列表找到你的报告。另外我们对报告页写了「不要收录」——你的这组动作不会出现在任何人的搜索结果里。可分享,但不可被搜索。

我们测什么,不测什么。

同类工具会拿一台手持手机给你报到度的关节角度和 3D 运动学。做这件事需要的深度信息,手机后摄不会交出来,而它们的引导流程里也没有任何标定步骤——那些数字是生成出来的,不是测出来的。我们很早就决定:追溯不到实物的数字,一个都不印。下面这两列不是文案,它们就是每一次 form_check 报告底部印出来的那两列,读的是代码里同一个常量。

我们测

  • Phase timing from ffmpeg frame timestamps
  • Defect evidence frames
  • Rep-to-rep rhythm consistency

我们不声称

  • Joint angle measurements
  • Bar/ball speed
  • 3D kinematics
  • Injury diagnosis

报告里的每一个毫秒都能追溯到一张物理帧或一次音频 onset。这条规则是有牙齿的,不是愿景:模型只被允许用整秒说话,所有亚秒级数字都在我们这一侧由 ffmpeg 帧索引或 DSP onset 制造。一条 finding 如果它的时间码追不回上述两者之一,它会失去时间码,而不是被补上一个看起来很像的;一行相位如果缺了真实的边界帧,会被整行丢掉,而不是插值。

一次分析到底怎么跑

三轮。有意思的是中间那一轮——它是我们能在接触瞬间上给出毫秒的原因。

  1. 01

    先扫全片

    低帧率过一遍全部内容:这是什么动作、几个正式组、大概几次、有没有教练在说话、每一次撞击声落在哪里。这一轮只被允许用整秒回答——它在找「等下要回来细看的地方」,不是在产出最终数字。

  2. 02

    回到可疑窗口钻取

    我们在每个窗口重新打开视频抽真实的帧——最高 60fps、每窗最多 16 帧、最多 8 个窗口。撞击类窗口在切帧之前,会先按窗口内最近的音频 onset 重新定中心:模型说的「大概 0:42」偏出去的量可能比整个窗口还宽。然后把 onset 毫秒匹配到模型选定的那张接触帧上,容差 50ms;容差内没有东西落进来时,这一轮会被记为 unbound,而不是凑一个数。

  3. 03

    组装报告

    问题清单、相位计时表、标注证据帧。组装是确定性的,而且对自己的模型保持怀疑:任何带着「不在我们物理产出的毫秒集合里」的时间码的内容,在送到你面前之前就被剥掉了。

一次 form check 可能触发的检查

这些是管线里真实的检查标识,不是功能宫格。哪几个会触发取决于你的视频里到底有什么——一条静音片段触发两个,一组有教练口令、呼吸也听得见的正式组会触发全部五个。

检查何时触发产出什么
S1_IMPACT扫描轮听到的每一次撞击声——杠片触地、球棒/球拍击球、脚掌落地。接触可见的第一张帧,接触点上画框,并带着钉到这张帧上的音频 onset 毫秒;容差内没有 onset 时如实标为 unbound。
S2_CUE只有片子里能听到教练或训练搭子说话时。每条口令一行:口令原文照抄、是否被执行、在第几帧做出的判断。
S3_BREATH只有呼吸声可闻时——实际操作里这需要麦克风贴近人,而不是三米开外。呼吸节律与相位是否吻合的判定:match / mismatch / inconclusive。这是唯一一个拿到真实音视频片段(而不是静帧)的检查。
FATIGUE_FIRST总是触发——第一组的头几次正式次数。相位分解与可对比的标记:躯干角度倾向、下蹲深度、杠铃或器械轨迹漂移、以每相位帧数计的节奏。
FATIGUE_LAST总是触发——最后一组的末几次正式次数。同一组标记取在这次训练的另一端,好让两端能互相对读。需要说明的是:这个对比会汇入问题清单,报告目前不会单独印一张「首组 vs 末组」的表。

五个里有两个完全依赖你的音轨。把片子静音,或者站得远到麦克风什么都听不见,S1 和 S3 就没有可锚定的东西——你仍然会拿到报告,只是它会失去「比一段慢放回放更值钱」的那部分。

分动作拍摄备注

管线不是按动作写死的——扫描轮自己认这是什么动作。真正随动作变化的,是你该站在哪,以及有没有一个值得去钉的接触声。

动作机位接触声相位词汇
杠铃深蹲身后 45°弱——只有折返时杠片轻响setup / descent / bottom / ascent / lockout
硬拉正侧位,全身入画强——每次都有杠片触地setup / pull / lockout / descent
卧推正侧位,略高于杠铃中等——杠铃触胸setup / descent / chest / press / lockout
网球正手 / 发球正对击球点的侧位强且干净——球打在拍线上backswing / contact / follow-through
篮球跳投侧位或 45°出手是无声的——只有篮筐才有声音gather / rise / release / follow-through

相位名来自模型自己的分解,所以你那份读起来可能略有不同。不让步的规则只有一条:一行相位只有在它的两个边界都确实是我们抽出来的帧时才会出现;钉不住的边界会让整行被丢掉,而不是被估出来。

这一页跑出来的真实报告

每一张卡都是这条管线的一次真实运行——和你会给它的上传是同一种,和你会拿到的报告是同一份。点开任意一张即可打开它出处的完整报告。

查看完整报告
SOURCE 2160pSTOCK FOOTAGE

Barbell deadlift · form check

Barbell deadlift · form check00:00:00.000

Controlled conventional deadlift execution with stable spinal neutrality and clean lockout throughout the repetition.

FINDINGS

  • 00:00:03.180infoSynchronized Concentric Pull

    Torso angle opens smoothly as the barbell tracks vertically close to the shins past the knees with synchronized hip and knee extension.

  • 00:00:04.700infoUpright Lockout Posture

    Athlete reaches complete hip and knee extension at the top of the pull with upright spinal alignment and no excessive lumbar hyperextension.

  • 00:00:06.251infoControlled Eccentric Lowering and Impact

    Barbell achieves floor contact under controlled eccentric tension while maintaining braced trunk positioning and neutral spine alignment.

PHASE TIMING

setup (rep 1)00:00:00.48400:00:00.984
concentric (rep 1)00:00:03.18000:00:03.780
ascent (rep 1)00:00:04.18000:00:04.700

EVIDENCE

During this first-set sample of the deadlift concentric…
00:00:03.180
The suspicion of form breakdown during descent is refuted…
00:00:06.251
DURATION
00:06
DRILLS
4
FRAMES
12
FINDINGS
4
SOURCE
3840x2160

Pexels License · Tima Miroshnichenko / Pexels

查看完整报告
SOURCE 2160pSTOCK FOOTAGE

Golf drive · form check

Golf drive · form check00:00:00.000

Clean driver swing mechanics highlighted by stable spine angle and complete weight transfer onto lead side.

FINDINGS

  • 00:00:02.967infoClean Club-to-Ball Contact Off Tee

    The clubhead struck the teed golf ball cleanly with the golfer retaining forward trunk lean and head position behind the strike zone as the trail heel lifted into weight transfer.

  • 00:00:05.467infoControlled Post-Shot Balance and Club Lowering

    Following swing completion, the golfer held a balanced finish on the lead leg and lowered the club with upright posture without stepping out of stance.

PHASE TIMING

downswing (rep 1)00:00:02.68000:00:02.960
follow-through (rep 1)00:00:02.96000:00:03.280
post-shot balance (rep 1)00:00:05.46700:00:06.467

EVIDENCE

Suspicion refuted: the golfer demonstrates clean swing…
00:00:02.680
Impact is confirmed at frame 6, where the clubhead strikes…
00:00:02.967
DURATION
00:06
DRILLS
4
FRAMES
12
FINDINGS
3
SOURCE
4096x2160

Pexels License · Ryan Parkland / Pexels

查看完整报告
SOURCE 1080pSTOCK FOOTAGE

Barbell squat · form check

Barbell squat · form check00:00:00.000

Consistent squat depth and torso stability maintained across all repetitions.

FINDINGS

  • 00:00:01.180infoConsistent Full Depth and Controlled Ascent

    During the first repetition, the athlete hits full depth with the hip crease below knee level and completes a stable concentric ascent to full lockout with vertical bar tracking.

  • 00:00:05.480infoStable Footing and Torso Angle on Final Repetition

    On the final repetition descent, the athlete maintains a neutral spine, stable torso inclination, and firmly planted heels without ankle collapse or forward torso drop into the hole.

PHASE TIMING

concentric (rep 1)00:00:01.18000:00:01.780
descent (rep 3)00:00:05.48000:00:06.080

EVIDENCE

First repetition baseline established: the athlete reaches…
00:00:01.180
Suspicion of fatigue-induced form breakdown is refuted as…
00:00:05.480
DURATION
00:06
DRILLS
2
FRAMES
6
FINDINGS
2
SOURCE
1920x1080

Pexels License · Harvey Tan Villarino / Pexels

样例报告 —— 每张卡都链接到它出处的真实报告,均由本工具分析产出。

大家真正会问的问题

有免费的 AI 动作分析吗?
新账号注册即送积分,足够你在付费之前先看到一份带真实证据帧的真报告。之后每分析分钟 10 积分——如果这次只能交付扫描级发现、拿不出证据帧,则按 4 积分计。不足一分钟向上取整,没有订阅,也没有什么需要取消。
你们会给出膝关节角度、杠铃速度这类度数和米每秒吗?
不会,也不打算会。用一台手持相机测关节角度,需要手机后摄不会交出来的深度信息,还需要一个没人会去做的标定步骤。那些从卧室视频里印出「膝屈 142°」的工具,是在印数字,不是在测数字。我们只做定性描述——「膝盖内扣」「杠铃前移」——并把每一句钉在一张你可以自己去看的帧上。
能传什么样的视频?
MP4、MOV 或 WebM,50MB 以内、30 分钟以内。实践中一到两个正式组是合适的量:整场训练的视频,积分大多花在了组间休息上。
需要用 240fps 慢动作拍吗?
不需要——而且它带来的好处也没你想的那么多。我们的抽帧上限是 60fps,所以 60fps 就是一次分析能用到的最细视频网格,约每帧 17ms。接触类问题上那个更锐利的数字本来也不来自画面:它来自音频 onset,检测分辨率约 23ms,然后被钉到接触帧上。
支持哪些动作——深蹲、硬拉、卧推、网球、高尔夫?
不存在「支持/不支持某个动作的模型」这回事。第一轮从视频本身认出动作,钻取问题是围绕它认出的东西写的,所以杠铃深蹲、网球正手、拳击组合拳走的是同一套机器。真正的差别是「有多少东西可钉」:有清晰接触声的动作,时间码会比无声动作锐利得多。
能把报告发给教练吗?
可以——点报告页顶部的「复制链接」发给他。任何拿到链接的人都能打开,不需要账号也不需要 App,看到的就是你眼前这些标注帧和时间码。
视频没有声音还能用吗?
能跑,但它会失去最拿手的一招。撞击检测和呼吸检查都由音轨驱动——没有音轨就没有 onset,这两个检查不触发,报告里所有毫秒都只能来自帧网格。如果你只能提供无声视频,请尽量用 60fps 拍,把网格保持在最细。
这和直接去 r/formcheck 发帖有什么区别?
它不是替代——它就是你要发的那个东西。与其发一段生片外加一句「我蹲得够深吗」,不如发一条链接:深度这个问题上面已经有了时间码、有了帧、还有一个框。别人于是能对着具体的东西表示不同意。而且它几分钟就回来,不用等谁哪天有空看一眼。
它能告诉我是不是受伤了、会不会受伤吗?
不能。伤病诊断就写在上面那张「我们不声称」的清单里,而且会一直待在那儿。报告描述的是视频在那些你能核对的帧上呈现了什么。这对你的身体意味着什么,是一个该找有资质、并且能真正看到你本人(而不是只看 40 秒素材)的人去聊的问题。
可以贴 YouTube 链接代替上传吗?
可以,而且它走的是和上传同一套抽帧。但做 form check 我们仍然更希望你上传文件:取回的副本上限是 480p,看杠铃轨迹漂移够用,再细的东西就单薄了。如果取回彻底失败,这次分析会退化成扫描级发现,并按更低的扫描价计费。

一组动作,一条链接,没有一句你核对不了的话。

工具就在这一页顶部——你从来没有离开过它。

跑一次动作分析