Plivo has mentioned on their Voice SDK features that Plivo supports Dual-channel call recording
and Recordings are dual-channel by default and stored encrypted. However I do not see where to get two different audio urls from the call recording.
Does anyone has idea how to do it?
Plivo makes mono recordings of conference calls and stereo recordings of regular calls. Having said that, for dual-channel recording(stereo) Plivo provides the audio of both the participants in separate channels.
You can listen to the audio of:
participant1 channel (the left speaker when played with stereo speakers).
participant2 channel (the right speaker when played with stereo speakers).
Hope this is helpful, please refer to our Record Calls guide for more details about the recording feature. Thanks!
Related
Hi would like to know if for example my own audioTrack is muted and I started speaking while muted it can return an event, this will be similar to teams to tell you that you are muted.
Probably the general question if we are able to track AudioEvents while speaking? Because I believe that dominant speaker is the only audio speaking event I see on Twilio. Any hints in obtaining the audio speaking event would be great.
Twilio developer evangelist here.
It sounds like you are using Twilio Video (since you mention dominant speaker events). Twilio Video itself doesn't have "audio speaking" events, neither does the web platform itself.
You can however do some audio analysis in the browser to tell whether a person is making noise and you can compare that to whether their audio track is currently enabled in order to show a warning that they are speaking while muted.
To do so, you would need to access the localParticipant's audio track. From that you can get the underlying mediaStreamTrack, turn it into a MediaStream and then pass it to the web audio API for analysis. I have an example of doing this to show the volume of localParticipant's audio here: https://github.com/philnash/phism/blob/main/client/src/lib/volume-meter.js.
Once you have that volume you can then choose a threshold where you decide a user is trying to speak and then compare whether that threshold is broken while the user is muted.
Let me know if that helps.
I'd like to be able to capture the audio from the audio card of my computer and to dispatch it with WebRTC. However, I am not sure if it's possible or not to have access to the audio directly produced by my computer.
According to this repo https://github.com/niklasenbom/RecordingApp/blob/master/app.js there is a system audio stuff but not sure if it's what I'm looking for.
Thanks,
You can do it by using NAudio. Actually I did the same project myself and will put it in GitHub in a few weeks and update this answer. You can configure the frequency etc. and use it's OnDataAvailable event to dispatch the sound to registered clients.
We recently built a demo application utilizing Kurento Media Server to record applicant video interview, but the audio quality is not well , some audio is not recognizable and some of it had high pitch noise. We've been test it on several models of PC or Mac, so this should not be device problem.
We've been using RecorderEndpoint with media profile MediaProfileSpecType.WEBM ,and all other setting remain as default.
To fix this problem, we tried:
We upgrade to Kurento 6.2.1 which use Opus as the audio encoder.
Try to using setMaxOuputBitrate of the recorder, we don't see it has improvements or I don't know which bit rate range can be used.
Change SDPOffer to setup a high bit rate audio for Opus which we don't know where to modify
None of it is working so far, so please tell us where to look.
Thanks.
Please check with this recording tutorial. The audio should be fine. Just make sure you are only sending audio, and not video. That should help.
If the audio is not being recorded correctly, I would try and hear what's coming out of your box through your browser. Try and run the hello-world tutorial, with a pair of headphones connected to your box so you don't have echoes.
About #2, if you want to raise the bitrate exchanged between the webrtc endpoint and the recorder, you need to invoke the setOutputBitrate command on the webrtc endpoint.
Hi so we have a brain teaser on our hands.
Currently we're attempting to build a conferencing application with Tokbox, the setup is simple and the video conferencing works fine.
However we want to be able to break into voice, so this means if user x and y are video conferencing but user Z doesn't have a computer they can dial in via a twilio phone number, however the issues comes with the audio, we need the twilio audio to be layered into the tokbox audio so everybody can hear each other.
The best solution is to turn off the tokbox audio and let the twilio client handle the audio, via posting tokbox audio through their client, however this seems it would be a slow option.
Ideally tokbox would be able to handle the twilio audio but it currently doesn't have support.
Apart from extending tokbox with a lot of custom code I was just wandering if you guys know anyway of mixing audio into one layer?
With OpenTok's new iOS v2.2 beta or Android v2.2 beta there is an included tutorial that lets you build your own Publisher object so that you can stream your own media (pictures, videos from your phone, etc). You might be able to build you own Publisher object to steam Twilio's audio.
I have written an application that receives media files from a central server and plays those files according to a playlist. All works well.
A client has contacted us and wants to use our application to play some audio files as presentations in a kiosk-style application. So far, so good, our application can handle this no problems.
He has requested as a potential feature that we would have a number of headphone sockets at the front of the kiosk. Each headphone socket would play the same audio presentation in a different language.
I have come up with the idea of encoding a single audio file with the presentation in multiple languages, and each language in a different channel. We would then require a sound card that could decode each channel and output it on a different headphone socket.
Thing is, while I'm think the theory is sound, I have absolutely no idea whether this is feasible and what would be required to pull it off.
Any ideas?!
As a side-note: the application uses Media Player as the underlying component to handle the playback of audio and video. I'd appreciate any help as to the software we could use to generate the multi-channel audio stream and the hardware (USB sound card would be fine) that we could use to decode the stream.
Thanks!
You need to use multiple files not channels, its going to be way easier that way.
Instead of using Media Player use DirectShow (on .NET you have DirectShow.NET), In DirectShow you have the notation of Multiple files on the same graph.
You will be able to control to which audio device play which files, and your Play, Pause, Stop commands will be preformed on all files without you need to worry about syncing.
There are many samples on how to build media player like with DiectShow, extending them to use multiple files should be really easy.
For HW take a look at this (USB with 8 output channels)
I think with Shay's hardware you've got a complete solution:
Encode a 7.1 file with a different mono voice track on each channel.
Use the 8 channel output device in 7.1 mode, with a different headset in each port, and you've got it. Or, if you only have 6 languages, a 5.1 file would work. Many PC's have 5.1 outputs built in, you'd only need 3 splitters to break out the left and right channels from each jack.
You can do the encoding with Windows Media Encoder, or other pro audio tool.