New module for live backgrounds#100
Conversation
…afety & type safety, logic cleanup
|
General question: would it maybe make sense to use GStreamer instead for the whole video streaming thing? (IIRC you can use GStreamer pipelines as a video capture device in OpenCV, although I'm not 100% sure anymore about how.) |
|
Would be interesting to take the contents of another window as background … Not sure if GStreamer allows for that (but IIRC it somehow did) … |
I've looked at GStreamer a little, while considering a module to connect libbackscrub into the ecosystem, it's quite invasive to the programming style (ie: you end up writing a GApplication and supporting paraphernalia), so I wouldn't be keen to adapt this codebase (it would be a re-write), instead continue with creating a module that other GStreamer apps can use. |
| std::this_thread::sleep_for(del); | ||
| } | ||
| proc = std::chrono::steady_clock::now(); | ||
| proc += std::chrono::nanoseconds((long)(1e9/pbkd->fps)); |
There was a problem hiding this comment.
What about dropping frames when too slow?
There was a problem hiding this comment.
Good question - if we run out of cycles simply reading frames.. we have bigger problems? Difficult to drop frames on network streams (especially if they are http-like streams), so non-trivial to do this I think?
|
..and now I remember that the usage text should probably change 😄 bug fix incoming! |
New code module to handle backgrounds, and in particular live backgrounds from local files or network streams.
Partly addresses #70, in that backgrounds are now a more flexible item, although no UI is present to select one while running.
Also partly addresses #43, in that video backgrounds are now possible.