Mediastreamer2 VoIP рдЗрдВрдЬрд┐рди рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рдд рдЖрд╣реЗ. рднрд╛рдЧ 1

рд▓реЗрдЦрд╛рдЪреЗ рд╕рд╛рд╣рд┐рддреНрдп рдорд╛рдЭреНрдпрд╛рдХрдбреВрди рдШреЗрддрд▓реЗ рдЖрд╣реЗ рдЭреЗрди рдЪреЕрдиреЗрд▓.

рдкрд░рд┐рдЪрдп

рд╣рд╛ рд▓реЗрдЦ Mediastreamer2 рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░реВрди рд░рд┐рдЕрд▓-рдЯрд╛рдЗрдо рдореАрдбрд┐рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдмрджреНрджрд▓ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪреА рд╕реБрд░реБрд╡рд╛рдд рдЖрд╣реЗ. рдкреНрд░реЗрдЭреЗрдВрдЯреЗрд╢рдирдордзреНрдпреЗ рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдХрд┐рдорд╛рди рдХреМрд╢рд▓реНрдпреЗ рдЖрдгрд┐ рд╕реА рднрд╛рд╖реЗрддреАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕реЗрд▓.

Mediastreamer2 рд╣реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдореБрдХреНрдд-рд╕реНрд░реЛрдд рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ voip рдлреЛрди рдкреНрд░рдХрд▓реНрдкрд╛рдорд╛рдЧреАрд▓ VoIP рдЗрдВрдЬрд┐рди рдЖрд╣реЗ. рд▓рд┐рдирдлреЛрди. Linphone Mediastreamer2 рдордзреНрдпреЗ рдзреНрд╡рдиреА рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ. рдЗрдВрдЬрд┐рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реВрдЪреА рдпрд╛ Mediastreamer рдкреГрд╖реНрдард╛рд╡рд░ рдкрд╛рд╣рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдпреЗрдереЗ рдЖрд╣реЗ: рдЧрд┐рдЯреЕрдм.

рдкреБрдвреЗ рдордЬрдХреВрд░рд╛рдд, рд╕реЛрдпреАрд╕рд╛рдареА, Mediastreamer2 рдпрд╛ рд╢рдмреНрджрд╛рдРрд╡рдЬреА рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреЗ рд░рд╢рд┐рдпрди рдиреЛрдЯреЗрд╢рди рд╡рд╛рдкрд░реВ: тАЬрдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░тАЭ.

рддреНрдпрд╛рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░, рддреЛ рдкреВрд░реНрд╡реА рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рдд рдЕрд╕реЗ рдЧреНрд▓рд┐рдм, рдЬреЗ, рдЬрд╕реЗ рд╣реЛрддреЗ, рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрднрд╛рд╡реНрдп рджреВрд░рдЪреНрдпрд╛ рдирд╛рддреЗрд╕рдВрдмрдВрдзрд╛рдЪреЗ рд╕рдВрдХреЗрдд рджреЗрддреЗ рдЬреАрд╕реНрдЯреНрд░реАрдорд░. рдЬреНрдпрд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рдЕрдзрд┐рдХ рд╣рд▓рдХрд╛ рджрд┐рд╕рддреЛ. рд▓рд┐рдирдлреЛрдирдЪреА рдкрд╣рд┐рд▓реА рдЖрд╡реГрддреНрддреА 2001 рдордзреНрдпреЗ рдЖрд▓реА рд╣реЛрддреА, рдореНрд╣рдгреВрди рдпрд╛ рдХреНрд╖рдгреА рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ рдЖрдгрд┐ рдЬрд╡рд│рдЬрд╡рд│ 20 рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЛ.

рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░рдЪреНрдпрд╛ рдХреЗрдВрджреНрд░рд╕реНрдерд╛рдиреА "рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣" (рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣) рдирд╛рд╡рд╛рдЪреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрд╣реЗ. рдЕрд╢рд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЦрд╛рд▓реАрд▓ рдЖрдХреГрддреАрдордзреНрдпреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ.

