Coder Social home page Coder Social logo

exeldro / obs-move-transition Goto Github PK

View Code? Open in Web Editor NEW
611.0 18.0 43.0 902 KB

Move transition for OBS Studio

Home Page: https://obsproject.com/forum/resources/move-transition.913/

License: GNU General Public License v2.0

CMake 4.74% C 90.57% C++ 4.69%

obs-move-transition's Introduction

Move transition for OBS Studio

Plugin for OBS Studio to move source to a new position during scene transition

Installation

Download from https://obsproject.com/forum/resources/move-transition.913/

Or enter flatpak install com.obsproject.Studio.Plugin.MoveTransition on your terminal

Build

  1. In-tree build

  2. Stand-alone build (Linux only)

    • Verify that you have package with development files for OBS
    • Check out this repository and run cmake -S . -B build -DBUILD_OUT_OF_TREE=On && cmake --build build

Donations

obs-move-transition's People

Contributors

bygrilinho avatar cooliguay avatar deminearchiver avatar eaglesemanation avatar eribertomota avatar exeldro avatar godgun968 avatar kelson-pereira avatar knulpi avatar patthemav avatar univrsal avatar upgradeq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obs-move-transition's Issues

Enable Transition Based on Other Source

I'd like to be able to enable/disable a move transition based on a different source than the one I'm transitioning e.g. If I have Source A and B, I want to move B when A is shown/hidden. I don't think this is currently possible but it would be super useful.

Plugin not loading on Windows 10 with OBS 27.0.1

Hi,

I'm pretty sure I am up to date with the needed dependencies:

  • Windows 10 21H1 (64 bit)
  • OBS 27.0.1 (64 bit)
  • VC++ 2015-2019 x64 v14.29.30037.0
  • obs-websocket version 4.9.1
  • obs-move-transition 2.4.4

Here's my log:
[...]
23:39:06.515: LoadLibrary failed for '../../obs-plugins/64bit/move-transition.dll': (null) (193)
23:39:06.515: Module '../../obs-plugins/64bit/move-transition.dll' not loaded
[...]

Is there anything I might be missing in order to make "obs-move-transition" load?
Help is appreciated!

License clarification

Hello, I am packaging this plugin for use on NixOS and I need a clarification for what license this project is licensed under. The github repo says it is under the GPL-2.0 License but I need to know specifically if it is licensed under GPL-2.0 only or GPL-2.0+ (GPLv2 or any later version of the GPL).

Memory usage increases

First of all, thank you for this amazing plugin!

I think i found a memory issue.

In a scene collection with multiple images and transitioning with move-transition many times, the memory usage increases.

The only way i found to isolate the issue has been:

  1. Create a new scene collection
  2. Add a image bigger than 1920*1080
  3. Set Transform/Fit to screen
  4. Set Scale Filtering to Bilinear
  5. Add a new scene
  6. Add another different image, it doesn't matter what resolution it is
  7. Add the move transition
  8. Transition between the 2 scenes several times with move-transition

With only two images it takes longer to get this issue (2 minutes transitioning again and again)
In the scene collection i use, having many more images happens earlier.

With images in 1080p the issue happens too, but i couldn't find an easy way to reproduce it.
The only common factor i find is the scale filter and resize the image.

OBS Studio 25.0.4
Move-transition 1.0.0
Windows 10 1903
2 displays at 1920*1080 60hz
i7 6700K
GTX 1080

I have used these images for this example:
https://images.app.goo.gl/zsp5qDhbuBm23qsV9
https://images.app.goo.gl/yXUfTTL9HWqRMBEz9

Memory usage:
2020 04 12 00 16 28

Move Source

It seems like get transform is not getting the current position of the group.

