αž€αžΆαžšαžšαž»αž€αžšαž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ Mediastreamer2 VoIP αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž“αŸƒαž’αžαŸ’αžαž”αž‘αž‚αžΊαž™αž€αž–αžΈαžαŸ’αž‰αž»αŸ† αž”αŸ‰αž»αžŸαŸ’αžαž·αŸ zen.

αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†

αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαž’αžαŸ’αžαž”αž‘αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αžαžΆαž˜αž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ Mediastreamer2 αŸ” αž”αž‘αž”αž„αŸ’αž αžΆαž‰αž“αžΉαž„αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αž‡αŸ†αž“αžΆαž‰αž’αž”αŸ’αž”αž”αžšαž˜αžΆαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αžΈαž™αž›αžΈαž“αž»αž… αž“αž·αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž—αžΆαžŸαžΆ C αŸ”

Mediastreamer2 αž‚αžΊαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ VoIP αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ voip αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸαž–αŸαž‰αž“αž·αž™αž˜αŸ” αž›αžΈαž“αžŸαŸ„αž“. αž“αŸ…αž€αŸ’αž“αž»αž„ Linphone Mediastreamer2 αž’αž“αž»αžœαžαŸ’αžαž˜αž»αžαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžŸαŸ†αž‘αŸαž„ αž“αž·αž„αžœαžΈαžŠαŸαž’αžΌαŸ” αž”αž‰αŸ’αž‡αžΈαž›αž˜αŸ’αž’αž·αžαž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžš Mediastreamer αž“αŸαŸ‡αŸ” αž€αžΌαžŠαž”αŸ’αžšαž—αž–αž‚αžΊαž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– GitLab.

αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘ αžŠαžΎαž˜αŸ’αž”αžΈαž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž–αžΆαž€αŸ’αž™ Mediastreamer2 αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαžŸαž‰αŸ’αž‰αžΆαžšαž»αžŸαŸ’αžŸαŸŠαžΈαžšαž”αžŸαŸ‹αžœαžΆαŸ– "media streamer" αŸ”

αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαž”αžŸαŸ‹αžœαžΆαž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ„αž™αž€αžΌαžŠαž”αŸ’αžšαž—αž–αžšαž”αžŸαŸ‹αžœαžΆ αžœαžΆαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž–αžΈαž˜αž»αž“αž˜αž€ αž‚αŸ’αž›αžΈαž”αžŠαŸ‚αž›αžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž†αŸ’αž„αžΆαž™αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž‡αžΆαž˜αž½αž™ GStreamer. αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŠαŸ‚αž›αž§αž”αž€αžšαžŽαŸαž•αŸ’αžŸαžΆαž™αž–αŸαžαŸŒαž˜αžΆαž“αž˜αžΎαž›αž‘αŸ…αžŸαŸ’αžšαžΆαž›αž‡αžΆαž„αŸ” αž€αŸ†αžŽαŸ‚αžŠαŸ†αž”αžΌαž„αž“αŸƒ Linphone αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 2001 αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αž“αŸ…αž–αŸαž›αž“αŸαŸ‡ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αž˜αžΆαž“ αž“αž·αž„αž’αž—αž·αžœαžŒαŸ’αžαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αž·αž 20 αž†αŸ’αž“αžΆαŸ†αŸ”

αž…αŸ†αž“αž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒ media streamer αž‚αžΊαž‡αžΆαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž αŸ…αžαžΆ "αž›αŸ†αž αžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™" (αž›αŸ†αž αžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™) αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

αž€αžΆαžšαžšαž»αž€αžšαž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ Mediastreamer2 VoIP αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸαŸ‡ αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αž€αžΌαžŠαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ (αž€αŸ’αžšαžΆαž αŸ’αžœ) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αžŽαžΆαž˜αž½αž™αŸ” αž˜αž»αžαž„αžΆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαžαž˜αŸ’αžšαž„αŸ”

αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž˜αž»αžαž„αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαžαž˜αŸ’αžšαž„αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ VoIP RTP αž“αž·αž„αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž”αž‰αŸ’αž‡αžΌαž“αž…αžšαžΆαž…αžšαŸ”

αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžŸαŸ†αžαž˜αŸ’αžšαž„αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž”αŸ†αž–αžΆαž“ αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸƒαžαž˜αŸ’αžšαž„αžαŸ’αž˜αžΈ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αžŸαžΆαž™αž–αŸαžαŸŒαž˜αžΆαž“αž‡αžΆαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž―αž€αžšαžΆαž‡αŸ’αž™ αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž’αžΆαž…αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™ VoIP αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αžαž˜αŸ’αžšαž„αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹αŸ”

αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαž˜αŸ’αžšαž„αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‚αžαŸ‹αž•αŸ’αž‚αž„αŸ‹αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‚αžΊαžŸαž˜αŸ’αž”αžΌαžšαž”αŸ‚αž”αžŽαžΆαžŸαŸ‹ αž αžΎαž™αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž½αž…αž˜αž€αž αžΎαž™ αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž˜αŸ’αžšαž„αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžŸαžΌαž˜αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžαž˜αŸ’αžšαž„αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž… αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αžŸαžΆαž™αž–αŸαžαŸŒαž˜αžΆαž“αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž‡αžΈαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ–

αžαž˜αŸ’αžšαž„αžŸαŸ†αž‘αŸαž„

αž€αžΆαžšαžαžαžŸαŸ†αž‘αŸαž„ αž“αž·αž„αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈαŸ”

  • αž’αžΆαž›αŸ‹αžŸαžΆ (αž›αžΈαž“αž»αž…)αŸ– 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)
  • αžŸαž·αž›αŸ’αž”αŸˆ (αž›αžΈαž“αž»αž…)αŸ– MS_ARTS_WRITE, MS_ARTS_READ
  • αžŸαŸ†αž‘αŸαž„αž•αŸ’αž‘αžΆαž›αŸ‹ (αžœαžΈαž“αžŠαžΌ)αŸ– MS_WINSNDDS_WRITE, MS_WINSNDDS_READ
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž€αŸ‹αž―αž€αžŸαžΆαžš (αž―αž€αžŸαžΆαžšαž†αŸ…/wav/pcap) (αž›αžΈαž“αž»αž…)αŸ– MS_FILE_PLAYER
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž€αŸ‹αž―αž€αžŸαžΆαžš (αž―αž€αžŸαžΆαžšαž†αŸ…/wav) (αžœαžΈαž“αžŠαžΌ)αŸ– MS_WINSND_READ
  • αžŸαžšαžŸαŸαžšαž‘αŸ…αž―αž€αžŸαžΆαžš (αž―αž€αžŸαžΆαžš wav) (αž›αžΈαž“αž»αž…)αŸ– MS_FILE_REC
  • αžŸαžšαžŸαŸαžšαž‘αŸ…αž―αž€αžŸαžΆαžš (αž―αž€αžŸαžΆαžš wav) (αžœαžΈαž“αžŠαžΌ): MS_WINSND_WRITE
  • Mac Audio Unit (Mac OS X)
  • MME (αžœαžΈαž“αžŠαžΌ)
  • OSS (αž›αžΈαž“αž»αž…)αŸ– MS_OSS_WRITE, MS_OSS_READ
  • PortAudio (Mac OS X)
  • PulseAudio (Linux)αŸ– MS_PULSE_WRITE, MS_PULSE_READ
  • αžŸαŸ†αž‘αŸαž„αžœαžΈαž“αžŠαžΌ (αžœαžΈαž“αžŠαžΌ)

αž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠ/αžŒαž·αž€αžΌαžŠαž’αžΌαžŒαžΈαž™αŸ‰αžΌ

  • G.711 a-lawαŸ– MS_ALAW_DEC, MS_ALAW_ENC
  • G.711 Β΅-lawαŸ– 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
  • SpeexαŸ– MS_SPEEX_ENC, MS_SPEEX_DEC

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ†αž‘αŸαž„

  • αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž†αžΆαž“αŸ‚αž› (αž˜αŸ‰αžΌαžŽαžΌ->αžŸαŸ’αžαŸαžšαŸ‰αŸαž’αžΌ αžŸαŸ’αžαŸαžšαŸ‰αŸαž’αžΌ->αž˜αŸ‰αžΌαžŽαžΌ)αŸ– MS_CHANNEL_ADAPTER
  • αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘αŸ– MS_CONF
  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„ DTMFαŸ– MS_DTMF_GEN
  • αž€αžΆαžšαž›αž»αž”αž…αŸ„αž›αž’αŸαž€αžΌ (speex)αŸ– MS_SPEEX_EC
  • EqualizerαŸ– MS_EQUALIZER
  • αž§αž”αž€αžšαžŽαŸαž›αžΆαž™αŸ– MS_MIXER
  • Packet Loss Compensator (PLC)αŸ– MS_GENERIC_PLC
  • αž‚αŸ†αžšαžΌαž‘αžΎαž„αžœαž·αž‰αŸ– MS_RESAMPLE
  • αž§αž”αž€αžšαžŽαŸαž…αžΆαž”αŸ‹αžŸαŸ†αž‘αŸαž„αŸ– MS_TONE_DETECTOR
  • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž˜αŸ’αžšαž·αžαžŸαŸ†αž‘αŸαž„ αž“αž·αž„αž€αžΆαžšαžœαžΆαžŸαŸ‹αžœαŸ‚αž„αž€αž˜αŸ’αžšαž·αžαžŸαž‰αŸ’αž‰αžΆαŸ– MS_VOLUME