Mediastreamer2 VoIP рдЗрдВрдЬрд┐рди рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рдд рдЖрд╣реЗ. рднрд╛рдЧ 1

рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ, рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдбрджреНрд╡рд╛рд░реЗ рдирд╛рд╣реА рддрд░ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╛рдареА рд╕реНрдХреАрдо (рдЧреНрд░рд╛рдл) рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд░рдорд╛рдиреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕рдирд╛ рдлрд┐рд▓реНрдЯрд░ рдореНрд╣рдгрддрд╛рдд.

рд╣реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡реНрд╣реАрдУрдЖрдпрдкреА рдлреЛрди рдЖрд░рдЯреАрдкреА рдЯреНрд░реЕрдлрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЖрдгрд┐ рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рд╕реНрдХреАрдорд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд┐рд▓реНрдЯрд░рдЪреНрдпрд╛ рд╕рдВрдЪрд╛рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдореАрдбрд┐рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ.

рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ рдлрд┐рд▓реНрдЯрд░ рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛, рдирд╡реАрди рдлрд┐рд▓реНрдЯрд░рдЪрд╛ рд╕рд╛рдзрд╛ рд╡рд┐рдХрд╛рд╕, рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░рдЪреА рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрд╡рддрдВрддреНрд░ рд▓рд╛рдпрдмреНрд░рд░реА рдореНрд╣рдгреВрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА, рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рд╢рд┐рд╡рд╛рдп, рдкреНрд░рдХрд▓реНрдк рд╡реНрд╣реАрдУрдЖрдпрдкреАрдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд рдЕрд╕реВ рд╢рдХрддреЛ, рдХрд╛рд░рдг рд╕реНрд╡рддрдГ рдмрдирд╡рд▓реЗрд▓реЗ рдлрд┐рд▓реНрдЯрд░ рдЬреЛрдбрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдкреБрд░рд╡рд▓реЗрд▓реА рдлрд┐рд▓реНрдЯрд░ рд▓рд╛рдпрдмреНрд░рд░реА рдЦреВрдк рд╕рдореГрджреНрдз рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рдлрд┐рд▓реНрдЯрд░рд╕рд╣ рд╡рд╛рдврд╡рддрд╛ рдпреЗрддреЗ. рдкрд░рдВрддреБ рдкреНрд░рдердо, рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░рд╕рд╣ рдпреЗрдгрд╛рд▒реНрдпрд╛ рд░реЗрдбреАрдореЗрдб рдлрд┐рд▓реНрдЯрд░рдЪреЗ рд╡рд░реНрдгрди рдХрд░реВрдпрд╛. рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдпреЗрдереЗ рдЖрд╣реЗ:

рдзреНрд╡рдиреА рдлрд┐рд▓реНрдЯрд░

рдСрдбрд┐рдУ рдХреЕрдкреНрдЪрд░ рдЖрдгрд┐ рдкреНрд▓реЗрдмреЕрдХ

  • рдЕрд▓реНрд╕рд╛ (рд▓рд┐рдирдХреНрд╕): MS_ALSA_WRITE, MS_ALSA_READ
  • Android рдиреЗрдЯрд┐рд╡реНрд╣ рдзреНрд╡рдиреА (libmedia): MS_ANDROID_SOUND_WRITE, MS_ANDROID_SOUND_READ
  • рдСрдбрд┐рдУ рд░рд╛рдВрдЧ рд╕реЗрд╡рд╛ (Mac OS X): MS_AQ_WRITE, MS_AQ_READ
  • рдСрдбрд┐рдУ рдпреБрдирд┐рдЯ рд╕реЗрд╡рд╛ (рдореЕрдХ рдУрдПрд╕ рдПрдХреНрд╕)
  • рдХрд▓рд╛ (Linux): MS_ARTS_WRITE, MS_ARTS_READ
  • рдбрд╛рдпрд░реЗрдХреНрдЯ рд╕рд╛рдЙрдВрдб (рд╡рд┐рдВрдбреЛрдЬ): MS_WINSNDDS_WRITE, MS_WINSNDDS_READ
  • рдлрд╛рдЗрд▓ рдкреНрд▓реЗрдпрд░ (рд░реЙ/wav/pcap рдлрд╛рдЗрд▓реНрд╕) (рд▓рд┐рдирдХреНрд╕): MS_FILE_PLAYER
  • рдлрд╛рдЗрд▓ рдкреНрд▓реЗрдпрд░ (рд░реЙ/wav рдлрд╛рдЗрд▓реНрд╕) (Windows): MS_WINSND_READ
  • рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд╛ (wav рдлрд╛рдЗрд▓реНрд╕) (рд▓рд┐рдирдХреНрд╕): MS_FILE_REC
  • рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд╛ (wav рдлрд╛рдЗрд▓реНрд╕) (Windows): MS_WINSND_WRITE
  • рдореЕрдХ рдСрдбрд┐рдУ рдпреБрдирд┐рдЯ (рдореЕрдХ рдУрдПрд╕ рдПрдХреНрд╕)
  • MME (рд╡рд┐рдВрдбреЛрдЬ)
  • OSS (Linux): MS_OSS_WRITE, MS_OSS_READ
  • рдкреЛрд░реНрдЯрдСрдбрд┐рдУ (рдореЕрдХ рдУрдПрд╕ рдПрдХреНрд╕)
  • рдкрд▓реНрд╕рдСрдбрд┐рдУ (рд▓рд┐рдирдХреНрд╕): MS_PULSE_WRITE, MS_PULSE_READ
  • рд╡рд┐рдВрдбреЛрдЬ рд╕рд╛рдЙрдВрдб (рд╡рд┐рдВрдбреЛрдЬ)

рдСрдбрд┐рдУ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ/рдбреАрдХреЛрдбрд┐рдВрдЧ

  • G.711 a-law: MS_ALAW_DEC, MS_ALAW_ENC
  • G.711 ┬╡-рдХрд╛рдпрджрд╛: MS_ULAW_DEC, MS_ULAW_ENC
  • G.722: MS_G722_DEC, MS_G722_ENC
  • G.726: MS_G726_32_ENC, MS_G726_24_ENC, MS_G726_16_ENC
  • GSM: MS_GSM_DEC, MS_GSM_ENC
  • рд░реЗрдЦреАрдп PCM: MS_L16_ENC, MS_L16_DEC
  • рд╕реНрдкреАрдХреНрд╕: MS_SPEEX_ENC, MS_SPEEX_DEC

рдзреНрд╡рдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

  • рдЪреЕрдирд▓ рд░реВрдкрд╛рдВрддрд░рдг (рдореЛрдиреЛ->рд╕реНрдЯрд┐рд░реАрдУ, рд╕реНрдЯрд┐рд░рд┐рдУ->рдореЛрдиреЛ): MS_CHANNEL_ADAPTER
  • рдкрд░рд┐рд╖рдж: MS_CONF
  • DTMF рдЬрдирд░реЗрдЯрд░: MS_DTMF_GEN
  • рдЗрдХреЛ рд░рджреНрджреАрдХрд░рдг (рд╕реНрдкреАрдХреНрд╕): MS_SPEEX_EC
  • рдмрд░реЛрдмрд░реА: MS_EQUALIZER
  • рдорд┐рдХреНрд╕рд░: MS_MIXER
  • рдкреЕрдХреЗрдЯ рд▓реЙрд╕ рдХрдореНрдкреЗрдиреНрд╕реЗрдЯрд░ (PLC): MS_GENERIC_PLC
  • рд░рд┐рд╕реЕрдореНрдкрд▓рд░: MS_RESAMPLE
  • рдЯреЛрди рдбрд┐рдЯреЗрдХреНрдЯрд░: MS_TONE_DETECTOR
  • рдЖрд╡рд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг рдЖрдгрд┐ рд╕рд┐рдЧреНрдирд▓ рдкрд╛рддрд│реА рдорд╛рдкрди: MS_VOLUME

рд╡реНрд╣рд┐рдбрд┐рдУ рдлрд┐рд▓реНрдЯрд░