(I'm using last version of plugin)

Mismatch between transitions set-up and executed

As discussed on Discord, here's my rundown of all transitions and how they (unexpectedly) behave. At first I was about to check in and out transitions separately, but only the movement direction (in/out) changed), the direction stayed the same.

Zoom Off

Match Position Actual
None None
✖︎ Center Bottom Center
✖︎ Away from Center Top Center
✖︎ Top Left Bottom Left
✖︎ Top Center Bottom Right
✖︎ Top Right Bottom Right
✖︎ Center Right Bottom Right
Bottom Right Bottom Right
✖︎ Bottom Center Bottom Right
`Bottom Left Bottom Left
✖︎ Center Left Bottom Left

Zoom On

Match Position Actual
None Top Left
✖︎ Center Top Left'ish (see below)
Center Right Center Right
✖︎ Bottom Left Center Left'ish (see below)
✖︎ Center Left Bottom Left

This only contains the differences to the "Zoom off" checks. Center and Bottom Left are a bit weird:

  • Center seems to move "around" the outgoing scene, starting in the center, then moving around it to the left.
  • Bottom Left seems to come in from the Center Left, but slightly lower than actual Center Left

Problem with fade effect

Hi!
There is a problem with fade transition in connection with appearing or disappering items.
When some source wasn't in the previous scene somtimes first it suddenly appears and then gently fades in (transition 1, 3, 5).
Sometimes sources don't fade out (transition 2 - background)

Video showing described problem:
Video

Move Source Hotkeys Only Work when Secondary OBS Window is Open

I'm using the move source filter on a scene to move a group with a hotkey. Right now, this hotkey only seems to work when I have a secondary OBS window open (filter list, rename dialog, etc.). OBS detects the hotkey being pressed, I tested this by going into the settings, and other hotkeys work, even other move source hotkeys.

Recursive Move Value filter crashes OBS

Step to reproduce :

  • Add a Move Value filter to a Source
  • In filter, chose the Move Value filter itself
  • OBS crashes

Even though the crash is easily fixable with an if check, I think the current filter should not be selectable, it has no sense to animate yourself. I don't know if it makes sense to move a value of another move value filter though.

Build for linux

Hello and thank you for this great initiative !

I try to build this plugin in linux Ubuntu 18.04 and i get errors with cmake, can you provide some instructions to how to build on linux ?

CMake Error at CMakeLists.txt:17 (install_obs_plugin_with_data):
  Unknown CMake command "install_obs_plugin_with_data".

Transition scene when it gets embedded

I have a scene (let's call it SceneA) with a webcam source and some text and stuff. Then I have another scene, SceneB, which uses SceneA as a source in one corner. It would be awesome if your plugin could handle that the switch from SceneA to SceneB so SceneA would shrink into the corner. Does that make sense?

Incorrect depth for appearing elements

Bug summary

A z-ordering issue occurs for appearing elements, when transitioning to a scene with three or more appearing elements.

move-z-bug

Details

When transitioning from a scene with a single element D; to a scene with four elements A, B, C and D; during the transition, C is incorrectly displayed over D, instead of under.
A and B are displayed at the correct depths.

Reproduction

Here is the smallest reproduction case I could make, seen in the GIF above:
move-z-bug.json.zip

'Scene name is already in use' error must not occur

Operating System Info

macOS 11.2

OBS Studio Version

26.1.2

Expected Behavior

The error must not occur.

Current Behavior

Scene can not be created.

image

Steps to Reproduce

  1. Add scene transition 'Move'.
  2. Create a scene named 'X'.
  3. Delete the scene you've just created.
  4. Try creating a scene with the same name 'X'.

Get Transform function not works

Hello, I'm using the move transition as a filter on the obs source Get Tranform function doesn't work for me. To solve it I changed the x and y coordinates manually.

Source Show/Activate not working

Not sure if this is related to #2 but I'm trying to setup a scene filter to move an element in a specific way when switching to the scene. The desired effect is one of a footer sliding in from below. One move filter is set to move the element off screen when the source is not showing and another slides it in when it is displayed. When using start triggers "Show" and "Hide" the transition work as intended: when the filter becomes active the transition occurs. However I want the transition to only happen when the source becomes active, not the filter (so it won't trigger when switching from scenes that already have said element).

However, using start triggers of "Source Activate/Deactivate" or "Source Show/Hide" will not work, the transformations will never be applied. From what I understand, if I transition from a scene where the element does not exist, to a scene where the element does exist, and a "Source Activate" scene filter exists for this element, the move filter should trigger.

[Mac] Please add a "safer" alternative to an unsigned .pkg

Hi,

I would really love to try this plugin, but the only installation method for mac is not trustworthy.
Can we please get a manual installation method?

I do not know what this .pkg file does and it asks for administrative access.
I understand that signing a pkg via apple is tedious.

I use this mac for work, so I cannot risk the integrity of my software & data.

Plugin not detecting scene that contains target scene's name

System info

Obs version: 27.0.1 (64 bit)
plugin version: 2.4.4
OS: Windows 10 Build 19043.1052

The issue

I wanted to toggle filters on a scene but in studio mode that scene has to be in the preview monitor for the filters to show on the output. To combat this I tried to nest the target scene so that I could toggle the filters on the nested scene. When I made sure that the new scene contained the name of the original scene I tested the transition and found out that it failed to function and did not zoom the scene to the position. I made sure to select both "contains the other source name" and "with the last word removed matches the other source name" for the matching settings.

Log file: https://obsproject.com/logs/bU7bUFE1_hol2Ejx

Note on the video: the second obs instance that is running is a portable instance and does not share configuration with the main instance
Video detailing the issue: https://www.youtube.com/watch?v=F4CR4Ls6MIw

Patch for build

Got it to build on Linux with the following patch (I'm wondering why it builds anywhere else without this change..)

--- a/move-transition.c
+++ b/move-transition.c
@@ -1880,7 +1880,7 @@ MODULE_EXPORT const char *obs_module_description(void)
        return obs_module_text("Description");
 }
 
-struct obs_source_info move_transition_override_filter;
+extern struct obs_source_info move_transition_override_filter;
 
 bool obs_module_load(void)
 {

Plugin doesn't load on Windows 10 with OBS 26.1.1

Hi,

I had the plugin working at one point and tried to update, now the plugin won't load. I've used the installer, uninstalled and reinstalled no change.

From the log:

00:57:23.415: Module '../../obs-plugins/64bit/move-transition.dll' not loaded
00:57:23.415: Failed to load module file '../../obs-plugins/64bit/move-transition.dll': -2

The error code -2 is from here in OBS:

https://github.com/obsproject/obs-studio/blob/5e44e6412a2e391a04c3c3ce903c8866e9b76062/libobs/obs-module.c#L125

and the error code is MODULE_FILE_NOT_FOUND which makes no sense because the path is just fine.

Reading the OBS code a bit, what I think happens is that the call to LoadLibraryW in https://github.com/obsproject/obs-studio/blob/dde4d57d726ed6d9e244ffbac093d8ef54e29f44/libobs/util/platform-windows.c#L90 fails and I'm thinking it may be some kind of hidden protection in recent windows updates that is preventing a the DLL from being loaded but I don't know how to track that down further.

Any assistance on the matter would be appreciated.

[Feature Request] Add "Disable" option to Start and Stop Triggers.

Please, add a "Disable: When the eye icon in front of this filter is disabled" option to Start/Stop Triggers, on "Move Value" Filter:
image

With an option like that, would be easy to create a system that toggle animations just by enabling and disabling a single eye icon:
image
image

Move transition override filter doesn't work on webcam's

I have two scene. Scene A with a webcam and scene B with scene A (as a scene source) and next to that some slide show.
I aplied the move transition override filter to the scene A source in scene B and selected the webcam as soruce and also selected the webcam as match source. But when using the move transitions the webcams don't get recognized as being the same source and the transitions doesn't work correctly. However when you replace the webcam with just an image it works fin.

Scene A
Webcam

Scene B
Scene A (with Filter)
Slideshow

Make Image Source Rotate?

I was recommended this plugin but not recommended how to set this up--

How can I get an image source in a scene rotate while it's visible? I just want it to slowly rotate like a disc or vinyl viewed straight on.

Builds for linux

Hello, you make a very good work and appreciated !

Can you provide some builds ready for Linux ? Like Ubuntu 18.04, Ubuntu 20.04 and Debian 10 ?

Thank you !

Plugin crashes OBS on macOS

As noted in #9 the plugin causes OBS to crash on macOS during plugin initialization:

0   libsystem_c.dylib             	0x00007fff6de5ffca __chk_fail_overflow.cold.1 + 16
1   libsystem_c.dylib             	0x00007fff6de5d214 __chk_fail_overflow + 9
2   libsystem_c.dylib             	0x00007fff6de5d848 __memcpy_chk + 18
3   libobs.0.dylib                	0x00000001095fb764 obs_register_source_s + 292
4   move-transition.so            	0x00000000154ec435 obs_module_load + 21
5   libobs.0.dylib                	0x00000001095fa4f3 obs_init_module + 83
6   libobs.0.dylib                	0x00000001095fb380 load_all_callback + 64
7   libobs.0.dylib                	0x00000001095fb299 obs_find_modules + 2153
8   libobs.0.dylib                	0x00000001095faa13 obs_load_all_modules + 35
9   com.obsproject.obs-studio     	0x0000000106dd7a87 OBSBasic::OBSInit() + 775
10  com.obsproject.obs-studio     	0x0000000106db7aab OBSApp::OBSInit() + 491
11  com.obsproject.obs-studio     	0x0000000106dba549 main + 5209
12  libdyld.dylib                 	0x00007fff6dd90cc9 start + 1

I'm currently investigating, but I guess @exeldro's OBS knowledge still trumps mine.

OBS not responding / crashing upon switching scenes

OBS version 25.0.8 (newest)
Plugin version 1.7.8 (newest)

Upon switching scenes with "move transition" filters, OBS locks up and becomes unresponsive. I've managed to reproduce the issue consistently by spam-switching scenes - OBS will always become unresponsive after several switches. Although when first encountered I was streaming, and wanted to simply switch from one scene to another (no spam-switching).

OBS does not write a "crash report". But upon becoming unresponsive, the last line of the log file will read the following, with no further information given:
19:51:33.386: User switched to scene 'scene_name'

Is this a "me" problem? Do I have too many sources animated? Any clues or hints as to what might cause this?

"Next Move: Reverse" on Hotkey breaks when the hotkey is pressed again before the transition is complete

Reprosteps:

  1. Set up an Effect filter which moves a Source from A to B
  2. Set "Next Move" to Reverse and "Next Move On" to Hotkey
  3. Set up a hotkey to use
  4. Press your hotkey to move your source from A to B and hit the hotkey again before the source has reached its destination

The source will only reverse to the position in which you pressed the hotkey and will not return to its origin.

Video:
https://streamable.com/4d6vpn

Consider tagging releases on GitHub again

Hello, I am packaging this plugin for use on NixOS and I noticed you stopped tagging your releases on GitHub some time ago. It would be pretty useful if you kept your GitHub tags up to date with the versions you publish on the OBS plugins page as it would facilitate pinning versions of your repository for anyone else packaging this plugin for another distribution.

Positioning error bug

I seem to have found a positioning bug where the more times i show and hide the source, the closer it moves. So i have my source off screen, and like i said eventually i can move it enough times to where it ends up showing onscreen after a move when it is supposed to be off screen.

Edit: also the toggle doesn't seem to be working properly.

Issue with Z-Order changes on move transform

I love the idea of having the overlay drag a camera source out of the background from behind an overlay to place it at the top layer of the screen, but the plugin at this point doesn't seem to put the moved source back into its original Z-position in the source list. This pretty much prevents me using the Z-order change for the plugin at this point in time, and means I have think harder about where to put the camera in the Z-order to be able to zoom without an order change.

First world problems, I know. Still... it is what it is. :)

Linux bin archive in the wrong place

In the linux archive move-transition.so is in /move-transition/bin/64bit/

I'm fairly sure this should actually be:
/move-transition/obs-plugins/64bit/

(One could also drop the /move-transition root as well, but that may not be that important to you)

I had to move the plugin to make it work. Otherwise, worked like a charm! Thanks!

Freeze before starting Move transition with Luma

Hello !
Thanks for your great work, i'm really enjoying your plugin!

I found an issue when using In, Out and Move Transition set as Luma wipe.

Depending on how many sources you have, it freezes the rendering for a certain amount of frames before the transition, then proceed to render the transition properly.

From my tests, with 7 sources on the source and 10 on the destination, it's loosing 6 frames
When i discovered the issue and tried to fix it, i had around 30 sources on both, and i was loosing about 25 frames. I grouped everything together, which seems to reduce the issue.

It doesn't appear to be an hardware overload issue, as both CPU and GPU were not even close to half their maximum

I'm sorry for not being able to provide more clear information about the issue. I'll be glad to help reproduce the issue.

For those who seeks a workaround : Uses fade transition instead of Luma wipe. Less fancy, but no more frame stutter

Thanks !

Deleting Move Value Filter Causing Crash

Deleting Move Value effect filter on a Display Capture Source causes crash. Can add multiple Move Value filters to the source, and can delete those multiples, but deleting the last Move Value filter on a source causes crash.

(Discovered while trying to get Move Transition to work on Nested Scene Sources...having trouble getting it to work properly)

Thanks!

Move Transition 2.3.4, OBS 26.1.2, MacOS 10.15.7

Motion Override - Transition Bug

Version 1.7.8

override "transition: none" doesn't do "none" but instead seems to use the current scene transition setting. I believe this affects the matching, appearing, and disappearing sections

Let me know if I can provide more info.

Impossible to roll the entire scene

Hi,

I want to use the filter on all my scene and not to the source.
Including my scene into another scene break all my transitions so that can't be my workaround.
Can someone has an idea ?
Is it possible for you to allow us to set the filter on the whole scene and not only on sources ?

Thanks for your answers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.