αžαž˜αŸ’αžšαž„αžœαžΈαžŠαŸαž’αžΌ

αž€αžΆαžšαžαžαžœαžΈαžŠαŸαž’αžΌ αž“αž·αž„αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈαŸ”

  • αž€αžΆαžšαž…αžΆαž”αŸ‹αž™αž€αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Android
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Android
  • AV Foundation capture (iOS)
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ AV Foundation (iOS)
  • αž€αžΆαžšαž…αžΆαž”αŸ‹αž™αž€αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰ (αžœαžΈαž“αžŠαžΌ)
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ DrawDib (αžœαžΈαž“αžŠαžΌ)
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈαžαžΆαž„αž€αŸ’αžšαŸ… - αž”αž‰αŸ’αž‡αžΌαž“αžœαžΈαžŠαŸαž’αžΌαž‘αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžαžΆαž„αž›αžΎ
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ GLX (αž›αžΈαž“αž»αž…)αŸ– MS_GLXVIDEO
  • Mire - αžšαžΌαž”αž—αžΆαž–αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžŸαŸ†αž™αŸ„αž‚αŸ– MS_MIRE
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ OpenGL (Mac OS X)
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ OpenGL ES2 (Android)
  • Quicktime Capture (Mac OS X)
  • αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαžΆαžšαžαŸ’αž˜αžΈ SDLαŸ– MS_SDL_OUT
  • αž›αž‘αŸ’αž’αž•αž›αžšαžΌαž”αž—αžΆαž–αž‹αž·αžαž·αžœαž“αŸ’αžαŸ– MS_STATIC_IMAGE
  • αž€αžΆαžšαžαžαžœαžΈαžŠαŸαž’αžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž… (V4L) (αž›αžΈαž“αž»αž…)αŸ– MS_V4L
  • αžœαžΈαžŠαŸαž’αžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž… 2 (V4L2) αž…αžΆαž”αŸ‹αž™αž€ (αž›αžΈαž“αž»αž…)αŸ– MS_V4L2_CAPTURE
  • αž€αžΆαžšαžαžαžœαžΈαžŠαŸαž’αžΌ4windows (DirectShow) (αžœαžΈαž“αžŠαžΌ)
  • αž€αžΆαžšαž…αžΆαž”αŸ‹αž™αž€ 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_THEORA_ENC, MS_THEORA_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 Ubuntu

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αžŠαŸ†αž‘αžΎαž„ media streamer αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš αž αžΎαž™αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž‡αžΆαž˜αž½αž™αžœαžΆαŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ Mediastremer2 αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš αž¬αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Ubuntu αž˜αž·αž“αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž‡αŸ†αž“αžΆαž‰αž–αž·αžŸαŸαžŸαžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž“αž·αž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆ "$" αž“αžΉαž„αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž’αŸ’αž“αž€αžƒαžΎαž‰αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž“αŸαŸ‡αž“αŸ…αžŠαžΎαž˜αž”αž“αŸ’αž‘αžΆαžαŸ‹ αž“αŸ„αŸ‡αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αžΈαž™αŸ”

αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž‡αŸ†αž αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹ libmediastremer-dev

αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αžαžΆαž“αžΈαž™ αž αžΎαž™αžœαžΆαž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ–

$ sudo apt-get update

αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž½αžšαžšαž€αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž”αž‰αŸ’αž…αžΌαž›αžœαžΆ αž αžΎαž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž“αžΉαž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžšαžαŸ‹αŸ–

$ sudo apt-get install libmediastreamer-dev

αž€αž‰αŸ’αž…αž”αŸ‹αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž“αž·αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αžŸαžΆαž™αž˜αŸαžŒαŸ€αžαŸ’αž›αž½αž“αž―αž„αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž‰αž™αž€ αž“αž·αž„αžŠαŸ†αž‘αžΎαž„αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ”

αž‘αŸ†αž αŸ†αžŸαžšαž»αž”αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ dependency 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 compiler αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžšαž”αžŸαŸ‹αžœαžΆαŸ–

$ 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