Kap icon indicating copy to clipboard operation
Kap copied to clipboard

Record computer audio

Open Partysun opened this issue 7 years ago • 31 comments

Hi, it's an awesome app! Thank you..
I suggest new feature - recording computer audio. (like in screenFlow app) Now we can record mic, but sometimes users will try to record audio from his apps/demos.

screenshot 2017-02-14 22 23 02

Partysun avatar Feb 14 '17 17:02 Partysun

The only way to achieve this with macOS Sierra, because of System Integrity Protection, is an Apple signed and approved kernel extension. That is what Screenflow does. I don't think we'll be able to do that.

What we could do is to have a link in preferences that opens a guide on how to achieve it with Kap, using Soundflower (free) or Loopback (free for 20min per recording).

There's a good guide here: http://blog.monosnap.com/how-to-record-video-with-the-system-audio/

sindresorhus avatar Feb 14 '17 17:02 sindresorhus

I found this, which could potentially go some ways to making this a possibility but I fear that the added complexity could be a pain in the butt - https://github.com/ZECTBynmo/node-core-audio

doot0 avatar Feb 23 '17 08:02 doot0

is it possible to record audio from app if I turn of SIP? It is really needed feature to be able to record video and audio from app for demo purposes.

ahrorkosimi avatar Feb 24 '20 03:02 ahrorkosimi

@Partysun @doot0 @ahrorkosimi (or anyone else following this)

Could you guys test our work in progress solution for this? We are utilizing soundflower as described above, but created a plugin which takes care of creating the devices, setting them during the recording and cleaning up after.

To test, you'll need to install soundflower first, and then download this build, go to Preferences -> Plugins, install soundflower, and try to record.

You can also try messing with the plugin settings, but by default, you should be able to record system audio, while also being able to hear it while recording, and it should record system audio in addition to your specified input source (if any).

karaggeorge avatar Mar 05 '20 17:03 karaggeorge

@karaggeorge that build worked great for me! I didn't have to change any of the plugin settings for it to pick up both my mic and the system audio.

It wasn't immediately clear to me what the volume setting in the plugin was supposed to do. I was afraid I would have to adjust it to keep my speaker volume consistent when toggling recording on and off, but it seems like more of an advanced setting that should be ok staying at 1 in most cases. Maybe it should be moved below the "combine input/output" settings since users are more likely to want to change those?

meshulam avatar Mar 06 '20 15:03 meshulam

Since Soundflower is MIT, is there any way to package it with Kap and have it installed seamlessly alongside the Kap installation?

Instead of a separate Soundflower installation.

aantix avatar Mar 17 '20 05:03 aantix

@Partysun @doot0 @ahrorkosimi (or anyone else following this)

Could you guys test our work in progress solution for this? We are utilizing soundflower as described above, but created a plugin which takes care of creating the devices, setting them during the recording and cleaning up after.

To test, you'll need to install soundflower first, and then download this build, go to Preferences -> Plugins, install soundflower, and try to record.

You can also try messing with the plugin settings, but by default, you should be able to record system audio, while also being able to hear it while recording, and it should record system audio in addition to your specified input source (if any).

Is it possible to record only the System Sound (without the build-in micro) AND is it possible to record the System-Audio without playing it over the speakers? that would be great!

dcst55 avatar Mar 23 '20 10:03 dcst55

Hey @dcst55 ,

yeah both of those are possible. For the microphone one, you could just disable audio recording in Preferences, or use the plugin settings to only record system sound. The second one can only be disabled in the plugin settings. To get there, open Preferences -> Plugins -> soundflower -> click the pencil icon, and then adjust the settings as you see fit. Let me know if any of them don't work for you

karaggeorge avatar Mar 23 '20 13:03 karaggeorge

@meshulam

You're right, I can move that down more. That is the volume at which the system sound will be played in the recording. Do you think a setting for what the computer (speaker) volume should be set to or is keeping it to where the user had it before the recording is ok?

karaggeorge avatar Mar 23 '20 13:03 karaggeorge

@aantix

Not sure how we can package the kernel extension within Kap and have that install at the same time, since it needs extra permissions, and some people might not need this feature. This is something that ideally would package with the plugin, but I'm not sure that's possible

karaggeorge avatar Mar 23 '20 13:03 karaggeorge

Hey @dcst55 ,

yeah both of those are possible. For the microphone one, you could just disable audio recording in Preferences, or use the plugin settings to only record system sound. The second one can only be disabled in the plugin settings. To get there, open Preferences -> Plugins -> soundflower -> click the pencil icon, and then adjust the settings as you see fit. Let me know if any of them don't work for you

it dont work for me...

I get the following Error Message:

Error: Built-in Microphone is not an output device
    at throwIfStderr (/Users/<USER>/Library/Application Support/Kap/plugins/node_modules/macos-audio-devices/index.js:22:11)
    at module.exports.<computed> (/Users/selcuk/Library/Application Support/Kap/plugins/node_modules/macos-audio-devices/index.js:11:12)
    at async Object.willStartRecording (/Users/selcuk/Library/Application Support/Kap/plugins/node_modules/kap-soundflower/index.js:68:5)
    at async /Applications/Kap.app/Contents/Resources/app.asar/main/common/aperture.js:39:7
    at async Promise.all (index 0)
    at async Object.startRecording (/Applications/Kap.app/Contents/Resources/app.asar/main/common/aperture.js:129:3)

dcst55 avatar Mar 24 '20 06:03 dcst55

@Partysun @doot0 @ahrorkosimi (or anyone else following this)

Could you guys test our work in progress solution for this? We are utilizing soundflower as described above, but created a plugin which takes care of creating the devices, setting them during the recording and cleaning up after.