рд╡реНрд╣рд┐рдбрд┐рдУ рдХреЕрдкреНрдЪрд░ рдЖрдгрд┐ рдкреНрд▓реЗрдмреЕрдХ

  • Android рдХреЕрдкреНрдЪрд░
  • Android рдкреНрд▓реЗрдмреЕрдХ
  • AV рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЕрдкреНрдЪрд░ (iOS)
  • AV рдлрд╛рдЙрдВрдбреЗрд╢рди рдкреНрд▓реЗрдмреЕрдХ (iOS)
  • рдбрд╛рдпрд░реЗрдХреНрдЯ рд╢реЛ рдХреЕрдкреНрдЪрд░ (рд╡рд┐рдВрдбреЛрдЬ)
  • DrawDib рдкреНрд▓реЗрдмреЕрдХ (рд╡рд┐рдВрдбреЛрдЬ)
  • рдмрд╛рд╣реНрдп рдкреНрд▓реЗрдмреЕрдХ - рд╢реАрд░реНрд╖ рд╕реНрддрд░рд╛рд╡рд░ рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рдард╡рдд рдЖрд╣реЗ
  • GLX рдкреНрд▓реЗрдмреЕрдХ (Linux): MS_GLXVIDEO
  • Mire - рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣рд▓рдгрд╛рд░реЗ рдЪрд┐рддреНрд░: MS_MIRE
  • рдУрдкрдирдЬреАрдПрд▓ рдкреНрд▓реЗрдмреЕрдХ (рдореЕрдХ рдУрдПрд╕ рдПрдХреНрд╕)
  • OpenGL ES2 рдкреНрд▓реЗрдмреЕрдХ (Android)
  • рдХреНрд╡рд┐рдХрдЯрд╛рдЗрдо рдХреЕрдкреНрдЪрд░ (рдореЕрдХ рдУрдПрд╕ рдПрдХреНрд╕)
  • SDL рдкреНрд▓реЗрдмреЕрдХ: MS_SDL_OUT
  • рд╕реНрдерд┐рд░ рдкреНрд░рддрд┐рдорд╛ рдЖрдЙрдЯрдкреБрдЯ: MS_STATIC_IMAGE
  • рд▓рд┐рдирдХреНрд╕ (V4L) рдХреЕрдкреНрдЪрд░рд╕рд╛рдареА рд╡реНрд╣рд┐рдбрд┐рдУ (Linux): MS_V4L
  • рд▓рд┐рдирдХреНрд╕ 2 (V4L2) рдХреЕрдкреНрдЪрд░ (рд▓рд┐рдирдХреНрд╕) рд╕рд╛рдареА рд╡реНрд╣рд┐рдбрд┐рдУ: MS_V4L2_CAPTURE
  • Video4windows (рдбрд╛рдпрд░реЗрдХреНрдЯ рд╢реЛ) рдХреЕрдкреНрдЪрд░ (рд╡рд┐рдВрдбреЛрдЬ)
  • Video4windows (DirectShow) рдХреЕрдкреНрдЪрд░ (Windows CE)
  • рд╡рд┐рдВрдбреЛрдЬ (vfw) рдХреЕрдкреНрдЪрд░рд╕рд╛рдареА рд╡реНрд╣рд┐рдбрд┐рдУ (рд╡рд┐рдВрдбреЛрдЬ)
  • XV рдкреНрд▓реЗрдмреЕрдХ (рд▓рд┐рдирдХреНрд╕)

рд╡реНрд╣рд┐рдбрд┐рдУ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ/рдбреАрдХреЛрдбрд┐рдВрдЧ

  • H.263, H.263-1998, MP4V-ES, JPEG, MJPEG, рд╣рд┐рдорд╡рд░реНрд╖рд╛рд╡: MS_MJPEG_DEC, MS_H263_ENC, MS_H263_DEC
  • H.264 (рдХреЗрд╡рд│ рдбреАрдХреЛрдбрд░): MS_H264_DEC
  • рдерд┐рдУрд░рд╛: MS_THIORA_ENC, MS_THIORA_DEC
  • VP8: MS_VP8_ENC, MS_VP8_DEC

