@finnvoorhees@mastodon.social
@finnvoorhees@mastodon.social avatar

finnvoorhees

@finnvoorhees@mastodon.social

This profile is from a federated server and may be incomplete. Browse more on the original instance.

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Put together some reference code for how you can implement something like Final Cut Camera yourself (realtime video streaming between iOS/macOS/visionOS).

It's not meant to be added as a dependency or used as is, but shows how you can get something like this working with ~1500 LOC of Network.framework and VideoToolbox.

https://github.com/finnvoor/LocalVideoStreaming

stroughtonsmith, to random
@stroughtonsmith@mastodon.social avatar

I filed a radar in 2020 asking for an API to do what Apple's new Final Cut Camera live multi-cam mode does, because I had a specific project in mind.

(It went about as well as you might expect. Result: no API, but Apple implemented the feature for themselves in their $5/mo app I guess? 🤷‍♂️)

Thank you for filing this feedback report. We reviewed your report and determined the behavior you experienced is currently functioning as intended. Thank you for your feedback.

finnvoorhees,
@finnvoorhees@mastodon.social avatar
finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith definitely would be nice to be built in. FWIW this is:

  1. As simple as possible, ~1500 LOC using just Network.framework and VideoToolbox
  2. Dependency free
  3. CC0, so you're free to just copy it into your project, tweak it, whatever.

Hopefully provides a good reference for anyone trying to do something like this.

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith yeah you need to create an AVCaptureSession if you want to stream the camera, and send the frames using Networking.send(CVPixelBuffer)

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith nice! LMK if you have any questions about the encoding/networking

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith do you mean multiple streams from one device to another, or multiple devices to one?

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith For that you'll need one NWConnection per device, you can probably get by for now with multiple Networking classes + multiple bonjour types and hardcoding them on each device.

Ultimately you'd want to create a more complicated server class to find and store multiple connections, and one video decoder for each connection.

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

One major release of FCP for iPad later and still no “Third-party content (coming soon)" that they announced a year ago.

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Can’t believe they got those special guests on for an exclusive never-before-seen interview
https://mastodon.macstories.net/@viticci/112354348720739311

stroughtonsmith, to random
@stroughtonsmith@mastodon.social avatar

All the RAM and virtual memory in the world didn’t stop Final Cut Pro for iPad from cancelling an export the moment I switched to another app in Stage Manager for a split second🥴

image/jpeg

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@stroughtonsmith I'm guessing this is due to iOS blocking GPU work for backgrounded apps, surprised they don't have a private entitlement for it though.

https://developer.apple.com/documentation/metal/gpu_devices_and_work_submission/preparing_your_metal_app_to_run_in_the_background#overview

simon, to random
@simon@simonwillison.net avatar

Some notes on running Whisper transcriptions on the macOS command-line using whisper-cpp and ffmpeg, both installed from Homebrew https://til.simonwillison.net/macos/whisper-cpp

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@simon WhisperKit is another option available on homebrew that doesn’t require any audio preprocessing. It runs primarily on ANE instead of GPU.

https://github.com/argmaxinc/WhisperKit

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

The evolution 🧠

matt, to random
@matt@isfeeling.social avatar

New video! 10 useful Mac apps you may not have heard of

Although this crowd has probably heard of at least a few of these 😘

https://youtu.be/CHrMLowLpDY

finnvoorhees,
@finnvoorhees@mastodon.social avatar

@notverypc @matt @nileane yep, hoping to release it soon, just need to make a better icon. TestFlight here: https://testflight.apple.com/join/NnJV6ZTU

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Looks like iOS 18 will have a new “writing tools” UI overlay, possibly presenting some AI-assisted writing tools? 🤔

https://x.com/_mihhail/status/1779816919278768462?s=46

finnvoorhees,
@finnvoorhees@mastodon.social avatar

big apple got to this tweet, clearly it got too close to the truth

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Interesting paper from Apple on training an LLM to understand iOS UI:

https://arxiv.org/abs/2404.05719

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Someone had to do it 👀

https://github.com/finnvoor/PlaydateKit

finnvoorhees,
@finnvoorhees@mastodon.social avatar

PlaydateKit now has wrapper types that automatically handle memory management for most of the types returned from the C API, meaning you should (almost) never have to interact directly with the C API / pointers.

finnvoorhees,
@finnvoorhees@mastodon.social avatar

and now there's PlaydateGame, a protocol similar to UIApplicationDelegate that receives game lifecycle events

finnvoorhees,
@finnvoorhees@mastodon.social avatar

Going back and forth on whether PlaydateKit docs should use DocC Tutorials or Articles... It's really nice to have images that update with each step when using a Tutorial, but it's much easier to scroll around / quickly get an overview with an Article, much more like a blog post.

image/png

finnvoorhees,
@finnvoorhees@mastodon.social avatar

PlaydateKit now has step-by-step instructions on getting started building and running a game on the Playdate simulator using Swift

https://finnvoor.github.io/PlaydateKit/documentation/playdatekit

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

Creating Playdate games with Xcode finally convinced me to order one...

video/mp4

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

I considered adding shortcut group presets to shortcut buttons, but instead discovered a simple trick to avoid having to add more features myself: just add shortcut actions and let the nerds make shortcuts for whatever features they want ⚙️
https://mastodon.macstories.net/@viticci/112065989265975558

finnvoorhees, to random
@finnvoorhees@mastodon.social avatar

🚨 New app alert 🧭

Supercopy for Safari is a super simple Safari extension that adds a single keyboard shortcut: copy the URL of the current tab to the clipboard with ⌘+⇧+C, something I desperately missed from other browsers.

Now on TestFlight for macOS, iPadOS, and visionOS

https://testflight.apple.com/join/NnJV6ZTU

finnvoorhees,
@finnvoorhees@mastodon.social avatar

I suppose I’ll be releasing this soon

finnvoorhees,
@finnvoorhees@mastodon.social avatar

🧭 Supercopy is out now for macOS, iOS, and visionOS!

It’s a really simple Safari extension that adds a keyboard shortcut for copying the current tab's URL to the clipboard (⌘+⇧+C).

Download for free:
https://apps.apple.com/app/apple-store/id6477720316?pt=120542042&ct=mastodon&mt=8

  • All
  • Subscribed
  • Moderated
  • Favorites
  • normalnudes
  • mdbf
  • ngwrru68w68
  • thenastyranch
  • magazineikmin
  • hgfsjryuu7
  • DreamBathrooms
  • Youngstown
  • slotface
  • ethstaker
  • PowerRangers
  • everett
  • kavyap
  • rosin
  • anitta
  • vwfavf
  • osvaldo12
  • InstantRegret
  • cisconetworking
  • tacticalgear
  • cubers
  • khanakhh
  • Durango
  • GTA5RPClips
  • Leos
  • tester
  • modclub
  • provamag3
  • All magazines