當前位置:編程學習大全網 - 源碼下載 - 如何在自己的應用程序直接接收rtmp流

如何在自己的應用程序直接接收rtmp流

壹,目標: 利用開源或者免費工具實現壹個直播系統;同時支持在瀏覽器、播放器和嵌入到 PC 應 用或者移動 APP 中觀看直播。 二,技術選型: 視音頻源端:: Adobe Flash Media Live Encoder 3.2,可以在 windows 和 mac 安裝; 如果妳已有壹些支持 RTMP 的采集設備,那是最好了; 或許妳想在自己的應用中實現,這樣妳就必須自己開發處理采集,編碼和協議傳輸了(以後 再表); RTMP Server: FMS -- Adobe 公司出品的服務器,價格昂貴,當然是最正宗的,因為 RTMP 就是 Adobe 公 司的私有協議; Wowza -- 同樣需要授權費, 大概是$55 per month/instance,效率和穩定性都還不錯; Red5 -- 壹個開源實現, 效率和穩定性都稍微差些,由於它是 java 實現的,所以天生支持 跨平臺運行; Nignx-rtmp-module - -nginx 的壹個第三方模塊,如果妳熟悉 nginx 那是不錯的選擇,當然它 也是免費的,不過功能就沒有其他幾個豐富了; 這裏我選擇 nginx+nginx-rtmp-module 作為服務器,這是我認為最容易上手的壹種方式了(如 果 妳 把 windows 作 為 服務 器 那 可 能 麻煩 些 , 官 方 提供 的 windows 二 進 制版 本 是 沒 有 nignx-rtmp-module 的,而且 nginx 在 windows 下的性能比 linux 就差太多了) 客戶端: VLC 也可以安裝其他支持 rtmp 的播放器; JW Media Player 壹個開源的 flash 視音頻播放器, 利用它我們可以直接在瀏覽器觀看直播; (移動端的瀏覽器是不知道 flash 的) ffmpge/librtmp 如果妳希望在自己的應用中實現播放器,或者希望在移動端直接接收 RTMP 流,那就要自己開發了(以後再表) 最後選型是: Adobe Flash Media Live Encoder 3.2 + Nignx-rtmp-module + JW Media Player 三,實現 (本文將 nginx 安裝到 Centos 6.5 下,IP 為 192.168.0.51) 1,下載安裝 Adobe Flash Media Live Encoder 3.2 2,編譯安裝配置 nginx + nginx-rtmp-module (nginx 1.7 無法編譯通過) #wget /arut/nginx-rtmp-module.git (如果沒有安裝 git 則直接下載 zip 包) #cd nginx-1.6.2 #./configure --add-module=../nginx-rtmp-module --with-/arut/nginx-rtmp-module), 編輯 nginx/nginx.conf ,增加 rtmp 模塊: rtmp { server { Listen 1935; chunk_size 4000; #可以將 mylive 改成妳想要的名字 application mylive { live on; } } } 在 http 模塊增加: location /stat{ rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl{ root html; } 同時需要將 nginx-rtmp-module 源碼目錄下的 stat.xsl 拷貝到 nginx/html 下,這樣就可以通過 網頁查看服務器的 RTMP 狀態了。

  • 上一篇:爬蟲是什麽?為什麽Python使用的比較多?
  • 下一篇:arbr指標的定義,計算方法,運用原則?優缺點是什麽?在實踐中有什麽的技巧?
  • copyright 2024編程學習大全網