快讯6 条
快讯3 条 · 可滚动
本站于 2026-10-19 补核;官方发布日期为 2026-10-17。

出处:DeepSeek 官方文档 · 更新日志官方

本站于 2026-10-19 补核;官方发布日期为 2026-10-14。

出处:xAI · API Release Notes官方

本站于 2026-10-19 补核;官方发布日期为 2026-10-13。

出处:Gemini API · Release notes官方

开源项目解析

MotionCtrl

一个模型里分开控制镜头运动与物体运动。支持 SVD、VideoCrafter/LVDM、AnimateDiff 三种底座。

镜头位姿可指定轨迹要手画或从视频里提这一格唯一的开源方案
Apache-2.0 可商用★ 1.5k 44 星/月最后更新 2025-02-19 · 距核验日 20 个月仓库 ↗

读懂层

2 张 · 架构图 / 流程图

架构图代码结构

推理

轨迹准备

界面

app.py

page_control.py

camera_utils.py
镜头位姿

traj_utils.py
物体轨迹

flow_utils.py
光流

motionctrl_inference.py

底座视频模型
SVD · VideoCrafter · AnimateDiff

生成视频

DeepWiki 架构页 · 抓取 2026-08-16 · 核验 2026-08-16

流程图镜头与物体分开下指令

从现成视频里提

camera_motion

object_motion

both

MotionCtrl 核心

condtype

文本提示词

镜头位姿
RealEstate10K 格式

镜头运动控制

物体轨迹
HandyTrajDrawer 手画

物体运动控制

ParticleSfM

只控镜头

只控物体

两个都控

生成视频

DeepWiki 架构页 · 抓取 2026-08-16 · 核验 2026-08-16

镜头轨迹来自 RealEstate10K 的位姿文件;物体轨迹用 HandyTrajDrawer 手画,或用 ParticleSfM 从现成视频里提。

它管哪几个决定

镜头运动无可用手段
2/10 家有官方说法
运动幅度与方向首尾帧约束
4/10 家有官方说法

自持能力

权重在不在本地可下载到本地
种子能不能填不涉及
换掉它要动几处几处

权重可下载;换掉它就等于放弃镜头控制这一格

动手层

文档代码结构 未做踩过的坑实测 未做

装它要过哪几关

  1. 1选底座分支SVD / VideoCrafter / AnimateDiff 是三个不同分支,先定用哪个底座再克隆
  2. 2准备轨迹文件镜头轨迹用 RealEstate10K 位姿格式;物体轨迹用 HandyTrajDrawer 画
  3. 3跑推理`condtype` 决定控镜头、控物体、还是两个都控

改哪个文件能改什么

condtypecamera_motion / object_motion / both —— 这是这个项目的核心开关
轨迹文件换镜头运动就是换这个文件,不用改代码

坑在哪一处

带 issue 编号的来自:github issues 按回复数排序 · 核验 2026-08-16

项目活跃度停更 18 个月,星速 46/月。 但要公平地说:它 32 个月才涨 1.5k,而同类 CameraCtrl 停更更久(2024-05 之后没动过)。镜头运动这一格,官方侧 1/10、开源侧两个项目都已停更 —— 这不是选谁的问题,是整个方向还没人做成。(GitHub API 实测 · 核验 2026-08-16)
轨迹来源要么套 RealEstate10K 的数据格式,要么手画。没有「用自然语言描述镜头」这条路 —— 那正是它和提示词的区别,也是它的门槛
ParticleSfM从现成视频提物体轨迹要装它,仓库提到需要特定系统版本(CentOS 8.5)

教程

官方文档、作者本人的视频,以及 ComfyUI 官方给的原生工作流示例。每条都验过还打得开。

项目自述

以下是仓库 README 的开头部分(原文引用,抓取 2026-08-17)。读全文 ↗

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation

[SIGGRAPH 2024 CONFERENCE PROCEEDINGS]

👉 MotionCtrl for [SVD], for [VideoCrafter], for [AnimateDiff]

      

