Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 1

เชฒเซ‡เช–เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชฎเชพเชฐเชพ เชชเชฐเชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เชเซ‡เชจ เชšเซ‡เชจเชฒ.

เชชเชฐเชฟเชšเชฏ

เช† เชฒเซ‡เช– Mediastreamer2 เชเชจเซเชœเชฟเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ€เช…เชฒ-เชŸเชพเช‡เชฎ เชฎเซ€เชกเชฟเชฏเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชตเชฟเชถเซ‡เชจเชพ เชฒเซ‡เช–เซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชค เช›เซ‡. เชชเซเชฐเซ‡เชเชจเซเชŸเซ‡เชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฒเชฟเชจเช•เซเชธ เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชฒเช˜เซเชคเซเชคเชฎ เช•เซเชถเชณเชคเชพ เช…เชจเซ‡ เชธเซ€ เชญเชพเชทเชพเชฎเชพเช‚ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชธเชพเชฎเซ‡เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

Mediastreamer2 เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช“เชชเชจ-เชธเซ‹เชฐเซเชธ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ voip เชซเซ‹เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชพเช›เชณเชจเซเช‚ VoIP เชเชจเซเชœเชฟเชจ เช›เซ‡. เชฒเชฟเชจเชซเซ‹เชจ. Linphone Mediastreamer2 เชฎเชพเช‚ เชงเซเชตเชจเชฟ เช…เชจเซ‡ เชตเชฟเชกเชฟเชฏเซ‹ เชธเช‚เชฌเช‚เชงเชฟเชค เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡. เช† Mediastreamer เชชเซƒเชทเซเช  เชชเชฐ เชเชจเซเชœเชฟเชจ เชธเซเชตเชฟเชงเชพเช“เชจเซ€ เชตเชฟเช—เชคเชตเชพเชฐ เชธเซ‚เชšเชฟ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡. เชธเซเชฐเซ‹เชค เช•เซ‹เชก เช…เชนเซ€เช‚ เช›เซ‡: GitLab.

เช†เช—เชณ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚, เชธเช—เชตเชก เชฎเชพเชŸเซ‡, Mediastreamer2 เชถเชฌเซเชฆเชจเซ‡ เชฌเชฆเชฒเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเชพ เชฐเชถเชฟเชฏเชจ เชธเช‚เช•เซ‡เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚: "เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ".

เชคเซ‡เชจเซ€ เชฐเชšเชจเชพเชจเซ‹ เชˆเชคเชฟเชนเชพเชธ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เชธเซเชชเชทเซเชŸ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชกเชจเซ‡ เช†เชงเชพเชฐเซ‡, เชคเซ‡ เช…เช—เชพเช‰ เชชเซเชธเซเชคเช•เชพเชฒเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซเช‚ เชนเชคเซเช‚. เช—เซเชฒเชฟเชฌ, เชœเซ‡, เชœเซ‡เชฎ เชคเซ‡ เชนเชคเชพ, เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เชญเชตเชฟเชค เชฆเซ‚เชฐเชจเชพ เชธเช‚เชฌเช‚เชงเชจเซ‹ เชธเช‚เช•เซ‡เชค เช†เชชเซ‡ เช›เซ‡ เชœเซ€เชธเซเชŸเซเชฐเซ€เชฎเชฐ. เชœเซ‡เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชตเชงเซ เชนเชณเชตเชพ เชฒเชพเช—เซ‡ เช›เซ‡. เชฒเชฟเชจเชซเซ‹เชจเชจเซเช‚ เชชเซเชฐเชฅเชฎ เชธเช‚เชธเซเช•เชฐเชฃ 2001 เชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏเซเช‚ เชนเชคเซเช‚, เชคเซ‡เชฅเซ€ เช† เช•เซเชทเชฃเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡ เช…เชจเซ‡ เชฒเช—เชญเช— 20 เชตเชฐเซเชทเชฅเซ€ เชตเชฟเช•เชธเชฟเชค เช›เซ‡.

เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชจเชพ เช•เซ‡เชจเซเชฆเซเชฐเชฎเชพเช‚ "เชกเซ‡เชŸเชพ เชซเซเชฒเซ‹" (เชกเซ‡เชŸเชพ เชซเซเชฒเซ‹) เชจเชพเชฎเชจเซเช‚ เชเช• เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เช›เซ‡. เช†เชตเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชจเซ€เชšเซ‡เชจเซ€ เช†เช•เซƒเชคเชฟเชฎเชพเช‚ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.

Mediastreamer2 VoIP เชเชจเซเชœเชฟเชจเชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ. เชญเชพเช— 1

เช† เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชฎเชพเช‚, เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เช•เซ‹เชˆเชชเชฃ เช•เซเชฐเชฎเชฎเชพเช‚ เช—เซ‹เช เชตเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชธเซเช•เซ€เชฎ (เช—เซเชฐเชพเชซ) เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช† เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ VoIP เชซเซ‹เชจ RTP เชŸเซเชฐเชพเชซเชฟเช• เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เช…เชจเซ‡ เชŸเซเชฐเชพเชจเซเชธเชฎเชฟเชถเชจ เชธเซเช•เซ€เชฎ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเชพ เชธเชฎเซ‚เชนเชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเซ€เชกเชฟเชฏเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชซเชฟเชฒเซเชŸเชฐเชจเซ‡ เชฎเชจเชธเซเชตเซ€ เชฏเซ‹เชœเชจเชพเช“เชฎเชพเช‚ เชœเซ‹เชกเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เชจเชตเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซ‹ เชธเชฐเชณ เชตเชฟเช•เชพเชธ, เชธเซเชตเชคเช‚เชคเซเชฐ เช…เชฒเช— เชชเซเชธเซเชคเช•เชพเชฒเชฏ เชคเชฐเซ€เช•เซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชจเซ‹ เช…เชฎเชฒ, เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเซ€เช“เช†เชˆเชชเซ€เชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชชเซ‹เชคเชพเชจเชพ เชนเชพเชฅ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธ เช‰เชฎเซ‡เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡.

เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชซเชฟเชฒเซเชŸเชฐ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช–เซ‚เชฌ เชธเชฎเซƒเชฆเซเชง เช›เซ‡ เช…เชจเซ‡, เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชคเซ‡เชฎ, เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชกเชฟเชเชพเช‡เชจเชจเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชชเชนเซ‡เชฒเชพ, เชšเชพเชฒเซ‹ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชธเชพเชฅเซ‡ เช†เชตเชคเชพ เชคเซˆเชฏเชพเชฐ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช. เช…เชนเซ€เช‚ เชคเซ‡เชฎเชจเซ€ เชธเซ‚เชšเชฟ เช›เซ‡:

เชธเชพเช‰เชจเซเชก เชซเชฟเชฒเซเชŸเชฐเซเชธ

เช“เชกเชฟเชฏเซ‹ เช•เซ‡เชชเซเชšเชฐ เช…เชจเซ‡ เชชเซเชฒเซ‡เชฌเซ‡เช•

  • เช…เชฒเซเชธเชพ (เชฒเชฟเชจเช•เซเชธ): MS_ALSA_WRITE, MS_ALSA_READ
  • เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชฎเซ‚เชณ เช…เชตเชพเชœ (เชฒเชฟเชฌเชฎเซ€เชกเชฟเชฏเชพ): MS_ANDROID_SOUND_WRITE, MS_ANDROID_SOUND_READ
  • เช“เชกเชฟเชฏเซ‹ เช•เชคเชพเชฐ เชธเซ‡เชตเชพ (Mac OS X): MS_AQ_WRITE, MS_AQ_READ
  • เช“เชกเชฟเชฏเซ‹ เชฏเซเชจเชฟเชŸ เชธเชฐเซเชตเชฟเชธ (เชฎเซ‡เช• เช“เชเชธ เชเช•เซเชธ)
  • เช†เชฐเซเชŸเชธ (เชฒเชฟเชจเช•เซเชธ): MS_ARTS_WRITE, MS_ARTS_READ
  • เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชธเชพเช‰เชจเซเชก (Windows): MS_WINSNDDS_WRITE, MS_WINSNDDS_READ
  • เชซเชพเช‡เชฒ เชชเซเชฒเซ‡เชฏเชฐ (raw/wav/pcap เชซเชพเช‡เชฒเซ‹) (Linux): MS_FILE_PLAYER
  • เชซเชพเช‡เชฒ เชชเซเชฒเซ‡เชฏเชฐ (raw/wav เชซเชพเช‡เชฒเซ‹) (Windows): MS_WINSND_READ
  • เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเช–เซ‹ (wav เชซเชพเช‡เชฒเซ‹) (Linux): MS_FILE_REC
  • เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเช–เซ‹ (wav เชซเชพเช‡เชฒเซ‹) (Windows): MS_WINSND_WRITE
  • เชฎเซ‡เช• เช“เชกเชฟเชฏเซ‹ เชฏเซเชจเชฟเชŸ (เชฎเซ‡เช• เช“เชเชธ เชเช•เซเชธ)
  • MME (Windows)
  • OSS (Linux): MS_OSS_WRITE, MS_OSS_READ
  • เชชเซ‹เชฐเซเชŸเช“เชกเชฟเชฏเซ‹ (เชฎเซ‡เช• เช“เชเชธ เชเช•เซเชธ)
  • เชชเชฒเซเชธ เช“เชกเชฟเชฏเซ‹ (เชฒเชฟเชจเช•เซเชธ): MS_PULSE_WRITE, MS_PULSE_READ
  • เชตเชฟเชจเซเชกเซ‹เช เชธเชพเช‰เชจเซเชก (เชตเชฟเชจเซเชกเซ‹เช)

เช“เชกเชฟเชฏเซ‹ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—/เชกเซ€เช•เซ‹เชกเชฟเช‚เช—

  • G.711 เช-เชฒเซ‹: 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

เชตเชฟเชกเชฟเช“ เชซเชฟเชฒเซเชŸเชฐเซเชธ

เชตเชฟเชกเชฟเช“ เช•เซ‡เชชเซเชšเชฐ เช…เชจเซ‡ เชชเซเชฒเซ‡เชฌเซ‡เช•

  • เชเชจเซเชกเซเชฐเซ‹เช‡เชก เช•เซ‡เชชเซเชšเชฐ
  • เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชชเซเชฒเซ‡เชฌเซ‡เช•
  • AV เชซเชพเช‰เชจเซเชกเซ‡เชถเชจ เช•เซ‡เชชเซเชšเชฐ (iOS)
  • AV เชซเชพเช‰เชจเซเชกเซ‡เชถเชจ เชชเซเชฒเซ‡เชฌเซ‡เช• (iOS)
  • เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชถเซ‹ เช•เซ‡เชชเซเชšเชฐ (เชตเชฟเชจเซเชกเซ‹เช)
  • DrawDib เชชเซเชฒเซ‡เชฌเซ‡เช• (Windows)
  • เชฌเชพเชนเซเชฏ เชชเซเชฒเซ‡เชฌเซ‡เช• - เชŸเซ‹เชšเชจเชพ เชธเซเชคเชฐ เชชเชฐ เชตเชฟเชกเชฟเช“ เชฎเซ‹เช•เชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡
  • GLX เชชเซเชฒเซ‡เชฌเซ‡เช• (Linux): MS_GLXVIDEO
  • เชฎเซ€เชฐ - เชธเชฟเชจเซเชฅเซ‡เชŸเชฟเช• เชฎเซ‚เชตเชฟเช‚เช— เชชเชฟเช•เซเชšเชฐ: MS_MIRE
  • เช“เชชเชจเชœเซ€เชเชฒ เชชเซเชฒเซ‡เชฌเซ‡เช• (เชฎเซ‡เช• เช“เชเชธ เชเช•เซเชธ)
  • OpenGL ES2 เชชเซเชฒเซ‡เชฌเซ‡เช• (Android)
  • เช•เซเชตเชฟเช•เชŸเชพเช‡เชฎ เช•เซ‡เชชเซเชšเชฐ (เชฎเซ‡เช• เช“เชเชธ เชเช•เซเชธ)
  • SDL เชชเซเชฒเซ‡เชฌเซ‡เช•: MS_SDL_OUT
  • เชธเซเชฅเชฟเชฐ เช›เชฌเซ€ เช†เช‰เชŸเชชเซเชŸ: MS_STATIC_IMAGE
  • Linux (V4L) เช•เซ‡เชชเซเชšเชฐ (Linux) เชฎเชพเชŸเซ‡ เชตเชฟเชกเชฟเช“: MS_V4L
  • Linux 2 (V4L2) เช•เซ‡เชชเซเชšเชฐ (Linux) เชฎเชพเชŸเซ‡ เชตเชฟเชกเชฟเชฏเซ‹: MS_V4L2_CAPTURE
  • Video4windows (DirectShow) เช•เซ‡เชชเซเชšเชฐ (Windows)
  • Video4windows (DirectShow) เช•เซ‡เชชเซเชšเชฐ (Windows CE)
  • เชตเชฟเชจเซเชกเซ‹เช (vfw) เช•เซ‡เชชเซเชšเชฐ (เชตเชฟเชจเซเชกเซ‹เช) เชฎเชพเชŸเซ‡ เชตเชฟเชกเชฟเช“
  • XV เชชเซเชฒเซ‡เชฌเซ‡เช• (Linux)

เชตเชฟเชกเชฟเช“ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—/เชกเซ€เช•เซ‹เชกเชฟเช‚เช—

  • H.263, H.263-1998, MP4V-ES, JPEG, MJPEG, Snow: 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 เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชเช•เซเชธเชฟเชฒเชฐเซ‡เชŸเซ‡เชก เชเชจเซเช•เซ‹เชกเชฐ/เชกเซ€เช•เซ‹เชกเชฐ

เชซเชฟเชฒเซเชŸเชฐเชจเชพ เชŸเซ‚เช‚เช•เชพ เชตเชฐเซเชฃเชจ เชชเช›เซ€, เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชจเชพเชฎ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช† เชซเชฟเชฒเซเชŸเชฐเชจเซ‹ เชจเชตเซ‹ เชฆเชพเช–เชฒเซ‹ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เชฅเชพเชฏ เช›เซ‡. เชจเซ€เชšเซ‡เชจเชพเชฎเชพเช‚, เช…เชฎเซ‡ เช† เชธเซ‚เชšเชฟเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆเชถเซเช‚.

Linux เช‰เชฌเซเชจเซเชŸเซ เชนเซ‡เช เชณ เชธเซเชฅเชพเชชเชจ

เชนเชตเซ‡ เช…เชฎเซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช…เชฎเชพเชฐเซ€ เชชเซเชฐเชฅเชฎ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเซ€เชถเซเช‚.

เช‰เชฌเซเชจเซเชŸเซ เชšเชฒเชพเชตเชคเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เช…เชฅเชตเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชชเชฐ 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/

เชตเชฟเช•เชพเชธ เชธเชพเชงเชจเซ‹ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

C เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡เชจเชพ เชŸเซ‚เชฒเซเชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

$ 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.

เช† เชธเซ‚เชšเชฟเชฎเชพเช‚, เช…เชฎเซ‡ ALSA เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชคเซ€ เชญเซ‚เชฒ เชธเช‚เชฆเซ‡เชถเชพเช“ เชœเซ‹เชˆเช เช›เซ€เช, เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเชพเช‰เชจเซเชก เช•เชพเชฐเซเชกเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชชเซ‹เชคเซ‡ เชฎเชพเชจเซ‡ เช›เซ‡ เช•เซ‡ เช† เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เชฎเซ‡ เช…เชจเชฟเชšเซเช›เชพเช เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เชฎเชค เช›เซ€เช.

เชนเชตเซ‡ เช…เชฎเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช. เช…เชฎเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€, เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจ เชŸเซ‚เชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชŸเซเชฐเชพเชฏเชฒ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชšเช•เชพเชธเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชŸเซ‚เชฒเซเชธ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชฎเซ€เชกเชฟเชฏเชพ เชธเซเชŸเซเชฐเซ€เชฎเชฐ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เช†เช—เชณ เชฒเซ‡เช– เช…เชฎเซ‡ เชเช• เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฌเชจเชพเชตเซ€เชถเซเช‚ เชœเซ‡ เช“เชกเชฟเชฏเซ‹ เชธเชฟเช—เซเชจเชฒเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช˜เชฃเชพ เชซเชฟเชฒเซเชŸเชฐเซเชธเชจเซ€ เชธเชพเช‚เช•เชณเชฎเชพเช‚ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชšเชฒเชพเชตเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com