рд╡реНрд╣рд┐рдбрд┐рдУ рдкреНрд░рдХреНрд░рд┐рдпрд╛

  • jpeg рд╕реНрдиреЕрдкрд╢реЙрдЯ
  • рдкрд┐рдХреНрд╕реЗрд▓ рдлреЙрд░рдореЕрдЯ рдХрдиреНрд╡реНрд╣рд░реНрдЯрд░: MS_PIX_CONV
  • рд░рд┐рд╕рд╛рдпрдЭрд░
  • рдЗрддрд░ рдлрд┐рд▓реНрдЯрд░
  • рдереНрд░реЗрдбреНрд╕рдордзреАрд▓ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХреНрд╕рдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг: MS_ITC_SOURCE, MS_ITC_SINK
  • рдПрдХрд╛рдзрд┐рдХ рдЗрдирдкреБрдЯрдордзреВрди рдПрдХрд╛рдЪ рдЖрдЙрдЯрдкреБрдЯрд╡рд░ рдбреЗрдЯрд╛рдЪреЗ рдмреНрд▓реЙрдХреНрд╕ рдЧреЛрд│рд╛ рдХрд░рдгреЗ: MS_JOIN
  • RTP рдкреНрд░рд╛рдкреНрдд/рдкреНрд░рд╕рд╛рд░рдг: MS_RTP_SEND, MS_RTP_RECV
  • рдПрдХрд╛рдзрд┐рдХ рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рдд рдЖрд╣реЗ: MS_TEE
  • рд╕рдорд╛рдкреНрдд рд▓реЛрдб: MS_VOID_SINK
  • рдореМрди рд╕реНрддреНрд░реЛрдд: MS_VOID_SOURCE

рдкреНрд▓рдЧрдЗрди

рдзреНрд╡рдиреА рдлрд┐рд▓реНрдЯрд░

  • AMR-NB рдПрдиреНрдХреЛрдбрд░/рдбреАрдХреЛрдбрд░
  • G.729 рдПрдиреНрдХреЛрдбрд░/рдбреАрдХреЛрдбрд░
  • iLBC рдПрдиреНрдХреЛрдбрд░/рдбреАрдХреЛрдбрд░
  • SILK рдПрдиреНрдХреЛрдбрд░/рдбреАрдХреЛрдбрд░

    рд╡реНрд╣рд┐рдбрд┐рдУ рдлрд┐рд▓реНрдЯрд░

  • H.264 рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдПрдиреНрдХреЛрдбрд░
  • H.264 V4L2 рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рд╡реЗрдЧрдХ рдПрдиреНрдХреЛрдбрд░/рдбреАрдХреЛрдбрд░

рдлрд┐рд▓реНрдЯрд░рдЪреНрдпрд╛ рдЫреЛрдЯреНрдпрд╛ рд╡рд░реНрдгрдирд╛рдирдВрддрд░, рдкреНрд░рдХрд╛рд░рд╛рдЪреЗ рдирд╛рд╡ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдпрд╛ рдлрд┐рд▓реНрдЯрд░рдЪреЗ рдирд╡реАрди рдЙрджрд╛рд╣рд░рдг рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдкреБрдвреАрд▓ рдЧреЛрд╖реНрдЯреАрдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдпрд╛ рдпрд╛рджреАрдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдК.

рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ рдЕрдВрддрд░реНрдЧрдд рд╕реНрдерд╛рдкрдирд╛

рдЖрддрд╛ рдЖрдореНрд╣реА рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╣ рдЖрдордЪрд╛ рдкрд╣рд┐рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░реВ.

