[asterisk-users] opus from git : install questions
sean darcy
seandarcy2 at gmail.com
Tue Feb 6 15:10:07 CST 2018
On 02/06/2018 07:58 AM, Tzafrir Cohen wrote:
> On Sun, Feb 04, 2018 at 03:15:02PM -0500, sean darcy wrote:
>>
>> On 13.9.0
>> https://github.com/traud/asterisk-opus
>>
>> The README:
>>
>> Alternatively, you can use the Makefile of this repository to create just
>> the shared libraries of the modules. That way, you do not have to (re-) make
>> your whole Asterisk.
>>
>> The Makefile generates:
>> codecs/codec_opus_open_source.so
>> formats/format_ogg_opus_open_source.so
>> formats/format_vp8.so
>> res/res_format_attr_opus.so
>
> See, e.g. the Debian package asterisk-opus:
> https://packages.debian.org/source/sid/asterisk-opus
>
> That package builds the opus modules as stand-alone modules out of the
> tree of asterisk. It has a build-time dependency on the binary package
> asterisk-dev.
>
> The list of files in it:
>
> /usr/lib/asterisk/modules/codec_opus_open_source.so
> /usr/lib/asterisk/modules/format_ogg_opus_open_source.so
> /usr/lib/asterisk/modules/format_vp8.so
>
> IIRC res_format_attr_opus.so in Asterisk proper is by now good enough
> and needs no patching.
>
>
>>
>> Without any of the patches the asterisk build generates:
>>
>> codec_opus.so
>>
>> format_ogg_opus.so
>
> Not by default.
>
So if I'm building outside the tree, do _not_ select opus in menuselect
when building asterisk. Correct ? Then copy codec_opus_open_source.so,
format_ogg_opus_open_source.so and format_vp8.so to {astmoddir} ,
/usr/lib64/asterisk/modules.
>>
>> res_format_attr_opus.so
>>
>> Questions:
>>
>> Should the *_opus_open_source.so be in modules with the *opus.so libraries
>> from the asterisk build ? If not, do I build asterisk without selecting opus
>> ? If they are in modules, how does asterisk know which library to use ?
>
> You can either copy them to the Asterisk build directory (I do that in
> another Asterisk package I maintain). The build system will just pick
> them up and use them.
>
> Alternatively, as suggested in the README above, build them outside of
> the Asterisk tree (you'll need to point them to the asterisk source tree,
> or at least to the installed asterisk header files and copy the
> resulting .so files to the astmoddir (e.g. /usr/lib/asterisk/modules).
>
>>
>> The res_format_attr_opus.so library ?
>>
>> And another question, to enable PLC do I need to apply the patch even if I'm
>> installing the libraries directly ?
>
> Which patch specifically? I'm not sure I follow.
>
asterisk-opus-asterisk-13.7/enable_native_plc.patch
From the README:
Out of the box, Asterisk does not detect lost (or late) RTP packets.
Such a detection is required to conceal lost packets (PLC). PLC improves
situations like Wi-Fi Roaming or mobile-phone handovers. This patch
detects lost/late packets but is experimental.
patch -p1 <./asterisk-opus*/enable_native_plc.patch
Looks like this can't be built out-of-tree, and you need to patch each
build of asterisk.
>>
>> Thanks for all the work getting opus to work on asterisk.
>
Appreciate the quick reply.
More information about the asterisk-users
mailing list