To test, you'll need to install soundflower first, and then download this build, go to Preferences -> Plugins, install soundflower, and try to record.

You can also try messing with the plugin settings, but by default, you should be able to record system audio, while also being able to hear it while recording, and it should record system audio in addition to your specified input source (if any).

will Soundflower be compatible with MacOS Catalina? I'm using MacOS Catalina and it don't work stable for me...

dcst55 avatar Mar 24 '20 07:03 dcst55

Hey @dcst55 ,

yeah both of those are possible. For the microphone one, you could just disable audio recording in Preferences, or use the plugin settings to only record system sound. The second one can only be disabled in the plugin settings. To get there, open Preferences -> Plugins -> soundflower -> click the pencil icon, and then adjust the settings as you see fit. Let me know if any of them don't work for you

it dont work for me...

I get the following Error Message:


Error: Built-in Microphone is not an output device

    at throwIfStderr (/Users/<USER>/Library/Application Support/Kap/plugins/node_modules/macos-audio-devices/index.js:22:11)

    at module.exports.<computed> (/Users/selcuk/Library/Application Support/Kap/plugins/node_modules/macos-audio-devices/index.js:11:12)

    at async Object.willStartRecording (/Users/selcuk/Library/Application Support/Kap/plugins/node_modules/kap-soundflower/index.js:68:5)

    at async /Applications/Kap.app/Contents/Resources/app.asar/main/common/aperture.js:39:7

    at async Promise.all (index 0)

    at async Object.startRecording (/Applications/Kap.app/Contents/Resources/app.asar/main/common/aperture.js:129:3)

Hey @dcst55

Can you please share what settings you had on when you got this error? That seems like a plugin error which I can work on fixing

As per the Catalina issue, I am not sure. We don’t have any connection with Soundflower so you might have to wait for them to get a stable build for Catalina. I’m on 10.14 myself so I can’t test on Catalina

karaggeorge avatar Mar 24 '20 12:03 karaggeorge

This worked great for me on Catalina 👍

leafac avatar Sep 21 '20 23:09 leafac

Soundflow isn't available on Apple silicon. Is there an alternative? I couldn't get it to work with Blackhole 2ch.

devnoname120 avatar Apr 30 '22 19:04 devnoname120

@devnoname120 I use BlackHole on a Mac with the M1 processor. I can assist you in getting it working if you provide some more information. What you tried, what went wrong, what error messages you saw, and that sort of thing.

leafac avatar May 03 '22 10:05 leafac

@leafac I can confirm that I've followed https://github.com/ExistentialAudio/BlackHole/wiki/Multi-Output-Device and https://github.com/ExistentialAudio/BlackHole/wiki/Aggregate-Device — it works now! My virtual devices were not properly configured.

devnoname120 avatar May 03 '22 11:05 devnoname120

Here's YouTube video of how to install BlackHole

https://www.youtube.com/watch?v=F67Jj5QCct8

seahindeniz avatar Jul 06 '22 17:07 seahindeniz

So once we have BlackHole setup is there a way to route it through to Kap?

Seems like this still needs to be added.

5 year old issue.

Is someone working on adding this?

eisenbruch avatar Oct 13 '22 18:10 eisenbruch

Kap is open-source, you are more than welcome to take a look at this issue @eisenbruch!

timothyis avatar Oct 14 '22 10:10 timothyis

Found an easy way to record what I need:

  • install Background Music
  • set it as a microphone to Kap
  • ✅ you are recording "internal sound"

To mix with microphone:

  • create new aggregate device
  • set add you mic and BackgroundMusic
  • ✅ use it as microphone for Kap

Mac 13.0 will add support for audioCapture for ScreenCaptureKit - https://developer.apple.com/documentation/screencapturekit/scstreamconfiguration/3955571-capturesaudio, until then I haven't found a good way to tap into computer audio. However Zoom shares music without any problem. There should be a way....

thearnica avatar Oct 20 '22 10:10 thearnica

  • install Background Music
  • set it as a microphone to Kap
  • ✅ you are recording "internal sound"

Can confirm this works. Thanks @thearnica ! Didn't know about the Background Music app

eisenbruch avatar Oct 20 '22 14:10 eisenbruch

Thank you for sharing this @thearnica!

timothyis avatar Oct 20 '22 14:10 timothyis

omg, Mac 13 is released, implement it natively plz

ilqvya avatar Oct 31 '22 20:10 ilqvya

  • install Background Music
  • set it as a microphone to Kap
  • ✅ you are recording "internal sound"

Can confirm this works. Thanks @thearnica ! Didn't know about the Background Music app

Hey, I just found an easer way to record screen with all sounds

  • install Background Music
  • Press Command + Shift + 5
  • Select "Background music" microphone in options

ilqvya avatar Nov 01 '22 19:11 ilqvya

There's no need to speak like that and be negative @effolkronium.

I appreciate that you edited your post, but your post is not helpful to this issue.

timothyis avatar Nov 01 '22 19:11 timothyis

Imagine thinking screen recording with Apple's built-in tool is superior to Kap

eisenbruch avatar Nov 02 '22 01:11 eisenbruch

OBS program is able to capture screen audio without any crutches starting from macos 13

ilqvya avatar Nov 22 '22 16:11 ilqvya

Thanks for your input @effolkronium, but I'd like to reiterate that this thread is not a topic to share the benefits of other apps. This is counter-productive. I'm quite happy if you prefer using alternative software, but please stay on topic in this thread or don't take part.

timothyis avatar Nov 22 '22 22:11 timothyis

any update or alternative?

birobirobiro avatar Mar 06 '24 22:03 birobirobiro