рдЙрдмрдВрдЯреВ рдЪрд╛рд▓рд╡рдгрд╛рд▒реНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдХрд┐рдВрд╡рд╛ рдЖрднрд╛рд╕реА рдорд╢реАрдирд╡рд░ Mediastremer2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рд╢реЗрд╖ рдХреМрд╢рд▓реНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдпреЗрдереЗ рдЖрдгрд┐ рдЦрд╛рд▓реА, "$" рд╣реЗ рдЪрд┐рдиреНрд╣ рдЖрджреЗрд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╢реЗрд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рджрд░реНрд╢рд╡реЗрд▓. рддреНрдпрд╛. рдЬрд░ рд╕реВрдЪреАрдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдЪрд┐рдиреНрд╣ рдУрд│реАрдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рджрд┐рд╕рд▓реЗ, рддрд░ рд╣реА рддреА рдУрд│ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рдХрдорд╛рдВрдбреНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рдЬрд╛рддреЗ рдХреА рдпрд╛ рд▓реЗрдЦрд╛рддреАрд▓ рдЪрд░рдгрд╛рдВрджрд░рдореНрдпрд╛рди, рдЖрдкрд▓реНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ.

libmediastremer-dev рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ

рдЯрд░реНрдорд┐рдирд▓ рд▓рд╛рдБрдЪ рдХрд░рд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рд╛:

$ sudo apt-get update

рддреБрдореНрд╣рд╛рд▓рд╛ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд╛рд╕рд╡рд░реНрдб рд╡рд┐рдЪрд╛рд░рд▓рд╛ рдЬрд╛рдИрд▓, рддреЛ рдПрдВрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ рддреНрдпрд╛рдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрд▓. рдпрд╛рдирдВрддрд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдзрд╛рд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

$ sudo apt-get install libmediastreamer-dev

рдЖрд╡рд╢реНрдпрдХ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдкреЕрдХреЗрдЬреЗрд╕ рдЖрдгрд┐ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рд▓рд╛рдпрдмреНрд░рд░реА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓.

рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрд╡рд▓рдВрдмрди рдбреЗрдм рдкреЕрдХреЗрдЬреЗрд╕рдЪрд╛ рдПрдХреВрдг рдЖрдХрд╛рд░ рдЕрдВрджрд╛рдЬреЗ 35 MB рдЕрд╕реЗрд▓. рд╕реНрдерд╛рдкрд┐рдд рдкреЕрдХреЗрдЬрдмрджреНрджрд▓ рддрдкрд╢реАрд▓ рдХрдорд╛рдВрдбрд╕рд╣ рдЖрдврд│реВ рд╢рдХрддрд╛рдд:

$ dpkg -s libmediastreamer-dev

рдЙрддреНрддрд░ рдЙрджрд╛рд╣рд░рдг:

Package: libmediastreamer-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 244
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Source: linphone
Version: 3.6.1-2.5
Depends: libmediastreamer-base3 (= 3.6.1-2.5), libortp-dev
Description: Linphone web phone's media library - development files
Linphone is an audio and video internet phone using the SIP protocol. It
has a GTK+ and console interface, includes a large variety of audio and video
codecs, and provides IM features.
.
This package contains the development libraries for handling media operations.
Original-Maintainer: Debian VoIP Team <[email protected]>
Homepage: http://www.linphone.org/

рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ

рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реЛрдмрддрдЪреА рд╕рд╛рдзрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛:

$ sudo apt-get install gcc

рдЖрдореНрд╣реА рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрд╡реГрддреНрддреАрдЪреА рдЪреМрдХрд╢реА рдХрд░реВрди рдкрд░рд┐рдгрд╛рдо рддрдкрд╛рд╕рддреЛ:

$ gcc --version

рдЙрддреНрддрд░ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдЕрд╕рд╛рд╡реЗ:

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

рдЪрд╛рдЪрдгреА рдЕрд░реНрдЬ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдЪрд╛рд▓рд╡рдгреЗ

рдЖрдореНрд╣реА рдордзреНрдпреЗ рддрдпрд╛рд░ рдХрд░рддреЛ рдШрд░ рдЖрдордЪреНрдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╕рд╛рдареА рдлреЛрд▓реНрдбрд░, рдЪрд▓рд╛ рдХреЙрд▓ рдХрд░реВрдпрд╛ mstutorial:

$ mkdir ~/mstutorial

рддреБрдордЪрд╛ рдЖрд╡рдбрддрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рд╡рд╛рдкрд░рд╛ рдЖрдгрд┐ рдирд╛рд╡рд╛рдЪреА C рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛ mstest.c рдЦрд╛рд▓реАрд▓ рд╕рд╛рдордЧреНрд░реАрд╕рд╣:

