2

ScreenFlow Audio Driver & new T2 Macs

Link to FAQ

 

Timeline of events

  1. macOS does not provide an API for which to capture system audio. This necessitates workarounds to capture system audio.

  2. Older versions of ScreenFlow utilized a kernel extension (KEXT) to capture audio in macOS.

  3. In 2017, Apple began offloading the built-in speakers, and built-in audio jacks through a subsystem chip known as the T2 chip.

    a. This T2 chip does not respond to KEXT audio capture; no sound is captured.
  4. This rendered older versions of ScreenFlow unable to capture Audio.

  5. At the end of the ScreenFlow 7 life cycle, a new audio capture method was developed by the ScreenFlow team. This is referred to as our loop-back driver (HAL).

  6. This driver inserts itself as a virtual audio device, and passes all the audio that is sent to it back to the real audio output device of your choosing. This is automated to use whatever device was selected prior to beginning the recording with ScreenFlow.

    1. This inherently adds some latency, though minimal. 

    2. The vast majority of workflows do not see adverse effects from this latency.

    3. Highly sensitive workflows with respect to latency may observe adverse effects. The primary example would be Digital Audio Workstation (DAW) workflows, as these need to be as close to real time as possible.

  7. Kernel Extensions (KEXTs) are now viewed poorly relative to security, and with good reason. Signs indicate that KEXTs will be completely disallowed in future versions of macOS.

F.A.Q.s

  • I do not have a newer mac that has a T2 chip. Why must I use the new HAL audio capture method?

    • As indicated in #7 above, KEXTs will be phased out. As every day passes by, we are closer and closer to the end of KEXT audio capture even being an option.

  • Why can’t I choose which driver to use?

    • Implementing both capture methods in ScreenFlow would be highly complex. 

    • It would also be short lived. macOS 10.14 requires you explicitly allow the addition of the KEXT as well. This does not meet MacApp store developer guidelines either, and therefore in not allowed.

  • I did not use the MacApp store to purchase ScreenFlow. Do you still have the KEXT option in ScreenFlow when sold direct from Telestream?

    • Unfortunately, no. Maintaining multiple variants of a product would be highly ineffective for many reasons. We already must maintain two branches due to limitations when distributing via the MacApp store. A third variant is not viable.

  • Sometimes, certain programs will not be captured with the newer HAL driver. Why?

    • Some applications are not set to use the system default audio device. Therefore when we switch the outputs, the program does not follow. Applications like this must be manually set to use the new HAL virtual audio output driver.

  • This is just not as easy as it used to be. What can I do?

    • The best solution would be for Apple to create an audio capture API in macOS. The more people that ask for it, the more likely it will happen! We have submitted requests ourselves as well.

    • For now, applications that require real-time audio response should be treated as they were before software audio capture was an option. Unfortunately, this requires additional cables and in many cases, additional hardware. However, this is the best practice method whenever working with real time audio. This often means you are taking the audio output, splitting it to a set of speakers, with the other side of the split leading to a line-in jack to be recorded.

    • To deal with applications not being recorded, please always perform a test recording to avoid losing valuable work.

Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
Like2
  • 2 Likes
  • 4 mths agoLast active
  • 131Views
  • 1 Following