-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Support custom IP camera #3415
Support custom IP camera #3415
Conversation
Good job, not possible to display both together or the external camera in popup windows? |
HTML5 video has picture-in-picture out of the box so should be easy to implement. It's available in the native controls that I hid to get more integrated look, but it could be called via its API. Showing both at the same time shouldn't technically be hard either, but I don't know what is the best way to arrange the videos, or maybe the arrangement should be user adjustable, and then it becomes a hard UX task :) Both if these could be future PRs though |
I am asking because I have 2 cameras on my printer - one is stock from Bambu, the second one is IP camera attached on the frame. I would like to see both pictures on one screen or at least the second IP camera in the popup window. |
d49b0af
to
ad1253c
Compare
Added partial support for viewing the custom camera in a popup window, only works for videos that are in a |
Great, thank you |
ad1253c
to
aeee23c
Compare
Builds from this branch can be found from my fork here EDIT: rebased and now also Mac build works: https://github.com/stuomas/OrcaSlicer/actions/runs/7413929430 |
b99ccf0
to
52c5dfb
Compare
Thank you! |
52c5dfb
to
98f0f94
Compare
(rebased)
Thank you, let me know if you want some changes! |
98f0f94
to
528aaae
Compare
Allow adding custom IP camera source while keeping possible built-in bambulab camera also functional and add button to switch between them. This uses WebView widget to show the stream. Upon loading the page, javascript is used to remove native controls and scroll- bars for aesthetic reasons.
HTMLVideoElement supports picture-in-picture video but the dedicated control is hidden in this implementation to have more integrated look in OrcaSlicer. Add right-click listener to the camera switch icon that opens the video element in a PiP window. Only works when the video is in <video> HTML element, so for example MJPEG streams in <img> element won't work.
528aaae
to
52b2f6d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
I don't have IP cam so I can't test it by myself. |
Awesome to see our idea come to life! Of course all credit to stoumas for the work, but I knew there had to be someone that was interested in it as much as me when I first brought it up! |
Would it work with ONVIF or RTSP camera feeds? |
wxWebView is basically a web browser, so any URL that plays in your browser should work in here. If you're stuck with RTSP, you could use some intermediate media server (like Node-Media-Server) to create a webpage that plays that stream |
Could this work with a web security camera, like the Wyze? |
This allows adding a custom IP camera source from the camera settings popup. Camera stream is shown in a WebView widget with native controls and possible scrollbars stripped away. Original bambulab camera also remains functional if one exists, and a button is added to toggle between them.
Tested on Windows with Bambu Lab P1S.
Demo:
![pr_gif](https://private-user-images.githubusercontent.com/16635041/293594031-c6686b7e-44db-4bc3-af57-bcc576517448.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NjYxMjksIm5iZiI6MTczOTk2NTgyOSwicGF0aCI6Ii8xNjYzNTA0MS8yOTM1OTQwMzEtYzY2ODZiN2UtNDRkYi00YmMzLWFmNTctYmNjNTc2NTE3NDQ4LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDExNTAyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNlNDNlYTBmZDZhODlkZGQ0YmM4MTY1ODk5M2MwZGI4NGViNjY4NTQ1OTM5NTI1ZDc1MDI4YzBlNmM5MTU2YWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hSHNmIUXqWgnx5yJI_yXej5piCOrfboZnEm_yTM4D_s)