crtmpserver簡介 我們在第一章的時候已經簡要說明瞭crtmpserver,crtmpserver是一個由C++語言編寫的開源的RTMP流媒體伺服器,與其對應的商業產品自然是Adobe公司的FMS。與FMS相比,從功能上來說crtmpserver只能稱為FMS的簡化版本,其功能並沒有FMS那 ...
crtmpserver簡介
我們在第一章的時候已經簡要說明瞭crtmpserver,crtmpserver是一個由C++語言編寫的開源的RTMP流媒體伺服器,與其對應的商業產品自然是Adobe公司的FMS。與FMS相比,從功能上來說crtmpserver只能稱為FMS的簡化版本,其功能並沒有FMS那麼完善甚至是遠遠沒有達到。其與flash player的相容性自然也比不上官方的FMS了。但是crtmpserver提供了最常見的RTMP實現。作為開源的高性能RTMP流媒體伺服器,不僅可以用在x86平臺的linux伺服器,windows伺服器,還可以被用在arm等嵌入式平臺上。crtmpserver的代碼結構良好,類的繼承體系清楚,代碼效率高。是學習RTMP協議和伺服器端編程的好例子。
crtmpserver的官方網站是www.rtmpd.com 但是目前該網站好像是出了問題,並不能打開,crtmpserver的google論壇上有網友說crtmpserver的源碼暫時移動到github上了,具體地址是https://github.com/shiretu/crtmpserver 如果大家想要下載到最新的crtmpserver源碼,可以到該git頁面上下載。後續還請關註crtmpserver的官方網站。
本系列文章並不打算使用該git上下載的代碼,由於之前工作中使用的crtmpserver代碼是基於717的版本,所以該系列也將基於此版本作為講解。請在這裡下載crtmpserver-centosinit.zip 代碼包,其關聯的openssl代碼為 openssl-1.0.1c.tar.gz
linux下編譯與運行crtmpserver
本次linux使用的發行版是Ubuntu 10.10,各個編譯工具版本如下:
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庫,並安裝相關的頭文件。另外crtmpserver使用的cmake工具進行源代碼的編譯管理,所以也需要安裝cmake。
運行crtmpserver,編譯完成之後此時的目錄還在crtmpserver-717/builders/cmake/目錄下,直接運行下麵的命令:
./crtmpserver/crtmpserver
./crtmpserver/crtmpserver.lua
程式成功運行之後的顯示如下,表示成功運行: