我們?cè)诘谝徽碌臅r(shí)候已經(jīng)簡(jiǎn)要說明了crtmpserver,crtmpserver是一個(gè)由C++語(yǔ)言編寫的開源的RTMP流媒體服務(wù)器,與其對(duì)應(yīng)的商業(yè)產(chǎn)品自然是Adobe公司的FMS。與FMS相比,從功能上來(lái)說crtmpserver只能稱為FMS的簡(jiǎn)化版本,其功能并沒有FMS那么完善甚至是遠(yuǎn)遠(yuǎn)沒有達(dá)到。其與flash player的兼容性自然也比不上官方的FMS了。但是crtmpserver提供了最常見的RTMP實(shí)現(xiàn)。作為開源的高性能RTMP流媒體服務(wù)器,不僅可以用在x86平臺(tái)的linux服務(wù)器,windows服務(wù)器,還可以被用在arm等嵌入式平臺(tái)上。crtmpserver的代碼結(jié)構(gòu)良好,類的繼承體系清楚,代碼效率高。是學(xué)習(xí)RTMP協(xié)議和服務(wù)器端編程的好例子。
crtmpserver的官方網(wǎng)站是www.rtmpd.com 但是目前該網(wǎng)站好像是出了問題,并不能打開,crtmpserver的google論壇上有網(wǎng)友說crtmpserver的源碼暫時(shí)移動(dòng)到github上了,具體地址是https://github.com/shiretu/crtmpserver 如果大家想要下載到最新的crtmpserver源碼,可以到該git頁(yè)面上下載。后續(xù)還請(qǐng)關(guān)注crtmpserver的官方網(wǎng)站。
本系列文章并不打算使用該git上下載的代碼,由于之前工作中使用的crtmpserver代碼是基于717的版本,所以該系列也將基于此版本作為講解。請(qǐng)?jiān)谶@里下載crtmpserver-717.tar.gz 代碼包,其關(guān)聯(lián)的openssl代碼為 openssl-1.0.1c.tar.gz
linux下編譯與運(yùn)行crtmpserver
本次linux使用的發(fā)行版是Ubuntu 10.10,各個(gè)編譯工具版本如下:
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
cmake version 2.8.7
crtmpserver源碼依賴openssl,所以我們需要先編譯openssl庫(kù),并安裝相關(guān)的頭文件。另外crtmpserver使用的cmake工具進(jìn)行源代碼的編譯管理,所以也需要安裝cmake。
openssl的編譯:本次使用的是openssl-1.0.1c.tar.gz 解壓之后在源碼根目錄直接運(yùn)行:
$ ./config
$ make
$ make test
$ make install
crtmpserver的編譯:解壓上面下載到的gz壓縮包,運(yùn)行下面命令:
cd crtmpserver-717/builders/cmake/
cmake .
make
在make的時(shí)候報(bào)告下面的錯(cuò)誤:
在文件tinyxmlparser.cpp中有一個(gè)變量ptrdiff_t沒有定義,我們打開該文件,在第407行將變量ptrdiff_t加上std的前綴即可,改為 std::ptrdiff_t,之后繼續(xù)make
之后出現(xiàn)下面的錯(cuò)誤:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26