-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MixMonitor not recording with Opus #13
Comments
Not sure how MixMonitor is used with Dial (assuming you're recording regular calls, right?), maybe it creates a fake "call"/channel to do Opus->slin transcoding? It appears to be working fine when we use it with ConfBridge, but in that case the media MixMonitor is receiving from the bridge is plain sln16 so easy to manage. |
I'm debugging MixMonitor and Opus now.
On incoming calls I have the following:
You should see the difference. |
and 48000 and 8000 is a sampling rate according to the source code |
After extensive debugging I found out that MixMonitor cannot be used for call recording of calls when caller uses Opus with sample rate other than 8000 if you start MixMonitor before the call has been connected. |
@lminiero I've also been doing some testing with ConfBridge and MixMonitor as well. Do you know why MixMonitor receives slin16 audio? I have specified a ConfBridge sample rate of 48kHz and an output file of .slin48 yet the resulting file is still slin16 audio when I analyze it using a spectrogram. If I can narrow down the issue I may try to fix it or put in a request to have it fixed in Asterisk. |
IIRC it depends on what you use as the MixMonitor target. If you specify a .wav filename, you'll get a narrowband (8khz) file. If you ask for a .wav16 file, you'll get a wideband (16khz) recording. So it's MixMonitor that asks for lower sampling rates according to what it requires, and the Opus codec just reacts accordingly. |
Interesting. I have been specifying .slin48 for a 48kHz file yet the resulting recording is never any higher than 16kHz. I've done some research on Asterisk issues and the source code and from what I can tell MixMonitor just uses the sample rate of the specified file format however the issue may be deeper (audiohook.c maybe) in that Asterisk may not support 48kHz internally. The initial fix for MixMonitor here https://reviewboard.asterisk.org/r/1314/ was not tested thoroughly as the author used a qualitative test (the audio sounds betters) versus a quantitative test (frequency domain analysis). I understand this is getting out of the scope of the Opus codec but I would like to thank you for what you've done with this patch. I really appreciate it. |
Thanks for your kind words! |
allow iLBC transcoding, fixes meetecho#13
Recently compiled Asterisk 11.17 with this patch.
The codec itself works great, no issues so far.
However, when MixMonitor starts recording my outgoing calls when I'm using Opus codec the recorded .wav file appears to be empty.
When I'm making calls with any other codec the recordings are ok.
What can be wrong with Opus?
The text was updated successfully, but these errors were encountered: