mediastreamer2 的简介
生活随笔
收集整理的這篇文章主要介紹了
mediastreamer2 的简介
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原文:http://www.linphone.org/eng/documentation/dev/mediastreamer2.html
Mediastreamer2 是一個(gè)功能強(qiáng)大且小巧的流引擎,專門為音視頻電話應(yīng)用而開發(fā)。這個(gè)庫為linphone中所有的接收、發(fā)送多媒體流提供處理,包括音/視頻捕獲,編碼和解碼,渲染。
特色
Read/Write from to an alsa device, an oss device, a windows waveapi device
Send and receive RTP packets
Encode and decode the following formats: speex, G711, GSM, iLBC, AMR , H263, theora, MPEG4, and H264.
Read and write from/to a wav file
Read YUV pictures from a webcam (provided that it has video4linux v1 or v2 driver)
Display YUV pictures (using SDL library or native apis on windows)
Dual tones generation
Echo cancelation, using the extraordinary echo canceler algorithm from the speex library
Audio conferencing
Audio parametric equalizer using a FIR filter
Volume control, automatic gain control
Mediastreamer2可以使用動態(tài)插件進(jìn)行擴(kuò)展,當(dāng)前可用的插件有h264,ILBCt和AMR
可移植性: linux/x86、linux/x86_64、Embedded linux:ARM and Blackfin 、windows XP、Vista and 7、 Mac Os X、Google Android
設(shè)計(jì)與原理:
? ?每一個(gè)處理實(shí)體都被封裝在MSFilter對象中,MSFilter使用inputs和outputs與其它MSFilter進(jìn)行連接。
? 一個(gè)簡單實(shí)例幫助理解:
? ? ? MSRtpRecv 是一個(gè)接收RTP包的MSFilter,解包后再把它們放到output上。
? ? ? MSSpeexDec是一個(gè)依賴input的MSFilter,如果input接收到speex編碼包,對它們進(jìn)行解碼并放在output
? ? ? MSFileRec是一個(gè)依賴input的MSFilter,如果input是16位pcm數(shù)據(jù)則保存為wav格式
MSFilter可以可以連在一起組成一個(gè)MSFIlter chain,如果我們把這三個(gè)Filter連在一起,這樣就形成了一個(gè)可以接收RTP包,對包進(jìn)行解碼,把解碼的數(shù)據(jù)保存成wav格式的處理鏈。
? ? ? ? MSRtpRecv --> MSSpeexDec --> MSFileRec
? ?媒體處理任務(wù)通過“MSTicker”對象來調(diào)度,一個(gè)線程可以每隔10ms處理MSFilter chain的數(shù)據(jù),幾個(gè)MSTicker可以被同時(shí)使用,比如一個(gè)音頻filter、一個(gè)視頻 filter。
使用簡單:
如果你想創(chuàng)建音視頻流,要調(diào)用audiostream.h和videostream.h的定義來創(chuàng)建音視頻流。
如果你想添加mediastreamer2的功能,實(shí)現(xiàn)一個(gè)mediastreamer2 filter是非常簡單的,因?yàn)閙ediastreamer2是非常輕量級的封裝。
由于mediastreamer2是一個(gè)輕框架,工程師可以集中精力在于:圖像/信號算法的實(shí)現(xiàn)。
mediastreamer2適用于嵌入式系統(tǒng)
mediastreamer2是純C開發(fā)的
mediastreamer2可以用gcc編譯
mediastreamer2最小依賴只需oRTP和libc。其他(ffmpeg, speex, alsa...)根據(jù)需要添加。
由于是插件框架,mediastreamer2可以通過硬件codecs接口擴(kuò)展,如video codecs dsp
ediastreamer2是輕量級的。例如,在linux/x86平臺上,使用共享庫的時(shí)全功能大約只有800k
下載
Mediastreamer2 是 linphone 的一部分
你也可能使用git獲取最新的源碼:
git clone git://git.linphone.org/mediastreamer2.git
采用GPL許可協(xié)議?
原文:http://www.linphone.org/eng/documentation/dev/mediastreamer2.html
Mediastreamer2 是一個(gè)功能強(qiáng)大且小巧的流引擎,專門為音視頻電話應(yīng)用而開發(fā)。這個(gè)庫為linphone中所有的接收、發(fā)送多媒體流提供處理,包括音/視頻捕獲,編碼和解碼,渲染。
特色
Read/Write from to an alsa device, an oss device, a windows waveapi device
Send and receive RTP packets
Encode and decode the following formats: speex, G711, GSM, iLBC, AMR , H263, theora, MPEG4, and H264.
Read and write from/to a wav file
Read YUV pictures from a webcam (provided that it has video4linux v1 or v2 driver)
Display YUV pictures (using SDL library or native apis on windows)
Dual tones generation
Echo cancelation, using the extraordinary echo canceler algorithm from the speex library
Audio conferencing
Audio parametric equalizer using a FIR filter
Volume control, automatic gain control
Mediastreamer2可以使用動態(tài)插件進(jìn)行擴(kuò)展,當(dāng)前可用的插件有h264,ILBCt和AMR
可移植性: linux/x86、linux/x86_64、Embedded linux:ARM and Blackfin 、windows XP、Vista and 7、 Mac Os X、Google Android
設(shè)計(jì)與原理:
? ?每一個(gè)處理實(shí)體都被封裝在MSFilter對象中,MSFilter使用inputs和outputs與其它MSFilter進(jìn)行連接。
? 一個(gè)簡單實(shí)例幫助理解:
? ? ? MSRtpRecv 是一個(gè)接收RTP包的MSFilter,解包后再把它們放到output上。
? ? ? MSSpeexDec是一個(gè)依賴input的MSFilter,如果input接收到speex編碼包,對它們進(jìn)行解碼并放在output
? ? ? MSFileRec是一個(gè)依賴input的MSFilter,如果input是16位pcm數(shù)據(jù)則保存為wav格式
MSFilter可以可以連在一起組成一個(gè)MSFIlter chain,如果我們把這三個(gè)Filter連在一起,這樣就形成了一個(gè)可以接收RTP包,對包進(jìn)行解碼,把解碼的數(shù)據(jù)保存成wav格式的處理鏈。
? ? ? ? MSRtpRecv --> MSSpeexDec --> MSFileRec
? ?媒體處理任務(wù)通過“MSTicker”對象來調(diào)度,一個(gè)線程可以每隔10ms處理MSFilter chain的數(shù)據(jù),幾個(gè)MSTicker可以被同時(shí)使用,比如一個(gè)音頻filter、一個(gè)視頻 filter。
使用簡單:
如果你想創(chuàng)建音視頻流,要調(diào)用audiostream.h和videostream.h的定義來創(chuàng)建音視頻流。
如果你想添加mediastreamer2的功能,實(shí)現(xiàn)一個(gè)mediastreamer2 filter是非常簡單的,因?yàn)閙ediastreamer2是非常輕量級的封裝。
由于mediastreamer2是一個(gè)輕框架,工程師可以集中精力在于:圖像/信號算法的實(shí)現(xiàn)。
mediastreamer2適用于嵌入式系統(tǒng)
mediastreamer2是純C開發(fā)的
mediastreamer2可以用gcc編譯
mediastreamer2最小依賴只需oRTP和libc。其他(ffmpeg, speex, alsa...)根據(jù)需要添加。
由于是插件框架,mediastreamer2可以通過硬件codecs接口擴(kuò)展,如video codecs dsp
ediastreamer2是輕量級的。例如,在linux/x86平臺上,使用共享庫的時(shí)全功能大約只有800k
下載
Mediastreamer2 是 linphone 的一部分
你也可能使用git獲取最新的源碼:
git clone git://git.linphone.org/mediastreamer2.git
采用GPL許可協(xié)議?
原文:http://www.linphone.org/eng/documentation/dev/mediastreamer2.html
總結(jié)
以上是生活随笔為你收集整理的mediastreamer2 的简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++11中的右值引用及move语义编程
- 下一篇: 如何在asterisk中限制呼叫路数?