Post

Replies

Boosts

Views

Activity

Reply to Need to get the frames of an animation for streaming in 3rd party video format (macOS)
When optimising the first proof of concept, a major problem shows: It works fine as long as the content to capture is onscreen. As I said, I'm streaming, I'm creating content that is not meant to be shown on the Mac screen. There is just a window controlling the scoreboard. As soon the capture window is offscreen, the output is stopped. macOS does not want to waste computing power rendering invisible screens. The interface of SCShareableContent.excludingDesktopWindows(true, onScreenWindowsOnly: false) is misleading here. It means "partially offscreen windows". Windows completely offscreen will not even be offered as possible content. All I can do is keeping a pixel of the output window onscreen and change it frequently, but first of all this is tinkering around and secondly the animations get jerky. Is there no way to prevent macOS from "optimising" the rendering this way? And if not, what would be another approach? Forget about the macOS animations and do everything yourself?
Jun ’24
Reply to Need to get the frames of an animation for streaming in 3rd party video format (macOS)
I implemented your suggested approach with ScreenCaptureKit and reached good results. I had some doubts whether this would deliver the alpha channel as needed (for keying in the switcher), but it does. Now I have nice animations in the stream. Just one detail, I can live with it, but I wonder if there is a solution: Since I want 50 frames per second I set the minimumFrameInterval in the SCStreamConfiguration to CMTime(value: 1, timescale: CMTimeScale(50)) What I receive is around 47 frames. Is there way to get a more precise interval? With requesting 25 fps I receive 23 or 24 frames per second. The interval is most of time slightly above the calculated value (1-4 microseconds) and this sums up. I understand that the parameter says MINIMUM frame interval. Anyway, thank you for the answer, I was able to get things done!
Jun ’24
Reply to Xcode 15.3 crippled with "internal inconsistency error"
I'm seeing similar problems here. When adding a control in an XIB, adding an IBOutlet in ViewController (iOS, Swift), and running the app using "Product -> Run" with target "My Mac (Designed for iPad)" the new control is not there, and the corresponding variable is also not visible in the source code debugger. Looks to me as if the Xcode has not recognised the changes and did not recompile the source files. After doing a "Clean Build folder" the control is shown and the variable is also there. Earlier I also had to "Clean Build folder" after upgrading to Xcode 15.3, otherwise breakpoints did not work.
Mar ’24