Mediastreamer2 VoIP เจ‡เฉฐเจœเจฃ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจญเจพเจ— 1

เจฒเฉ‡เจ– เจธเจฎเฉฑเจ—เจฐเฉ€ เจฎเฉ‡เจฐเฉ‡ เจคเฉ‹เจ‚ เจฒเจˆ เจ—เจˆ เจนเฉˆ เจœเจผเฉˆเจจ เจšเฉˆเจจเจฒ.

เจœเจพเจฃ เจชเจ›เจพเจฃ

เจ‡เจน เจฒเฉ‡เจ– Mediastreamer2 เจ‡เฉฐเจœเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฐเฉ€เจ…เจฒ-เจŸเจพเจˆเจฎ เจฎเฉ€เจกเฉ€เจ† เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจฒเฉœเฉ€ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจนเฉˆเฅค เจชเฉ‡เจธเจผเจ•เจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฒเฉ€เจจเจ•เจธ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจจ เจ…เจคเฉ‡ C เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจฆเฉ‡ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจนเฉเจจเจฐ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเจ—เฉ‡เฅค

Mediastreamer2 เจชเฉเจฐเจธเจฟเฉฑเจง เจ“เจชเจจ-เจธเฉ‹เจฐเจธ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจตเฉ€เจ“เจ†เจˆเจชเฉ€ เจซเฉ‹เจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจ‡เฉฑเจ• VoIP เจ‡เฉฐเจœเจฃ เจนเฉˆเฅค เจฒเจฟเจจเจซเฉ‹เจจ. Linphone Mediastreamer2 เจ†เจกเฉ€เจ“ เจ…เจคเฉ‡ เจตเฉ€เจกเฉ€เจ“ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเจพเจฐเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฐเจœเจฃ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉ‚เจšเฉ€ เจ‡เจธ Mediastreamer เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจตเฉ‡เจ–เฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ‡เฉฑเจฅเฉ‡ เจนเฉˆ: GitLab.

เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจ…เฉฑเจ—เฉ‡, เจธเจนเฉ‚เจฒเจค เจฒเจˆ, Mediastreamer2 เจธเจผเจฌเจฆ เจฆเฉ€ เจฌเจœเจพเจ เจ…เจธเฉ€เจ‚ เจ‡เจธเจฆเฉ‡ เจฐเฉ‚เจธเฉ€ เจธเฉฐเจ•เฉ‡เจค เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡: โ€œเจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐโ€เฅค

เจ‡เจธเจฆเฉ€ เจฐเจšเจจเจพ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เจธเจฆเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจธเฉ€ เจ—เจฒเจฟเจฌ, เจœเฉ‹ เจ•เจฟ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจธเจจ, เจจเจพเจฒ เจ‡เฉฑเจ• เจธเฉฐเจญเจพเจตเฉ€ เจฆเฉ‚เจฐ เจฆเฉ‡ เจฐเจฟเจธเจผเจคเฉ‡ เจตเฉฑเจฒ เจธเฉฐเจ•เฉ‡เจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ€เจธเจŸเจฐเฉ€เจฎเจฐ. เจœเจฟเจธ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจœเจผเจฟเจ†เจฆเจพ เจนเจฒเจ•เจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจฒเจฟเจจเจซเฉ‹เจจ เจฆเจพ เจชเจนเจฟเจฒเจพ เจธเฉฐเจธเจ•เจฐเจฃ 2001 เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ† เจธเฉ€, เจ‡เจธ เจฒเจˆ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ เจ…เจคเฉ‡ เจฒเจ—เจญเจ— 20 เจธเจพเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจตเจฟเจ•เจธเจค เจนเฉˆเฅค

เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจฆเฉ‡ เจฆเจฟเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ "เจกเจพเจŸเจพ เจชเฉเจฐเจตเจพเจน" (เจกเฉ‡เจŸเจพ เจชเฉเจฐเจตเจพเจน) เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเฉ‡ เจ‡เฉฑเจ• เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉ‡เจ  เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ.

Mediastreamer2 VoIP เจ‡เฉฐเจœเจฃ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจญเจพเจ— 1

เจ‡เจธ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจตเจฟเฉฑเจš, เจกเฉ‡เจŸเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจจเจนเฉ€เจ‚, เจชเจฐ เจ‡เฉฑเจ• เจธเจ•เฉ€เจฎ (เจ—เฉเจฐเจพเจซ) เจฆเฉเจ†เจฐเจพ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฒเจˆ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจตเจฟเจตเจธเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจ‡เฉฑเจ• VoIP เจซเฉ‹เจจ เจฆเฉ‡ RTP เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฐเจ•เจŸ เจตเจฟเฉฑเจš เจœเฉเฉœเฉ‡ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉ€เจกเฉ€เจ† เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจนเฉเจฆเจฐเฉ‡ เจธเจ•เฉ€เจฎเจพเจ‚ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ, เจจเจตเฉ‡เจ‚ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจฆเจพ เจธเจงเจพเจฐเจจ เจตเจฟเจ•เจพเจธ, เจ‡เฉฑเจ• เจธเฉเจคเฉฐเจคเจฐ เจตเฉฑเจ–เจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจœเฉ‹เจ‚ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ VoIP เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ เจ—เจ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ.

เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจซเจฟเจฒเจŸเจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ•เจพเจซเจผเฉ€ เจ…เจฎเฉ€เจฐ เจนเฉˆ เจ…เจคเฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจธเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจฆเฉ‡ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจจเจพเจฒ เจตเจงเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจคเจฟเจ†เจฐ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเฉ€เจเฅค เจ‡เฉฑเจฅเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจนเฉˆ:

เจงเฉเจจเฉ€ เจซเจฟเจฒเจŸเจฐ

เจ†เจกเฉ€เจ“ เจ•เฉˆเจชเจšเจฐ เจ…เจคเฉ‡ เจชเจฒเฉ‡เจฌเฉˆเจ•

  • เจ…เจฒเจธเจพ (เจฒเฉ€เจจเจ•เจธ): MS_ALSA_WRITE, MS_ALSA_READ
  • เจเจ‚เจกเจฐเจพเจ‡เจก เจฎเฉ‚เจฒ เจงเฉเจจเฉ€ (เจฒเจฟเจฌเจฎเฉ€เจกเฉ€เจ†): MS_ANDROID_SOUND_WRITE, MS_ANDROID_SOUND_READ
  • เจ†เจกเฉ€เจ“ เจ•เจคเจพเจฐ เจธเฉ‡เจตเจพ (Mac OS X): MS_AQ_WRITE, MS_AQ_READ
  • เจ†เจกเฉ€เจ“ เจฏเฉ‚เจจเจฟเจŸ เจธเฉ‡เจตเจพ (Mac OS X)
  • เจ•เจฒเจพ (เจฒเฉ€เจจเจ•เจธ): MS_ARTS_WRITE, MS_ARTS_READ
  • เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจธเจพเจŠเจ‚เจก (เจตเจฟเฉฐเจกเฉ‹เจœเจผ): MS_WINSNDDS_WRITE, MS_WINSNDDS_READ
  • เจซเจพเจˆเจฒ เจชเจฒเฉ‡เจ…เจฐ (raw/wav/pcap เจซเจพเจˆเจฒเจพเจ‚) (เจฒเฉ€เจจเจ•เจธ): MS_FILE_PLAYER
  • เจซเจพเจˆเจฒ เจชเจฒเฉ‡เจ…เจฐ (เจฐเจพเจ…/เจตเฉ‡เจต เจซเจพเจˆเจฒเจพเจ‚) (เจตเจฟเฉฐเจกเฉ‹เจœเจผ): MS_WINSND_READ
  • เจซเจพเจˆเจฒ (wav เจซเจพเจˆเจฒเจพเจ‚) (เจฒเฉ€เจจเจ•เจธ) เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹: MS_FILE_REC
  • เจซเจพเจˆเจฒ (wav เจซเจพเจˆเจฒเจพเจ‚) (เจตเจฟเฉฐเจกเฉ‹เจœเจผ) เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹: MS_WINSND_WRITE
  • เจฎเฉˆเจ• เจ†เจกเฉ€เจ“ เจฏเฉ‚เจจเจฟเจŸ (Mac OS X)
  • MME (เจตเจฟเฉฐเจกเฉ‹เจœเจผ)
  • OSS (เจฒเฉ€เจจเจ•เจธ): MS_OSS_WRITE, MS_OSS_READ
  • เจชเฉ‹เจฐเจŸเจ†เจกเฉ€เจ“ (Mac OS X)
  • PulseAudio (Linux): 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

เจตเฉ€เจกเฉ€เจ“ เจซเจฟเจฒเจŸเจฐ

