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.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blender/blender#40382
No description provided.