#include "stdio.h"
#include <mediastreamer2/mscommon.h>
int main()
{
  ms_init();
  printf ("Mediastreamer is ready.n");
}

рд╣реЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рд╕реБрд░реВ рдХрд░рддреЗ, рдЧреНрд░реАрдЯрд┐рдВрдЧ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдкрдбрддреЗ.

рдлрд╛рдЗрд▓ рдЬрддрди рдХрд░рд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдбрд╕рд╣ рдЪрд╛рдЪрдгреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрдХрд▓рд┐рдд рдХрд░рд╛:

$ gcc mstest.c -o mstest `pkg-config mediastreamer --libs --cflags`

рдУрд│ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛

`pkg-config mediastreamer --libs --cflags`

рдЕрд╡рддрд░рдг рдЪрд┐рдиреНрд╣рд╛рдВрдордзреНрдпреЗ рдмрдВрдж рдХреЗрд▓реЗрд▓реЗ, рдЬреЗ рдХреАрдмреЛрд░реНрдбрд╡рд░ "╨Б" рдЕрдХреНрд╖рд░рд╛рдЪреНрдпрд╛ рддреНрдпрд╛рдЪ рдард┐рдХрд╛рдгреА рд╕реНрдерд┐рдд рдЖрд╣реЗрдд.

рдлрд╛рдЗрд▓рдордзреНрдпреЗ рддреНрд░реБрдЯреА рдирд╕рд▓реНрдпрд╛рд╕, рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдордзреНрдпреЗ рдПрдХ рдлрд╛рдЗрд▓ рджрд┐рд╕реЗрд▓ mstest. рдЖрдореНрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реБрд░реВ рдХрд░рддреЛ:

$ ./mstest

рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛ рдЕрд╕реЗрд▓:

ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib control.c:954:(snd_ctl_open_noupdate) Invalid CTL default:0
ortp-warning-Could not attach mixer to card: Invalid argument
ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default:0
ALSA lib conf.c:4738:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default:0
ortp-warning-Strange, sound card HDA Intel PCH does not seems to be capable of anything, retrying with plughw...
Mediastreamer is ready.

рдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдПрдПрд▓рдПрд╕рдП рд▓рд╛рдпрдмреНрд░рд░реА рджрд╛рдЦрд╡рдд рдЕрд╕рд▓реЗрд▓реЗ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рдкрд╛рд╣рддреЛ, рддреЗ рд╕рд╛рдЙрдВрдб рдХрд╛рд░реНрдб рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░рдЪреЗ рд╡рд┐рдХрд╕рдХ рд╕реНрд╡рдд: рдорд╛рдирддрд╛рдд рдХреА рд╣реЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдЕрдирд┐рдЪреНрдЫреЗрдиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢реА рд╕рд╣рдордд рдЖрд╣реЛрдд.

рдЖрддрд╛ рдЖрдореНрд╣реА рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдЬреНрдЬ рдЖрд╣реЛрдд. рдЖрдореНрд╣реА рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рд▓рд╛рдпрдмреНрд░рд░реА, рд╕рдВрдХрд▓рди рд╕рд╛рдзрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдкрд░реВрди, рд╕рд╛рдзрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реА рдЖрд╣реЗрдд рдЖрдгрд┐ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рд╕реБрд░реВ рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдкреБрдвреЗ рд▓реЗрдЦ рдЖрдореНрд╣реА рдПрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рддрдпрд╛рд░ рдХрд░реВ рдЬреЗ рдЕрдиреЗрдХ рдлрд┐рд▓реНрдЯрд░рдЪреНрдпрд╛ рд╕рд╛рдЦрд│реАрдордзреНрдпреЗ рдСрдбрд┐рдУ рд╕рд┐рдЧреНрдирд▓рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХрддреНрд░ рдХрд░реЗрд▓ рдЖрдгрд┐ рдЪрд╛рд▓рд╡реЗрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com