Hi
I have followed the suggestions given by Benny and have tried http://trac.pjsip.org/repos/wiki/FAQ#cpu
all the steps properly. Now I am getting the good voice quality when the CPU utilization is about 80-90 % by pjsua.
When I run other application on openmoko freerunner the CPU utilization by pjsua reduces to around 40% and the voice quality becomes very poor.
Please advise me how to stabilize the voice quality when the CPU utilization is varying .
As I just want to run pjsua what other libraries or the part of code I can remove before compiling so that it takes less CPU.
Any related advise is welcome.
Tarun
----- Original Message ----
From: Benny Prijono bennylp@pjsip.org
To: pjsip list pjsip@lists.pjsip.org
Sent: Tuesday, August 19, 2008 2:17:39 AM
Subject: Re: [pjsip] how to reduce CPU load and improve voice quality on mobile device FR
On Mon, Aug 18, 2008 at 6:14 PM, TARUN CHAPLOT tarunchaplot@yahoo.com wrote:
Hello All
Thanks for the prompt replies.
I am using pjsip 0.9.0 version on openmoko FR compiled in arm-angstrom-linux environment
by using following command
--host=arm-angstrom-linux-gnueabi
I've no clue about OpenMoko so I'm not sure what build command to suggest, but I guess if it builds and runs fine then it's okay then. More below.
I am having problem with sound quality
* audio stutters,
* audio break-ups. I looked through the checklist https://trac.pjsip.org/repos/wiki/sound-problems, and I ran the sound test by
./sndtest (https://trac.pjsip.org/repos/wiki/audio-check-sound-device-jitter)
and got the below given results .
17:49:15.121 os_core_unix.c pjlib 0.9.0-release for POSIX initialized
17:49:19.212 pasound.c PortAudio sound library initialized, status=0
17:49:19.215 pasound.c PortAudio host api count=1
17:49:19.217 pasound.c Sound device count=1
17:49:19.222 pjlib select() I/O Queue created (0x47754)
17:49:19.226 sndtest.c Found 1 devices:
17:49:19.228 sndtest.c 0: /dev/dsp (capture=16, playback=16)
17:49:19.915 sndtest.c Testing playback device /dev/dsp
17:49:19.917 sndtest.c Testing capture device /dev/dsp
17:49:20.481 sndtest.c Please wait while test is in progress (~11 secs)..
17:49:32.424 sndtest.c Dumping results:
17:49:32.425 sndtest.c Parameters: clock rate=8000Hz, 80 samples/frame
17:49:32.425 sndtest.c Playback stream report:
17:49:32.425 sndtest.c Duration: 9s.980
17:49:32.426 sndtest.c Frame interval: min=0.004ms, max=132.173ms
17:49:32.426 sndtest.c Jitter: min=9.955ms, avg=28.194ms, max=132.168ms
17:49:32.427 sndtest.c Capture stream report:
17:49:32.427 sndtest.c Duration: 9s.980
17:49:32.427 sndtest.c Frame interval: min=0.003ms, max=132.144ms
17:49:32.428 sndtest.c Jitter: min=9.943ms, avg=28.187ms, max=132.141ms
17:49:32.428 sndtest.c Checking for clock drifts:
17:49:32.428 sndtest.c No clock drifts is detected
17:49:32.429 sndtest.c Test completed with some warnings
As the avg jitter is below 32 ms so that is fine but the max jitter is very high (132.168ms) so as suggested on that page
That's awful indeed. You can try the following (either alone or combination of them) and see which one helps:
- increase PJMEDIA_SOUND_BUFFER_COUNT to 16
- use larger frame size (e.g. set PJSUA_DEFAULT_AUDIO_FRAME_PTIME to 40)
- disable VAD (--no-vad option)
I would like to ask what can be the problem. Do I need to change the jitter buffer settings according to device (openmoko FR).?
The problem is with the sound device itself. I'm not sure changing jitter buffer settings will help since the default values should be big enough already (360ms). But lets do the above first and we'll come back at this later.
Further I tried using PCMU and Speex codecs but do not see any change in CPU load.
The FAQ http://trac.pjsip.org/repos/wiki/FAQ#cpu really has explained everything, if you don't see any improvements I suspect some of the steps are not followed properly. In particular please read again item no 4 there about choosing sampling rate, which means that if you use PCMU, you should also use --clock-rate 8000 option.
Cheers
Benny
Any kind of suggestion will be greatly appeciated.
Thanks
Tarun
----- Original Message ----
From: Benny Prijono bennylp@pjsip.org
To: pjsip list pjsip@lists.pjsip.org
Sent: Monday, August 18, 2008 8:29:01 PM
Subject: Re: [pjsip] how to reduce CPU load and improve voice quality on mobile device FR
On Mon, Aug 18, 2008 at 6:51 AM, TARUN CHAPLOT tarunchaplot@yahoo.com wrote:
Hi,
We are having a problem with running PJSIP on the neo freerunner, and have tried a
variety of solutions to fix this but still not successful. The setup
that we are using is PJSIP on a Mac with OSX, and PJSIP compiled for
openmoko.I compiled PJSIP for openmoko by setting the env using command
source /usr/local/openmoko/arm/setup-env
and ./configure --host=arm-angstrom-linux-gnueabi.
First thing first, what pjsip version?
When we run PJSIP between the Mac and Openmoko, we are encountering problems.
The problem is that the sound quality is very bad. When we speak
into the Mac, the sound coming from the Openmoko comes out in stutters
(on and off every half second). It is also full of static.
When we try a VOIP call directly from mac to mac, it works and sounds fine.
If you haven't seen this, perhaps you can follow the checklists in https://trac.pjsip.org/repos/wiki/sound-problems, and find out what the exact problem is.
I looked at the CPU load and found that it is almost 80% on freerunner and 25 % on Mac OS X.
I have tried with different codecs e.g. speex ,PCMA and GSM.
Please advise me that how can I reduce the CPU load. I have followed the following http://trac.pjsip.org/repos/wiki/FAQ#cpu but
no improvement.
Now that's surprising. You should see significant difference in CPU usage between Speex and PCMU. If not, then that probably suggests that the problem is elsewhere.
Cheers
Benny
Thanks in advance.
Tarun
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hi
I have followed the suggestions given by Benny and have tried http://trac.pjsip.org/repos/wiki/FAQ#cpu
all the steps properly. Now I am getting the good voice quality when the CPU utilization is about 80-90 % by pjsua.
When I run other application on openmoko freerunner the CPU utilization by pjsua reduces to around 40% and the voice quality becomes very poor.
Please advise me how to stabilize the voice quality when the CPU utilization is varying .
As I just want to run pjsua what other libraries or the part of code I can remove before compiling so that it takes less CPU.
Any related advise is welcome.
Tarun
----- Original Message ----
From: Benny Prijono <bennylp@pjsip.org>
To: pjsip list <pjsip@lists.pjsip.org>
Sent: Tuesday, August 19, 2008 2:17:39 AM
Subject: Re: [pjsip] how to reduce CPU load and improve voice quality on mobile device FR
On Mon, Aug 18, 2008 at 6:14 PM, TARUN CHAPLOT <tarunchaplot@yahoo.com> wrote:
Hello All
Thanks for the prompt replies.
I am using pjsip 0.9.0 version on openmoko FR compiled in arm-angstrom-linux environment
by using following command
--host=arm-angstrom-linux-gnueabi
I've no clue about OpenMoko so I'm not sure what build command to suggest, but I guess if it builds and runs fine then it's okay then. More below.
I am having problem with sound quality
* audio stutters,
* audio break-ups. I looked through the checklist https://trac.pjsip.org/repos/wiki/sound-problems, and I ran the sound test by
./sndtest (https://trac.pjsip.org/repos/wiki/audio-check-sound-device-jitter)
and got the below given results .
----------------------------------------------------------------------------------------------------
17:49:15.121 os_core_unix.c pjlib 0.9.0-release for POSIX initialized
17:49:19.212 pasound.c PortAudio sound library initialized, status=0
17:49:19.215 pasound.c PortAudio host api count=1
17:49:19.217 pasound.c Sound device count=1
17:49:19.222 pjlib select() I/O Queue created (0x47754)
17:49:19.226 sndtest.c Found 1 devices:
17:49:19.228 sndtest.c 0: /dev/dsp (capture=16, playback=16)
17:49:19.915 sndtest.c Testing playback device /dev/dsp
17:49:19.917 sndtest.c Testing capture device /dev/dsp
17:49:20.481 sndtest.c Please wait while test is in progress (~11 secs)..
17:49:32.424 sndtest.c Dumping results:
17:49:32.425 sndtest.c Parameters: clock rate=8000Hz, 80 samples/frame
17:49:32.425 sndtest.c Playback stream report:
17:49:32.425 sndtest.c Duration: 9s.980
17:49:32.426 sndtest.c Frame interval: min=0.004ms, max=132.173ms
17:49:32.426 sndtest.c Jitter: min=9.955ms, avg=28.194ms, max=132.168ms
17:49:32.427 sndtest.c Capture stream report:
17:49:32.427 sndtest.c Duration: 9s.980
17:49:32.427 sndtest.c Frame interval: min=0.003ms, max=132.144ms
17:49:32.428 sndtest.c Jitter: min=9.943ms, avg=28.187ms, max=132.141ms
17:49:32.428 sndtest.c Checking for clock drifts:
17:49:32.428 sndtest.c No clock drifts is detected
17:49:32.429 sndtest.c Test completed with some warnings
--------------------------------------------------------------------------------------------------------------
As the avg jitter is below 32 ms so that is fine but the max jitter is very high (132.168ms) so as suggested on that page
That's awful indeed. You can try the following (either alone or combination of them) and see which one helps:
- increase PJMEDIA_SOUND_BUFFER_COUNT to 16
- use larger frame size (e.g. set PJSUA_DEFAULT_AUDIO_FRAME_PTIME to 40)
- disable VAD (--no-vad option)
I would like to ask what can be the problem. Do I need to change the jitter buffer settings according to device (openmoko FR).?
The problem is with the sound device itself. I'm not sure changing jitter buffer settings will help since the default values should be big enough already (360ms). But lets do the above first and we'll come back at this later.
Further I tried using PCMU and Speex codecs but do not see any change in CPU load.
The FAQ http://trac.pjsip.org/repos/wiki/FAQ#cpu really has explained everything, if you don't see any improvements I suspect some of the steps are not followed properly. In particular please read again item no 4 there about choosing sampling rate, which means that if you use PCMU, you should also use --clock-rate 8000 option.
Cheers
Benny
Any kind of suggestion will be greatly appeciated.
Thanks
Tarun
----- Original Message ----
From: Benny Prijono <bennylp@pjsip.org>
To: pjsip list <pjsip@lists.pjsip.org>
Sent: Monday, August 18, 2008 8:29:01 PM
Subject: Re: [pjsip] how to reduce CPU load and improve voice quality on mobile device FR
On Mon, Aug 18, 2008 at 6:51 AM, TARUN CHAPLOT <tarunchaplot@yahoo.com> wrote:
Hi,
We are having a problem with running PJSIP on the neo freerunner, and have tried a
variety of solutions to fix this but still not successful. The setup
that we are using is PJSIP on a Mac with OSX, and PJSIP compiled for
openmoko.I compiled PJSIP for openmoko by setting the env using command
source /usr/local/openmoko/arm/setup-env
and ./configure --host=arm-angstrom-linux-gnueabi.
First thing first, what pjsip version?
When we run PJSIP between the Mac and Openmoko, we are encountering problems.
The problem is that the sound quality is very bad. When we speak
into the Mac, the sound coming from the Openmoko comes out in stutters
(on and off every half second). It is also full of static.
When we try a VOIP call directly from mac to mac, it works and sounds fine.
If you haven't seen this, perhaps you can follow the checklists in https://trac.pjsip.org/repos/wiki/sound-problems, and find out what the exact problem is.
I looked at the CPU load and found that it is almost 80% on freerunner and 25 % on Mac OS X.
I have tried with different codecs e.g. speex ,PCMA and GSM.
Please advise me that how can I reduce the CPU load. I have followed the following http://trac.pjsip.org/repos/wiki/FAQ#cpu but
no improvement.
Now that's surprising. You *should* see significant difference in CPU usage between Speex and PCMU. If not, then that probably suggests that the problem is elsewhere.
Cheers
Benny
Thanks in advance.
Tarun
_______________________________________________
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org