🤗    🤗 

🔥🔥🔥 We have released both Training and Inference code of MotionCtrl deployed on AnimateDiff

🔥🔥 We release the codes, models and demos for MotionCtrl on Stable Video Diffusion (SVD).

https://github.com/TencentARC/MotionCtrl/assets/19488619/45d44bf5-d4bf-4e45-8628-2c8926b5954a

Official implementation of MotionCtrl: A Unified and Flexible Motion Controller for Video Generation.

MotionCtrl can Independently control complex camera motion and object motion of generated videos, with only a unified model.

Results of MotionCtrl+AnimateDiff

Results of MotionCtrl+SVD

More results are in showcase_svd and our Project Page.

Results of MotionCtrl+VideoCrafter

More results are in our Project Page.

📝 Changelog

- [x] 20231225: Release MotionCtrl deployed on *LVDM/VideoCrafter*.
- [x] 20231225: Gradio demo available. 🤗 
- [x] 20231228: Provide local gradio demo for convenience.
- [x] 20240115 More camera poses used for testing are provided in dataset/camera_poses
- [x] 20240115 Release MotionCtrl deployed on *SVD*. Codes are in the branch svd and Gradio Demo is available in 🤗 .
- [x] ❗❗❗ Gradio demo of MotionCtrl deployed on *VideoCrafter2* is available in 🤗 . You can also run it locally by python -m app --share.

- [x] ❗❗❗ Release MotionCtrl deployed on *AnimateDiff* are available in branch animatediff, containing both training and inference code.
- [x] 20240920 Provide scripts for collecting object trajectories with ParticleSfM. 
- [x] 20240920 We provide a HandyTrajDrawer to customize object trajectories more conveniently.

⚙️ Environment
    conda create -n motionctrl python=3.10.6
    conda activate motionctrl
    pip install -r requirements.txt

💫 Inference

- #### Run local inference script

1. Download the weights of MotionCtrl motionctrl.pth and put it to ./checkpoints.
2. Go into configs/inference/run.sh and set condtype as 'camera_motion', 'object_motion', or 'both'.
- condtype=camera_motion means only control the camera motion in the generated video.
- condtype=object_motion means only control the object motion in the generated video.
- condtype=both means control the camera motion and object motion in the generated video simultaneously.
3. Running scripts:
        sh configs/inference/run.sh

- #### Run local gradio demo
      python -m app --share

🔥🔥 Training 👉 Details

Preparing Dataset
  - RealEstate10K

    1.  Following https://github.com/cashiwamochi/RealEstate10K_Downloader to download and process the videos.
    2. Corresponding Captions and List are provided in GoogleDrive.

  - WebVid with Object Trajectories
    1. Preparing ParticleSfM. Our experiments is running on CentOS 8.5 and we provide a detailed install note in dataset/object_trajectories/ParticleSfM_Install_Note.pdf.
    2. Moving dataset/object_trajectories/prepare_webvideo_len32.py and dataset/object_trajectories/run_particlesfm_obj_traj.py to ParticleSfM project.
    3. Step 1: Prepare sub-videos with lenth of 32 and size of 256 x 256.

……(后略,见原文)

判断

优势

  • 这一格几乎唯一能用的开源方案 —— 官方侧 10 个核心模型里只有 1 家给了说法
  • 镜头与物体分开控,不是混在一句提示词里
  • 三种底座都能接,不锁死在某一个视频模型上

局限

  • 停更 18 个月(最后提交 2025-02-19)—— 比星数少更要命:底座模型早已换代,它还停在 AnimateDiffV3/SVD 那一代
  • 轨迹要么来自 RealEstate10K 数据集格式,要么手画,没有「随便描述一下」这条路
  • ParticleSfM 装起来挑系统(仓库提到 CentOS 8.5),从现成视频提轨迹门槛高

不适用

只想要「镜头稍微动一下」的场景 —— 为此搭一套轨迹流水线不划算。

同管这些决定的其它项目

github README · 核验 2026-10-19 | 判断栏可报错。