Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO: for Multicam 0.4.0 update #55

Closed
13 of 14 tasks
mikedmor opened this issue Jun 1, 2023 · 8 comments · Fixed by #57
Closed
13 of 14 tasks

TODO: for Multicam 0.4.0 update #55

mikedmor opened this issue Jun 1, 2023 · 8 comments · Fixed by #57
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@mikedmor
Copy link
Owner

mikedmor commented Jun 1, 2023

Currently this plugin is under development to restore functionality for updates introduced in Octoprint 1.9.0. You can find the current progress under the 'rc' branch in this repository. Any assistance with this is welcomed.

  • Migrate python to utilize new webcam interfaces (BugFix: to be released with Octoprint 1.9.1) - rc4 no longer requires 1.9.1 and will now work for 1.9.0!
  • Remove any code that adjusted the webcam dom previously
  • Setup new multicam.jinja2 template for displaying the webcams
  • Reimplement restart required message as templates need to rebuild upon changes
  • Fix issue with mirror, flip not applying
  • Fix issue with rotate, and aspect ratio not applying
  • Fix visibility binding issue with reuse of the webcam template which breaks all webcams but the first one
  • Fix webcam loading message and error messages not triggering correctly when a feed does not load. Currently it will always show that the webcam is loading even if an error occurs.
  • Adjust plugin to no longer rely on Classic Webcam for Default entry
  • Refactor plugin so that the settings and webcam displays are in two separate js files for easier maintainability.
  • Add Mjpg webcam types (see classicwebcam implementation)
  • Fix 'VM for webcam #webcam_plugin_multicam_3 not found, skipping visibility update' console messages
  • Add Hls webcam types (see classicwebcam implementation)
  • Add WebRTC webcam types (see classicwebcam implementation) May be implemented in the future if there is enough support
@mikedmor mikedmor added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Jun 1, 2023
@mikedmor mikedmor self-assigned this Jun 1, 2023
@mikedmor mikedmor pinned this issue Jun 1, 2023
@chrisjq
Copy link

chrisjq commented Jun 1, 2023

Hey, happy to help if you want to add me as a contributor so I can submit some PR's for you. New to octoprint plugins but out of necessity have updated it locally for me to work, put a patch in a previous post but have subsequently updated it as broke the preview in settings. Also I suggest we could do a 0.3.1 plugin update just to keep it working with Octoprint 1.9.0 before 0.4.0 is complete.

@mikedmor
Copy link
Owner Author

mikedmor commented Jun 2, 2023

Hey @chrisjq the easiest way is to just fork the rc channel as that is where all the progress is being made. After making changes, you should be able to submit a PR from your forked repo and i can review those adjustments and pull them into the project. Please note the Octoprint BugFix when loading the plugin, as there is a bug with the core module in octoprint that is going to be fixed in version 1.9.1, but the updated core.js file can be found at that link and manually updated in the meantime. Thank you for offering assistance!

Once the multicam.jinja2 and a bit more of the multicam.js file have been updated i plan to release it as 0.4.0RC1 as that should be all that is left to get things working again at a bare minimum. The other todo in this list will be the full 0.4.0 release which should add some extra camera type features and refactoring things to simplify future improvements.

@mikedmor
Copy link
Owner Author

mikedmor commented Jun 3, 2023

Quick update. I have a semi working version ready for when Octoprint 1.9.1 releases.

To get the new update you first will have to update to version 0.3.1 to have access to the RC channel via "Software Update" in the settings. After getting version 0.3.1, you can then go to "Software Update" and switch MultiCam to the "Release Candidate" channel to get version 0.4.0rc1.

Please note that there are still quite a few bugs that need to be worked out, it does however work better than 0.3.0 currently.

Another note is that currently in Octoprint 1.9.0 this plugin forces you into safemode as there are some bugs with the core of octoprint that will require to be patched. If you would rather not wait for 1.9.1 to release, you can manually update your core using the code posted to the Octoprint Repository: OctoPrint/OctoPrint#4818

@mikedmor mikedmor removed the help wanted Extra attention is needed label Jun 5, 2023
@mikedmor
Copy link
Owner Author

mikedmor commented Jun 5, 2023

rc3 has now been released. This release addresses a bunch of issues, and implements HLC with a few bugs that need to be addressed. I unfortunately do not have the time to work on RTC playback, but if there seems to be enough people looking for that I will look into adding it in a future update.

There may be one more rc version that addresses a few additional bugs and QOL stuff, but besides that version 0.4.0 will be released shortly after Octoprint 1.9.1 is released which addresses a few bugs with octoprint needed to make this plugin work.

Any additional feedback regarding HLS playback is welcomed.

@opjose
Copy link

opjose commented Jun 5, 2023

Does RC3 work with 1.9.0?

RC2 did not seem to.

Thanks!

@mikedmor
Copy link
Owner Author

mikedmor commented Jun 6, 2023

Does RC3 work with 1.9.0?

RC2 did not seem to.

Thanks!

rc3 does not, however rc4 was released today which does address the issues with 1.9.0 and should be working now without needing to wait for the 1.9.1 patch.

@mikedmor mikedmor linked a pull request Jun 6, 2023 that will close this issue
@cp2004
Copy link
Contributor

cp2004 commented Jun 6, 2023

Depending on OctoPrint 1.9.0 in setup.py will not block installation on an older version, but it has the side effect of also upgrading OctoPrint alongside this plugin. I would say that's not ideal, since the users won't know necessarily that they will also get the new OctoPrint version. Edit: see #59

@mikedmor
Copy link
Owner Author

mikedmor commented Jun 6, 2023

Depending on OctoPrint 1.9.0 in setup.py will not block installation on an older version, but it has the side effect of also upgrading OctoPrint alongside this plugin. I would say that's not ideal, since the users won't know necessarily that they will also get the new OctoPrint version. Edit: see #59

Thank you @cp2004 - I just pushed rc5 to prevent that from happening. I agree that is not good practice to automatically upgrade octoprint when my plugin is updated, I had assumed that was the correct way to achieve blocking installs by reviewing another plugin that did something similar. Appreciate the help in pointing that out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants