Giter Site home page Giter Site logo

alex-com / asterisk-opus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from meetecho/asterisk-opus

0.0 2.0 0.0 151 KB

Opus (transcoding) and VP8 (passthrough) support for Asterisk, needed for a better WebRTC integration

License: GNU General Public License v2.0

asterisk-opus's Introduction

#Asterisk Opus/VP8 patch

Since Opus and VP8 cannot, as of now, be integrated in the Asterisk repositories (learn why in this thread), we prepared a patch that adds support for both codecs (Opus transcoding, VP8 passthrough) to Asterisk 11.1.2.

##Installing the patch To support Opus, you'll need to install libopus first. No library is needed for VP8, as its support is passthrough only.

The patch was built on top of Asterisk 11.1.2: applying it on different versions may or may not work out of the box, but solving conflicts shouldn't be too hard anyway. Copy it in the Asterisk source folder and apply it:

patch -p1 -u < asterisk_opus+vp8.diff

Run the bootstrap script to regenerate the configure:

./bootstrap.sh

Configure the patched Asterisk.

./configure --prefix=/usr

Make sure that codec_opus and format_vp8 are enabled in menuselect before going on. Besides, for better results, install the slin16 versions of the Asterisk sounds, which are not enabled by default.

make menuselect

Compile and install.

make
make install

##Testing You can test Opus using the free softphone PhonerLite. Make sure you choose the beta version, as the stable one does not comply with draft-ietf-payload-rtp-opus (RTP timestamp increment). The codec_opus module also has a CLI command to enable debugging: type opus set debug for information about it.

Usage: opus set debug {status|none|normal|huge}
	Enable/Disable Opus debugging: normal only debugs setup and errors, huge debugs every single packet

For VP8 you can make use of the open source softphone Linphone, which added support for VP8 in version 3.5.0.

##What is missing SDP fmtp parameters related to Opus and defined in draft-ietf-payload-rtp-opus are parsed but currently ignored: this means that there's no interaction between chan_sip and codec_opus in that sense. Besides, there still is no ad-hoc Opus configuration file for codec defaults. VP8, as anticipated, is passthrough only: besides, there's currently no way to read VP8 files for Playback.

##Help us improve the support! Found an issue? Solved one? Added something that was missing? Help us make it better!

Developed by @meetecho

asterisk-opus's People

Watchers

James Cloos avatar Alex Davis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.