glikely / obs-ptz

OBS Pan Tilt Zoom camera control plugin
GNU General Public License v2.0
143 stars 41 forks source link

OBS PTZ controls crashed on OBS 29.1 #165

Open NZSteven opened 1 year ago

NZSteven commented 1 year ago

I was using OBS 29.0.2 with the OBS PTZ controls. Yesterday I upgraded the OBS to 29.1.3, the PTZ control crashed. Today I have trying all different OBS version and found the PTZ crashed after 29.1

Regards Steven

rafael2437 commented 10 months ago

Também estou passando pelo mesmo problema. Espero que o problema seja corrigido nas próximas versões do OBS. Obrigado.

djsmacedo commented 10 months ago

Same problem here.

GeNTooGeek commented 10 months ago

This plugin hasn't been updated since before OBS version 29 was released. I think there may have been changes to the targeted version of QT as part of version 29, which could be causing some of the issues. I am setting up a QT build environment to test if a more recent version of qtserialport will alleviate some of the issues.

NZSteven commented 10 months ago

Thanks

On Tue, Aug 22, 2023 at 11:00 AM GeNTooGeek @.***> wrote:

This plugin hasn't been updated since before OBS version 29 was released. I think there may have been changes to the targeted version of QT as part of version 29, which could be causing some of the issues. I am setting up a QT build environment to test if a more recent version of qtserialport will alleviate some of the issues.

— Reply to this email directly, view it on GitHub https://github.com/glikely/obs-ptz/issues/165#issuecomment-1687173073, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBBC6APLQVSRG6PZCV7AM5LXWPSBBANCNFSM6AAAAAAZ5G74QQ . You are receiving this because you authored the thread.Message ID: @.***>

bpmacedo commented 10 months ago

After updating OBS Studio to v29.1.3 it doesn't open. I realized that "obs-ptz" is causing the problem.

For me, it doesn't crash but I can see the last line on the log file is:

13:15:41.136: [obs-ptz] plugin loaded successfully (version 0.15.4)

After removing the plugin files I can open OBS again and see the line bellow on the log file

13:17:03.660: ==== Startup complete ===============================================

@glikely any plans to update the plugin?


This plugin hasn't been updated since before OBS version 29 was released. I think there may have been changes to the targeted version of QT as part of version 29, which could be causing some of the issues. I am setting up a QT build environment to test if a more recent version of qtserialport will alleviate some of the issues.

@GeNTooGeek did you make any progress? Can I help anyway?

GeNTooGeek commented 10 months ago

Yes and no. This has been my first foray into QT and after a few trials to get the right version for the obs-studio source I had, I was able to build a worming copy of the plugin. But, I then realized the current master branch has moved to 30.0, not 29.1 and the plugin I built only worked on 30.0.

I ran out of time that night to redo my efforts and it looks like it will be into October before I will have time to try again.

So, while I don't have a working copy of the plugin that will work, I believe a new build of the QtSerialPort dll and the plugin with the appropriate 29.1 branch code will work.

bpmacedo commented 9 months ago

@GeNTooGeek, thx 4 the info and your time investigating it! I don't have problems waiting till the v30 release 😄

I act as a QA but don't have much knowledge to dive into programming, so I can't build it myself to test.

I'll figure out another way to control the camera too. Now I'm stuck on v29.0.2 because of this issue on the plugin.

GustavoAntonny commented 9 months ago

I hope it helps! QtSerialPort-6.4.3.0

GeNTooGeek commented 9 months ago

Yes, thank you. It was nice to not have to try re-compiling that. That version of the QTSerialPort works with 29.1.3. Just a note from the other issue. You can place the dll in the plugins/64bit folder along with the other plugin folders instead of in the obs-studio root fold.er

hamsterbaitor commented 5 months ago

I had this problem too. GustavoAntonny pointed me in the right direction, however the version of OBS I was using was built against qt 6.5.3 so I need to find the corresponding version of the serial port dll (i.e. 6.5.3) and then it worked!

