[asterisk-bugs] [JIRA] (ASTERISK-26924) Codec OPUS bad quality

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Mon Apr 10 13:11:57 CDT 2017


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Harwell updated ASTERISK-26924:
-------------------------------------

    Attachment: kharwell-audio.tar.gz

{quote}
please add debug for lost packet cases in source of "open source opus" to be sure that codec is really processing correctly FEC and PLC patch working as well,
silly question but anyway, are you sure you don't have both modules loaded same time ?
{quote}
heh, not a silly question as it's an easy thing to do! I did make sure though that only a single module was loaded at a time. Also, per your suggestion I instrumented the code a bit and the PLC patch appears to be working.
{quote}
Do you want we both share audio records?
{quote}
Yes, I think this would be prudent. I have attached some audio files in "kharwell-audio.tar.gz". There should be a file for each of the following for both codecs: baseline, loss & delay, load & delay with jitter buffer.
{quote}
Regarding PESQ, let me disagree, why you have issues with license? it's open source and published by ITU-T.
http://www.itu.int/rec/T-REC-P.862-200511-I!Amd2/en
but in git it has small patches that prevent compilation as sources quite old.
{quote}
I had referenced these pages with regards to licensing:
  http://www.opticom.de/licensing/pesq.php
  http://www.pesq.org/

> Codec OPUS bad quality
> ----------------------
>
>                 Key: ASTERISK-26924
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26924
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Codecs/codec_opus
>         Environment: Ubuntu 16.04 i386/x86_64
>            Reporter: TSAREGORODTSEV Yury
>            Assignee: Kevin Harwell
>         Attachments: kharwell-audio.tar.gz
>
>
> Codec OPUS developed by Digium doesn't provide same good quality as open source version in case of packet losses, delays.
> After comparing recorded degraded media with original sample using PESQ results shows average predicted MOS of Digium Opus almost twice less then open source.
> How to reproduce issue:
> 1. Environment: ubuntu 16.04
> 2. Libopus latest stable release 1.1.4 (compiled from sources).
> 3. Asterisk 13.14.0
> 4. Channel driver: chan_sip
> 5. Configure 2 asterisk hosts, where 1st host origination side, 2nd host termination side.
> 6. Configure dialplan: on 1st host Dialplan with AppMonitor
> {noformat}
> [opus-test]
> exten => _X.,1,Monitor(wav,/records/degraded-ID-${RAND(1,1000)},bi)
> exten => _X.,n,Dial(SIP/asterisk_host2/${EXTEN})
> {noformat}
> 7. Configure dialplan: on 2nd host Playback any wave file (8000, 16bit):
> {noformat}
> [opus-test]
> exten => _X.,1,Answer()
> exten => _X.,n,Playback(demo-instruct)
> {noformat}
> 8. Opus config on both:
> {noformat}
> [opus]
> type=opus
> packet_loss=40
> max_playback_rate=48000
> bitrate=24000
> cbr=0
> fec=1
> {noformat}
> 9. Compile ITU-T PESQ utility from
> https://github.com/dennisguse/ITU-T_pesq
> 10. Simulate packet loss/delays on 2nd host with
>     tc qdisc add dev eth0 root netem loss 20% delay 100ms 20ms distribution normal
> 11. Compare recorded degraded media (only incoming channel of course) with original:
> ./itu-t-pesq2005 +8000 original.wav recorded.wav
> P.S. Please keep in mind without applying patch ASTERISK-25629 asterisk doesn't ignore lately arrived RTP no matter of enabled, forced jitterbuffer. Which is make quality worst.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list