เจตเฉ€เจกเฉ€เจ“ เจ•เฉˆเจชเจšเจฐ เจ…เจคเฉ‡ เจชเจฒเฉ‡เจฌเฉˆเจ•

  • Android เจ•เฉˆเจชเจšเจฐ
  • เจเจ‚เจกเจฐเจพเจ‡เจก เจชเจฒเฉ‡เจฌเฉˆเจ•
  • AV เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ เจ•เฉˆเจชเจšเจฐ (iOS)
  • AV เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ เจชเจฒเฉ‡เจฌเฉˆเจ• (iOS)
  • เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจธเจผเฉ‹ เจ•เฉˆเจชเจšเจฐ (เจตเจฟเฉฐเจกเฉ‹เจœเจผ)
  • DrawDib เจชเจฒเฉ‡เจฌเฉˆเจ• (เจตเจฟเฉฐเจกเฉ‹เจœเจผ)
  • เจฌเจพเจนเจฐเฉ€ เจชเจฒเฉ‡เจฌเฉˆเจ• - เจธเจฟเจ–เจฐ เจฆเฉ€ เจชเจฐเจค 'เจคเฉ‡ เจตเฉ€เจกเฉ€เจ“ เจญเฉ‡เจœ เจฐเจฟเจนเจพ เจนเฉˆ
  • GLX เจชเจฒเฉ‡เจฌเฉˆเจ• (Linux): MS_GLXVIDEO
  • เจฎเจพเจˆเจฐ - เจธเจฟเฉฐเจฅเฉˆเจŸเจฟเจ• เจฎเฉ‚เจตเจฟเฉฐเจ— เจคเจธเจตเฉ€เจฐ: MS_MIRE
  • OpenGL เจชเจฒเฉ‡เจฌเฉˆเจ• (Mac OS X)
  • OpenGL ES2 เจชเจฒเฉ‡เจฌเฉˆเจ• (Android)
  • เจ•เฉเจ‡เฉฑเจ•เจŸเจพเจˆเจฎ เจ•เฉˆเจชเจšเจฐ (Mac OS X)
  • SDL เจชเจฒเฉ‡เจฌเฉˆเจ•: MS_SDL_OUT
  • เจธเจฅเจฟเจฐ เจšเจฟเฉฑเจคเจฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ: MS_STATIC_IMAGE
  • เจฒเฉ€เจจเจ•เจธ (V4L) เจ•เฉˆเจชเจšเจฐ (เจฒเฉ€เจจเจ•เจธ) เจฒเจˆ เจตเฉ€เจกเฉ€เจ“: MS_V4L
  • Linux 2 (V4L2) เจ•เฉˆเจชเจšเจฐ (เจฒเฉ€เจจเจ•เจธ) เจฒเจˆ เจตเฉ€เจกเฉ€เจ“: MS_V4L2_CAPTURE
  • Video4windows (เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจธเจผเฉ‹) เจ•เฉˆเจชเจšเจฐ (เจตเจฟเฉฐเจกเฉ‹เจœเจผ)
  • Video4windows (DirectShow) เจ•เฉˆเจชเจšเจฐ (Windows CE)
  • เจตเจฟเฉฐเจกเฉ‹เจœเจผ (vfw) เจ•เฉˆเจชเจšเจฐ (เจตเจฟเฉฐเจกเฉ‹เจœเจผ) เจฒเจˆ เจตเฉ€เจกเฉ€เจ“
  • XV เจชเจฒเฉ‡เจฌเฉˆเจ• (เจฒเฉ€เจจเจ•เจธ)

เจตเฉ€เจกเฉ€เจ“ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ—/เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ—

  • 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 เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจเจ•เจธเจฒเจฐเฉ‡เจŸเจฟเจก เจเจจเจ•เฉ‹เจกเจฐ/เจกเฉ€เจ•เฉ‹เจกเจฐ

เจซเจฟเจฒเจŸเจฐ เจฆเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฐเจฃเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ•เจฟเจธเจฎ เจฆเจพ เจจเจพเจฎ เจฆเจฟเจ–เจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เจธ เจซเจฟเจฒเจŸเจฐ เจฆเฉ€ เจจเจตเฉ€เจ‚ เจ‰เจฆเจพเจนเจฐเจฃ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจ—เจฒเฉ€ เจšเจฐเจšเจพ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเฉ‚เจšเฉ€ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡เฅค

เจฒเฉ€เจจเจ•เจธ เจ‰เจฌเฉฐเจŸเฉ‚ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ

เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจธเจฅเจพเจชเจค เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจธเจพเจกเฉ€ เจชเจนเจฟเจฒเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡เฅค

เจ‰เจฌเฉฐเจŸเฉ‚ เจšเจฒเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจœเจพเจ‚ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ Mediastremer2 เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจธเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเฉเจจเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚, เจšเจฟเฉฐเจจเฉเจน "$" เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเจพเจ–เจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจผเฉˆเฉฑเจฒ เจชเฉเจฐเฉ‹เจ‚เจชเจŸ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจเจ—เจพเฅค เจ‰เจน. เจœเฉ‡เจ•เจฐ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ‡เจน เจšเจฟเฉฐเจจเฉเจน เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจนเฉˆ เจœเฉ‹ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฆเฉฑเจธเฉ‡ เจ—เจ เจ•เจฆเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจฆเฉ€ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจนเฉˆเฅค

libmediastromer-dev เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ

เจŸเจฐเจฎเฉ€เจจเจฒ เจšเจฒเจพเจ“ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจŸเจพเจˆเจช เจ•เจฐเฉ‹:

$ sudo apt-get update

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเจพเจธเจตเจฐเจก เจฎเฉฐเจ—เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ, เจ‡เจธเจจเฉ‚เฉฐ เจฆเจพเจ–เจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจ‡เจธเจฆเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

$ sudo apt-get install libmediastreamer-dev

เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพ เจชเฉˆเจ•เฉ‡เจœ เจ…เจคเฉ‡ เจฎเฉ€เจกเฉ€เจ† เจธเจŸเฉเจฐเฉ€เจฎเจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ…เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ deb เจจเจฟเจฐเจญเจฐเจคเจพ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฆเจพ เจ•เฉเฉฑเจฒ เจ†เจ•เจพเจฐ เจฒเจ—เจญเจ— 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