แกแขแแขแแแก แแแกแแแ แแฆแแแฃแแแ แฉแแแ
แจแแกแแแแแ
แแก แกแขแแขแแ แแ แแก แกแขแแขแแแแแก แกแแ แแแก แแแกแแฌแงแแกแ Mediastreamer2 แซแ แแแแก แแแแแงแแแแแแ แ แแแแฃแ แแ แแจแ แแแแแแก แแแแฃแจแแแแแแก แจแแกแแฎแแ. แแ แแแแแขแแชแแ แแแแชแแแก Linux แขแแ แแแแแแจแ แแฃแจแแแแแก แแแแแแแแฃแ แฃแแแ แแแก แแ C แแแแแ แแ แแแ แแแแ แแแแก.
Mediastreamer2 แแ แแก VoIP แซแ แแแ แแแแฃแแแ แฃแแ แฆแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก Voip แขแแแแคแแแแก แแ แแแฅแขแแก แฃแแแ.
แจแแแแแแ แขแแฅแกแขแจแ, แแแฎแแ แฎแแแฃแแแแแกแแแแก, แกแแขแงแแแก Mediastreamer2-แแก แแแชแแแแ แแแแแแแงแแแแแ แแแก แ แฃแกแฃแ แแฆแแแจแแแแก: โmedia streamerโ.
แแแกแ แจแแฅแแแแก แแกแขแแ แแ แแแแแ แแแแแแ แแ แแ แแก, แแแแ แแ แแแกแ แฌแงแแ แ แแแแแ แแแแกแฏแแแแแ, แแแแแแแ แแแแแแแแแแ แแงแแแแแแ
แแแแแ แกแขแ แแแแ แแก แแฃแแจแ แแ แแก แแ แฅแแขแแฅแขแฃแ แ แกแแฎแแแฌแแแแแแ "แแแแแชแแแแ แแแแแแ" (แแแแแชแแแแ แแแแแแ). แแกแแแ แแ แฅแแขแแฅแขแฃแ แแก แแแแแแแแ แแแฉแแแแแแแ แฅแแแแแ แแแชแแแฃแ แคแแแฃแ แแจแ.
แแ แแ แฅแแขแแฅแขแฃแ แแจแ แแแแแชแแแแ แแแแฃแจแแแแแแก แแแแแ แแแแ แแแแแแแแฃแแแ แแ แ แแ แแแ แแแแก แแแแแ, แแ แแแแ แคแฃแแฅแชแแแแแก แแแแแแแแจแแ แแแแแ แกแฅแแแแ (แแ แแคแแแแ), แ แแแแแแช แจแแแซแแแแ แแแแแแแแแก แแแแแกแแแแ แ แแแแแแแแแแ แแแแ. แแ แคแฃแแฅแชแแแแก แคแแแขแ แแแ แแฌแแแแแ.
แแก แแ แฅแแขแแฅแขแฃแ แ แจแแกแแซแแแแแแก แฎแแแก แแแแแแก แแแแฃแจแแแแแแก แคแฃแแฅแชแแแก แแแแฎแแ แชแแแแแแแก แคแแแขแ แแแแก แแแแ แแแแก แกแแฎแแ, แ แแแแแแช แแแแแแจแแ แแแฃแแแ VoIP แขแแแแคแแแแก RTP แขแ แแคแแแแก แแแแฃแจแแแแแแกแ แแ แแแแแชแแแแก แกแฅแแแแกแแแ.
แคแแแขแ แแแแก แแแแแแแแฃแ แกแฅแแแแแจแ แแแแ แแแแแแแแก แจแแกแแซแแแแแแแ, แแฎแแแ แคแแแขแ แแแแก แแแ แขแแแ แแแแแแแแ แแแ, แแแแแ แกแขแ แแแแ แแก, แ แแแแ แช แแแแแฃแแแแแแแแ แชแแแแ แแแแแแแแแแแก แแแแแ แแแ, แกแแจแฃแแแแแแก แแซแแแแก แแแก แแแแแแงแแแแก แกแฎแแ แแ แแแฅแขแแแจแ. แฃแคแ แ แแแขแแช, แแ แแแฅแขแ แจแแแซแแแแ แแงแแก VoIP-แแก แกแคแแ แแจแ, แแแแแแแแ แจแแกแแซแแแแแแแ แกแแแฃแแแ แ แแแแแก แแแแ แจแแฅแแแแแ แคแแแขแ แแแแก แแแแแขแแแ.
แแแแฃแแแกแฎแแแแแ แแแฌแแแแแฃแแ แคแแแขแ แแก แแแแแแแแแแ แกแแแแแแ แแแแแแ แแ แแ, แ แแแแ แช แฃแแแ แแฆแแแแจแแแ, แจแแแซแแแแ แแแคแแ แแแแแแก แฉแแแแแแ แแแแแแแแก แคแแแขแ แแแแ. แแแแ แแ แแแ แแแ แ แแแจแ, แแแแแ แแฆแแฌแแ แแ แแแ แคแแแขแ แแแ, แ แแแแแแแช แแแงแแแแ แแแแแ แกแขแ แแแแ แก. แแฅ แแ แแก แแแแ แกแแ:
แฎแแแก แคแแแขแ แแแ
แแฃแแแแก แแแแแฆแแแ แแ แแแแแ แ
- Alsa (Linux): 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
- แแฃแแแ แแ แแแฃแแแก แกแแ แแแกแ (Mac OS X)
- แฎแแแแแแแแ (Linux): MS_ARTS_WRITE, MS_ARTS_READ
- DirectSound (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
- Mac แแฃแแแ แแ แแแฃแแ (Mac OS X)
- MME (Windows)
- OSS (Linux): MS_OSS_WRITE, MS_OSS_READ
- PortAudio (Mac OS X)
- PulseAudio (Linux): MS_PULSE_WRITE, MS_PULSE_READ
- Windows Sound (Windows)
แแฃแแแ แแแแแ แแแ/แแแจแแคแแ แ
- G.711 a-แแแแแแ: 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
- แแฅแแก แแแฃแฅแแแแ (Speex): MS_SPEEX_EC
- แแฅแแแแแแแแ แ: MS_EQUALIZER
- แแแฅแกแแ แ: MS_MIXER
- แแแแแขแแก แแแแแ แแแแก แแแแแแแกแแขแแ แ (PLC): MS_GENERIC_PLC
- Resampler: MS_RESAMPLE
- แขแแแแก แแแขแแฅแขแแ แ: MS_TONE_DETECTOR
- แฎแแแก แแแแขแ แแแ แแ แกแแแแแแแก แแแแแก แแแแแแแ: MS_VOLUME
แแแแแ แคแแแขแ แแแ
แแแแแแก แแแแแฆแแแ แแ แแแแแ แ
- แแแแ แแแแแก แแแแแฆแแแ
- แแแแ แแแแแก แแแแแ แ
- AV Foundation แแแแแฆแแแ (iOS)
- AV Foundation แแแแแ แ (iOS)
- DirectShow Capture (Windows)
- DrawDib แแแแแ แ (Windows)
- แแแ แ แแแแแ แ - แแแแแแก แแแแแแแแ แแแแ แคแแแแจแ
- GLX แแแแแ แ (Linux): MS_GLXVIDEO
- Mire - แกแแแแแขแแแฃแ แ แแแซแ แแแ แกแฃแ แแแ: MS_MIRE
- OpenGL แแแแแ แ (Mac OS X)
- OpenGL ES2 แแแแแ แ (Android)
- Quicktime Capture (Mac OS X)
- 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)
- แแแแแ Windows-แแกแแแแก (vfw) แแแแแฆแแแ (Windows)
- XV แแแแแ แ (Linux)
แแแแแแก แแแแแ แแแ/แแแจแแคแแ แ
- H.263, H.263-1998, MP4V-ES, JPEG, MJPEG, แแแแแ: MS_MJPEG_DEC, MS_H263_ENC, MS_H263_DEC
- H.264 (แแฎแแแแ แแแแแแแ แ): MS_H264_DEC
- Theora: MS_THEORA_ENC, MS_THEORA_DEC
- VP8: MS_VP8_ENC, MS_VP8_DEC
แแแแแแก แแแแฃแจแแแแแ
- jpeg แกแแแแจแแขแ
- แแแฅแกแแแแก แคแแ แแแขแแก แแแแแแงแแแแ: MS_PIX_CONV
- Resizer
- แกแฎแแ แคแแแขแ แแแ
- แแแแแชแแแแ แแแแแแแแก แแแชแแแ แซแแคแแแก แจแแ แแก: 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 Ubuntu-แจแ
แแฎแแ แฉแแแ แแแแแงแแแแแ แแแแแ แกแขแ แแแแ แก แแแแแแฃแขแแ แแ แแ แแแแจแแแแแ แฉแแแแก แแแ แแแ แแแแแแแชแแแก.
Mediastremer2-แแก แแแกแขแแแแชแแ แแแแแแฃแขแแ แแ แแ แแแ แขแฃแแแฃแ แแแแฅแแแแแ, แ แแแแแแช แแฃแจแแแแก Ubuntu-แแ, แแ แกแแญแแ แแแแก แ แแแแ แแแแกแแแฃแแ แแแฃแ แฃแแแ แแแก. แแฅ แแ แฅแแแแแ, แกแแแแแแ "$" แแฆแแแจแแแแก แญแฃแ แแแก แแแแฎแแแแแก แแ แซแแแแแแแแก แจแแกแแงแแแแแ. แแแแ. แแฃ แกแแแจแ แฎแแแแแ แแ แกแแแแแแแก แฎแแแแก แแแกแแฌแงแแกแจแ, แแแจแแ แแก แแ แแก แฎแแแ, แ แแแแแจแแช แแแฉแแแแแแแ แแ แซแแแแแแแแก แจแแกแ แฃแแแแ แขแแ แแแแแแจแ.
แแแ แแฃแแแแแ, แ แแ แแ แกแขแแขแแแจแ แแแชแแแฃแแ แแแแแฏแแแแก แแ แแก แแฅแแแแก แแแแแแฃแขแแ แก แแฅแแก แฌแแแแแ แแแขแแ แแแขแแ.
libmediastremer-dev แแแแแขแแก แแแกแขแแแแชแแ
แแแฃแจแแแ แขแแ แแแแแแ แแ แฉแแฌแแ แแ แแ แซแแแแแ:
$ sudo apt-get update
แชแแแแแแแแแแก แจแแกแแขแแแแ แแแแแแฎแแแแแแ แแแ แแแ, แจแแแงแแแแแ แแแ แแ แแแแแขแแก แแแแแฏแแ แ แแแแแแฎแแแแก แแแแแชแแแแ แแแแแแก. แแแแก แจแแแแแ, แแฅแแแ แฃแแแ แแแฃแจแแแ:
$ sudo apt-get install libmediastreamer-dev
แกแแญแแ แ แแแแแแแแแแฃแแแแแก แแแแแขแแแ แแ แแแแแ แแแแแ แแแแแแแก แแแแแแแแแแ แแแขแแแแขแฃแ แแ แฉแแแแแขแแแ แแแแ แแ แแแแแกแขแแแแ แแแแ.
แฉแแแแขแแแ แแฃแแ แแแแแแแแแแฃแแแแแก แแแ แแแแแขแแแแก แแแแแแแ แแแแ แแฅแแแแ แแแแฎแแแแแแ 35 แแ. แแแขแแแแแ แแแแแกแขแแแแ แแแฃแแ แแแแแขแแก แจแแกแแฎแแ แจแแแแซแแแแ แแฎแแแแ แแ แซแแแแแแ:
$ 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.
แกแแชแแแแ แแแแแแแชแแแก แจแแฅแแแ แแ แแแจแแแแ
แฉแแแ แแฅแแแแ แแแแแแ แ แกแแฅแแฆแแแแ แฉแแแแ แกแแแแฃแ แแแ แแ แแแฅแขแแแแกแแแแก, แแแแแ แแฃแฌแแแแ แแแก แแแกแฌแแแแแแแแแ:
$ 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