• Anyone out there rocking Opus?  :-B
  • 27 Comments sorted by
  • Official Opus support will be in the next version of Airtime. AAC+ support should be there too but it won't work out of the box since we can't legally ship the codec - however we will have detailed wiki for enabling it :)
    Post edited by Martin Konecny at 2013-03-13 12:07:43
    Airtime Pro Hosting: http://airtime.pro
  • ^:)^
  • Hello Martin,

    On Wed, Mar 13, 2013 at 11:21 AM, Martin Konecny <<br />airtime-dev@lists.sourcefabric.org> wrote:

    > Official Opus support will be in the next version of Airtime. AAC+ support
    > should be there too but it won't work out of the box since we can't legally
    > ship the codec.


    Will that be 2.3.1 or 2.4?

    If it's going to be a while, I may just build liquidsoap 1.1.0 and try to
    hack ls_script.liq as the low-latency functionality provided by opus will
    be really helpful for my use case.

    Thanks,
    -Bill
  • Either one should be out within the next two to four weeks, max. You probably already know, but 2.4 has a targeted release date set for late March.

    That said, if you have the spare time, please go ahead, give it a go, and report back! It doesn't take very long to build whatsoever.
  • 2.4.0 will be the first with Opus support. If you try compiling yourself,
    there are instructions here:

    https://wiki.sourcefabric.org/display/CC/Building+Liquidsoap+from+Source


    On Wed, Mar 13, 2013 at 4:28 PM, Bill Burton <<br />airtime-dev@lists.sourcefabric.org> wrote:

    > Hello Martin,
    >
    > On Wed, Mar 13, 2013 at 11:21 AM, Martin Konecny <<br />> airtime-dev@lists.sourcefabric.org> wrote:
    >
    > > Official Opus support will be in the next version of Airtime. AAC+
    > support
    > > should be there too but it won't work out of the box since we can't
    > legally
    > > ship the codec.
    >
    >
    > Will that be 2.3.1 or 2.4?
    >
    > If it's going to be a while, I may just build liquidsoap 1.1.0 and try to
    > hack ls_script.liq as the low-latency functionality provided by opus will
    > be really helpful for my use case.
    >
    > Thanks,
    > -Bill
    >
    >
    Airtime Pro Hosting: http://airtime.pro
  • Martin -- it takes a little more than simply tweaking ls_lib.liq then?
  • It should be the same process as when you added the AAC+ encoder.
    Airtime Pro Hosting: http://airtime.pro
  • I have not managed to get AAC+ working at all since AT2.2 + LS1.0.1 :(
  • Where are all the awesome Opus mobile streaming apps hiding? The good folks at tunein.com managed to ignore Opus yet again in the latest and greatest TuneIn 3.6 for iOS. Major bummer. Then again, it doesn't even parse metadata on Vorbis streams. Weak sauce. Same true for Android??
  • This isn't exactly directed at Team SF, but Opus quality is extremely disappointing. Based on all this mumbo jumbo one would expect a 128kbps stream to sound virtually transparent. Maybe the framing needs some optimization or something?
  • Perhaps you can take the reference encoder and see if that performs as expected? If so, we can file a ticket for Liquidsoap.
    Airtime Pro Hosting: http://airtime.pro
  • There's an awful lot to tweak... what (or where) are the airtime defaults?


    • vbr: one of "none", "constrained" or "unconstrained"

    • application: One of "audio", "voip" or "restricted_lowdelay"

    • complexity: Integer value between 0 and 10.

    • max_bandwidth: One of "narrow_band", "medium_band", "wide_band", "super_wide_band" or "full_band"

    • samplerate: input samplerate. Must be one of: 8000, 12000, 16000, 24000 or 48000

    • frame_size: encoding frame size, in milliseconds. Must be one of: 2.5, 5., 10., 20., 40. or 60..

    • bitrate: encoding bitrate, in kbps. Must be a value between 5 and 512. You can also set it to "auto".

    • channels: currently, only 1 or 2 channels are allowed.

    • mono, stereo: equivalent to channels=1 and channels=2.

    • signal: one of "voice" or "music"
    http://savonet.sourceforge.net/doc-svn/encoding_formats.html
  • It may be helpful to contact Liquidsoap on their mailing list and ask what
    the defaults are. Or create a ticket on their github page asking them to
    put this into their documention.

    https://github.com/savonet/liquidsoap


    On Thu, Jun 13, 2013 at 12:28 PM, Roger Wilco <<br />airtime-dev@lists.sourcefabric.org> wrote:

    > There's an awful lot to tweak... what (or where) are the airtime defaults?
    >
    >
    > - vbr: one of "none", "constrained" or "unconstrained"
    > - application: One of "audio", "voip" or "restricted_lowdelay"
    > - complexity: Integer value between 0 and 10.
    > - max_bandwidth: One of "narrow_band", "medium_band", "wide_band",
    > "super_wide_band" or "full_band"
    > - samplerate: input samplerate. Must be one of: 8000, 12000, 16000,
    > 24000 or 48000
    > - frame_size: encoding frame size, in milliseconds. Must be one of: 2.5,
    > 5., 10., 20., 40. or 60..
    > - bitrate: encoding bitrate, in kbps. Must be a value between 5 and 512.
    > You can also set it to "auto".
    > - channels: currently, only 1 or 2 channels are allowed.
    > - mono, stereo: equivalent to channels=1 and channels=2.
    > - signal: one of "voice" or "music"
    >
    > http://savonet.sourceforge.net/doc-svn/encoding_formats.html
    >
    >
    Airtime Pro Hosting: http://airtime.pro
  • The only ones specifically set by Airtime would be Channels, Bitrate, right? Everything else would be "default" ?
  • Yes exactly.


    On Thu, Jun 13, 2013 at 3:00 PM, Roger Wilco <<br />airtime-dev@lists.sourcefabric.org> wrote:

    > The only ones specifically set by Airtime would be Channels, Bitrate,
    > right? Everything else would be "default" ?
    >
    >
    Airtime Pro Hosting: http://airtime.pro
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    not vbr ?
    for opus the variable bit rate is really mandatory (i think) and unconstrained woulb be the default choice, no ?
    Post edited by Albert FR at 2013-06-14 04:08:37
  • Did some digging and here's what came up. Many defaults are Auto or simply unlisted. Constrained VBR might make the most sense to deliver bits over intermittently congested 2g/3g wireless networks. Looks like the Frames default is 20ms, which isn't too bad. Complexity is the real wildcard...

    vbr: one of "none", "constrained" or "unconstrained" -- [default: constrained]

    application: One of "audio", "voip" or "restricted_lowdelay" -- [default: ??]

    complexity: Integer value between 0 and 10. -- [default: ??]

    max_bandwidth: One of "narrow_band", "medium_band", "wide_band",
    "super_wide_band" or "full_band" -- [default: "auto"]

    samplerate: input samplerate. Must be one of: 8000, 12000, 16000,
    24000 or 48000 -- [default: 48000?]

    frame_size: encoding frame size, in milliseconds. Must be one of: 2.5,
    5., 10., 20., 40. or 60.. -- [default: 20]

    bitrate: encoding bitrate, in kbps. Must be a value between 5 and 512.
    You can also set it to "auto". -- [default: "auto"]

    channels: currently, only 1 or 2 channels are allowed.
    mono, stereo: equivalent to channels=1 and channels=2. -- [default: "auto"]

    signal: one of "voice" or "music" -- [default: "auto"]

  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    Hi,

    Someone have found an app for streaming an opus stream ?
  • Hello Albert,

    On Mon, Jun 17, 2013 at 7:42 AM, Albert FR <<br />airtime-dev@lists.sourcefabric.org> wrote:

    > Hi,
    >
    > Someone have found an app for streaming an opus stream ?


    Depending on your use case, you may be able to use liquidsoap. This is my
    plan to replace edcast for live programming but I need to test my script
    more. In my case, Skype is connected to a phone conference service and
    then liquidsoap would relay the audio from the loopback device into the
    Airtime Master Source.

    I'm also testing a relay from Airtime to sound card to send audio to a
    Paltalk.com chat room and phone conference via Skype (listen only).

    Right now I'm testing with Ogg Vorbis but as soon as I can upgrade to
    Airtime 2.4, plan to use Opus for both inbound and outbound relays.

    Because there's no GUI with liquidsoap, I'm using the Pira CZ Silence
    Detector (www.pira.cz) to show volume levels.

    In the liquidsoap source, there's at least one example that uses a Python
    GUI to invoke liquidsoap (
    https://github.com/savonet/liquidsoap/tree/master/gui).

    Hope this helps,
    -Bill
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    Thanks

    but I'm searching something for my final users ;-)
    you can encode opus with line command too (see opus site for explications)

    I hope to see a real solution soon ;-)
  • Opus is a good choice for low Latency Voice/Audio ...
    but OGG Vorbis @ 48kbps (q=-0.1 )sounds slightly better for music.

    Edcast is still the line-in upstream tool of choice... someone should add the user name field in stream conf.
    http://code.google.com/p/edcast-reborn/
  • Not according to Xiph.org...
  • Just compare ... try Foobar with Kernel-Sound or ASIO output
    http://stream.lmx.fm:8000/club.48.opus.m3u
    http://stream.lmx.fm:8000/club.48.ogg.m3u
    http://stream.lmx.fm:8000/club.48.aac.m3u

    Encoder:
     %opus(samplerate=48000,bitrate=48,max_bandwidth="full_band",application="audio",signal="music")
     %vorbis(samplerate=48000,quality=-0.1)
     %aacplus(samplerate=48000,bitrate=48)
  • Are your source files lossless? And did you use fdkaac? Also, aacp wasn't designed to optimally use 48000 @ 48kbps... more like 44100 (really 22050+band rep)
  • We use is mostly mp3 (@192kbps+) for our radio program ... rarely CD or Vinyl.
    Currently we also compute the signal with lossy transcoding. (edcast,airtime,liquidsoap)
    I intend to use netJack or similar for internal audio transport to reduce latency and loss.

    For this aacplus stream i use Liquidsoap 1.0.1 the libaacplus-ocaml-dynlink .deb package ...

    We are currently looking for a good codec for our Smartphone App.
    If needed I can create even more streams with different codecs.


  • Ack! You should go with at least 320k source files (any codec really) and certainly lossless if you can manage it. Why is edcast important? Airtime is all you need, brother. Think simplicity. And that aacp lib is no good. Try fdk!
  • @Roger FDK added

    Just compare ...
    http://stream.lmx.fm:8000/club.48.opus.m3u
    http://stream.lmx.fm:8000/club.48.ogg.m3u
    http://stream.lmx.fm:8000/club.48.aac.m3u
    http://stream.lmx.fm:8000/club.48.fdk.aac.m3u

    Encoder:
     %opus(samplerate=48000,bitrate=48,max_bandwidth="full_band",application="audio",signal="music")
     %vorbis(samplerate=48000,quality=-0.1)
     %aacplus(samplerate=48000,bitrate=48)
     %fdkaac(bitrate=48, aot="mpeg4_he_aac_v2")
    Post edited by bitdevil at 2013-06-21 13:58:25