2D stabilization ceases to apply to rendered video after indeterminate number of steps #40382

Closed
opened 2014-05-27 05:48:48 +02:00 by reedlaw · 18 comments
reedlaw commented 2014-05-27 05:48:48 +02:00 (Migrated from localhost:3001)

System Information
Arch Linux 3.14.4-1-ARCH, NVIDIA Corporation GK107M [GeForce GT 650M] (rev a1) with xf86-video-nouveau 1.0.10-2 drivers.

Blender Version
Broken: 2.70a f93bc76

Short description of error
Whenever I work on a setting up track points, after a certain amount of time, 2d stabilization ceases to work. It's an intermittent problem, that is, if I start a new file and only track a point or two it usually works fine. But if I make lots of track points or complicated adjustments to the marker size and/or search area, it usually ceases to apply any stabilization to the rendered video.

Exact steps for others to reproduce the error

  • In the Motion Tracking screen I add a clip, add marker(s), track the markers over several frames, enable 2d Stabilization adding all the markers, and then click Autoscale.
  • In the Compositing screen I check "Use Nodes", remove Render Layers, add a Movie Clip selecting the clip I'm using, add a Stabilize 2D node with the same clip and then connect them like so: Movie Clip --> Stabilize 2D --> Composite.

This all works beautifully when I use a short clip, like 20 frames, and simple tracking. But it seems whenever I work for too long in the tracking screen setting up intricate track points, the whole 2D stabilization systems fails. It's a really painful bug because it only shows up after I've done the most work. It's also hard to reproduce because I am usually not aware of the precise point at which my rendered animation ceases to have stabilization applied.

Attached is an example .blend file with the described problem.
timelapse.blend

**System Information** Arch Linux 3.14.4-1-ARCH, NVIDIA Corporation GK107M [GeForce GT 650M] (rev a1) with xf86-video-nouveau 1.0.10-2 drivers. **Blender Version** Broken: 2.70a f93bc76 **Short description of error** Whenever I work on a setting up track points, after a certain amount of time, 2d stabilization ceases to work. It's an intermittent problem, that is, if I start a new file and only track a point or two it usually works fine. But if I make lots of track points or complicated adjustments to the marker size and/or search area, it usually ceases to apply any stabilization to the rendered video. **Exact steps for others to reproduce the error** - In the Motion Tracking screen I add a clip, add marker(s), track the markers over several frames, enable 2d Stabilization adding all the markers, and then click Autoscale. - In the Compositing screen I check "Use Nodes", remove Render Layers, add a Movie Clip selecting the clip I'm using, add a Stabilize 2D node with the same clip and then connect them like so: Movie Clip --> Stabilize 2D --> Composite. This all works beautifully when I use a short clip, like 20 frames, and simple tracking. But it seems whenever I work for too long in the tracking screen setting up intricate track points, the whole 2D stabilization systems fails. It's a really painful bug because it only shows up after I've done the most work. It's also hard to reproduce because I am usually not aware of the precise point at which my rendered animation ceases to have stabilization applied. Attached is an example .blend file with the described problem. [timelapse.blend](https://archive.blender.org/developer/F91419/timelapse.blend)
reedlaw commented 2014-05-27 05:48:48 +02:00 (Migrated from localhost:3001)
Author

Changed status to: 'Open'

Changed status to: 'Open'
reedlaw commented 2014-05-27 05:48:48 +02:00 (Migrated from localhost:3001)
Author

Added subscriber: @reedlaw

Added subscriber: @reedlaw

Added subscriber: @candreacchio

Added subscriber: @candreacchio

Could it be because the track you are using for stabilization "Track" does not go for the entire length of the clip?

Could it be because the track you are using for stabilization "Track" does not go for the entire length of the clip?
reedlaw commented 2014-05-27 10:34:36 +02:00 (Migrated from localhost:3001)
Author

Yes, it could be. If only part of a clip is tracked, wouldn't that part be stabilized though? The "Display Stabilization" option works even when only part of a clip is tracked.

Yes, it could be. If only part of a clip is tracked, wouldn't that part be stabilized though? The "Display Stabilization" option works even when only part of a clip is tracked.

Added subscriber: @ThomasDinges

Added subscriber: @ThomasDinges

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sergey Sharybin self-assigned this 2014-05-28 10:56:14 +02:00

I don't really see difference between clip editor's stabilization and compositor's one in the scene attached. You've got a single track in location stabilization and it's not fully tracked across the footage. This means as soon as the track is lost 2D stabilization will stop working in terms footage will become still (using stabilization data from the last frame where track was still tracked). That's exactly what i see here.