bpmacedo commented 3 months ago

So, it's been a while...

@GustavoAntonny thx 4 the link. I followed and it worked! OBS PTZ works with OBS 29.1.3

But new releases are out and we have the problem pointed by @hamsterbaitor

@GeNTooGeek do you know where to get new versions of Qt6SerialPort.dll?

Thx in advance

hamsterbaitor commented 3 months ago

@bpmacedo I had some google searching, and found some compiled versions on the msys2 website (specifically here: https://packages.msys2.org/package/mingw-w64-x86_64-qt6-serialport). It wasn't immediately obvious to me which way to capture a specific build, so I manually edited the download link to a relevant one (in this instance https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-qt6-serialport-6.6.2-1-any.pkg.tar.zst) and it seemed to provide me with the compiled dll at the right version. However, I've since had issues with 30.1.1 generating some NVIDIA conflicts that I need to resolve before I can test if it works!

Tsaukpaetra commented 1 month ago

As a workaround, I personally was able to use a component of the com0com project to "tunnel" a local TCP port to the Serial port, specifically the com2tcp program

It looks like this: image

From there you can just connect to localhost like so, and it should just work transparently: image

Not sure about redistribution licensing, but it might be possible to process out to this program to make it slightly more seamless but this way you don't have a dependency on Qt that has to be recompiled for every version of Obs.

bpmacedo commented 3 weeks ago

@hamsterbaitor, thx 4 the links!

I just tested Qt6SerialPort.dll (checked repos mingw64, ucrt64 and clang64) v6.5.3.0 with OBS 30.0.2 and v6.6.2.0 with OBS 30.1.2 but it didn't worked 😢

the log file shows the error below

Module '../../obs-plugins/64bit/obs-ptz.dll' not loaded

Maybe, It's necessary to update the other files of the plugin (Qt6SerialPortd.dll, Qt6SerialPortd.pdb) to work.


I didn't test the workaround Tsaukpaetra pointed out because It seems to be a little complicated to use during the events

I think OBS 29.1.3 is the end of the line for the obs-ptz plugin until someone else finds a way to update the DLL files

hamsterbaitor commented 3 weeks ago

Thanks for the feedback @bpmacedo .

I think the workaround from @Tsaukpaetra will also be an issue as OBS isn't recognising the plugin at all, so can't fall back on VISCA over IP.

I'll try and have a look about building the plugin from source using updated Qt and see if that works, but I'm very much pushing the limits of my technical knowledge on this!

bpmacedo commented 3 weeks ago

@hamsterbaitor please let me know if I can help with this...

have you checked this other repo https://github.com/glikely/obs-deps-qtserialport ?


Some news!

I used the files Qt6SerialPort.dll, Qt6SerialPortd.dll, Qt6SerialPortd.pdb from the repo above (https://github.com/glikely/obs-deps-qtserialport/releases/download/2023-11-03-serialport/windows-deps-qt6-2024-01-03-x64.zip), and the plugin is now loaded in the OBS v30.0.2. I can't test it right now because the camera is turned off and I'm accessing the PC remotely

bpmacedo commented 2 weeks ago

Some news!

I used the files Qt6SerialPort.dll, Qt6SerialPortd.dll, Qt6SerialPortd.pdb from the repo above (https://github.com/glikely/obs-deps-qtserialport/releases/download/2023-11-03-serialport/windows-deps-qt6-2024-01-03-x64.zip), and the plugin is now loaded in the OBS v30.0.2. I can't test it right now because the camera is turned off and I'm accessing the PC remotely

hi! I just wanted to let you know that I tested the camera with these files above and it's working on OBS v30.0.2 👍

Unfortunately, it doesn't work with OBS v30.1+ The message below appears in the log file


Module '../../obs-plugins/64bit/obs-ptz.dll' not loaded