mediastreamer2 5.3.105
  • SILK (Skype codec) plugin

SILK Speech Codec (draft-vos-silk-02) plugins filters to encode and decode audio.

SILK Speech Codec (draft-vos-silk-02) plugins filters to encode and decode audio.

MSSILKEnc and MSSILKDec are 2 Mediastremer2's filters available to encode/decode speech using SILK sdk from Skype. This integration leverage on source code from: http://developer.skype.com/silk. Note that usage of this plugin is subject to license from Skype.

Supported SILK features
SILK is a multi rate, multi sampling frequency codec with variable packetization time. SILK allows control of these parameters using standard Mediastreamer2 functions.

init
mssilk is automatically loaded by Medistreamer2 in case libmssilk.so is present in the Mediastremer2 plugin directory. Alternatively it is possible to load it by calling the function

void libmssilk_init()

Very usefull for Android or IOS.

MSSILKEnc
MSSILKEnc is a filter from category #MS_FILTER_ENCODER. It has its enc_fmt value set to "SILK".The following key control functions are implemented:

  • #MS_FILTER_SET_SAMPLE_RATE Set both the output and input sampling rate. This value is internally mapped to both maximum codec sampling rate and API sampling rate. Supported value are 8000, 12000, 16000 and 24000. This value can be changed at any time.
  • #MS_FILTER_SET_BITRATE Set the target network output bitrate for this filter. As this value takes into account RTP/UDP/IP overhead, this filter first computes a codec bitrate from both this input and current packetization time value (I.E ptime). Computed codec bitrate value is passed to the SILK encoder as target bitrate. This value can be changed at any time.
  • #MS_FILTER_ADD_FMTP Set codec specific parameter as described in draft-vos-silk-02. Default values are those proposed by draft-vos-silk-02. Supported parameters are maxptime, ptime, useinbandfec.


Preset SILK encoder's values not configurable are: encoder complexity set to 1, packetLossPercentage set to 10 and useDTX set to 0.

MSSILDec
MSSILDec is a filter from category #MS_FILTER_DECODER. It has its enc_fmt value set to "SILK".This filter make use of SILK's builtin Packet Lose Concealment and Forward Error Correction feature.The following key control functions are implemented:

  • #MS_FILTER_SET_SAMPLE_RATE Set output sampling rate. This value is internally mapped to API sampling rate.Supported value are 8000, 12000, 16000, 24000, 32000, 44000 and 48000. This value can be changed at any time.