If you've got .blend file where this behaves properly please attach it (preferably with the footage as well to see stabilization in action).

Thanks for the report, but currently things seems to work as they are expecting to.

I don't really see difference between clip editor's stabilization and compositor's one in the scene attached. You've got a single track in location stabilization and it's not fully tracked across the footage. This means as soon as the track is lost 2D stabilization will stop working in terms footage will become still (using stabilization data from the last frame where track was still tracked). That's exactly what i see here. If you've got .blend file where this behaves properly please attach it (preferably with the footage as well to see stabilization in action). Thanks for the report, but currently things seems to work as they are expecting to.
reedlaw commented 2014-06-05 13:25:06 +02:00 (Migrated from localhost:3001)
Author

I think I've found the problem.

The problem is that Blender uses all of the tracks in the 2D stabilization panel from beginning to end. Unlike with the camera motion solver, the influence of markers continues after the track ends.

See the attached blend file and rendered video. The point at which the first track ends the footage becomes wobbly.

huangdi_guli.blend

0001-0070.avi

I think I've found the problem. The problem is that Blender uses all of the tracks in the 2D stabilization panel from beginning to end. Unlike with the camera motion solver, the influence of markers continues after the track ends. See the attached blend file and rendered video. The point at which the first track ends the footage becomes wobbly. [huangdi_guli.blend](https://archive.blender.org/developer/F92717/huangdi_guli.blend) [0001-0070.avi](https://archive.blender.org/developer/F92718/0001-0070.avi)

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

Will check on this.

Will check on this.
Author

This issue was referenced by 543ce859f3

This issue was referenced by 543ce859f35deb583fef1b4b71351aeb57e03354

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit 543ce859f3.

Closed by commit 543ce859f3.
reedlaw commented 2014-06-09 08:50:42 +02:00 (Migrated from localhost:3001)
Author

I've been trying to get this commit to work but am unsuccessful so far. I'm using this build:

Blender 2.70 (sub 5)
	build date: 2014-06-07
	build time: 06:04:53
	build commit date: 2014-06-07
	build commit time: 01:30
	build hash: 918f6a4
	build platform: Linux
	build type: Release
	build c flags:  -Wall -Wcast-align -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=return-type -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wnonnull -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wredundant-decls -Wno-error=unused-but-set-variable -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4  -fopenmp  -msse2  -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing
	build c++ flags:  -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wundef -Wmissing-declarations -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4  -D__STDC_CONSTANT_MACROS -fopenmp  -msse2  -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing
	build link flags:  -pthread
	build system: CMake

The stabilization follows the first track until it disappears, then it becomes wobbly just like in the example video I uploaded previously.

I've been trying to get this commit to work but am unsuccessful so far. I'm using this build: ``` Blender 2.70 (sub 5) build date: 2014-06-07 build time: 06:04:53 build commit date: 2014-06-07 build commit time: 01:30 build hash: 918f6a4 build platform: Linux build type: Release build c flags: -Wall -Wcast-align -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=return-type -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wnonnull -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wredundant-decls -Wno-error=unused-but-set-variable -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fopenmp -msse2 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing build c++ flags: -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wundef -Wmissing-declarations -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__STDC_CONSTANT_MACROS -fopenmp -msse2 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing build link flags: -pthread build system: CMake ``` The stabilization follows the first track until it disappears, then it becomes wobbly just like in the example video I uploaded previously.
Author

This issue was referenced by 30e7bdfe10

This issue was referenced by 30e7bdfe1067ea768f3d3019f28bcf957152c032

Indeed. Original plan didn't work that great and supporting disappearing tracks would require some more major refactor.

I wouldn't want to start doing global changes there now because we've got another folk doing major changes there in D583. So thanks for the report but for 2.71 we'll stick to a legacy behavior and improve it as a part of that patch.

Indeed. Original plan didn't work that great and supporting disappearing tracks would require some more major refactor. I wouldn't want to start doing global changes there now because we've got another folk doing major changes there in [D583](https://archive.blender.org/developer/D583). So thanks for the report but for 2.71 we'll stick to a legacy behavior and improve it as a part of that patch.
reedlaw commented 2014-06-10 04:04:22 +02:00 (Migrated from localhost:3001)
Author

Ok, I'll wait for the improvements then. Thanks anyway for the effort.

Ok, I'll wait for the improvements then. Thanks anyway for the effort.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#40382
No description provided.