分享一下最近對直播的研究red5 nginx-rtmp-module rtmp hls m3u8 ts

Red5

red5 

之前在google停更了很久,現在在github上頻繁更新,但是對HLS支持需要用red5 pro(收費的)

red5 依賴 red5 server(其實是在tomcat上進行開發的)

red5 project 

通過red5的eclipse插件可以輕鬆創建,當然如果熟手的話手動創建也是沒有問題的,暫時遇到的坑也就是HLS不支持和libs的問題了

red5 application

主要通過實現配置handle class,class extends MultiThreadedApplicationAdapter 即可,通過捕捉不同事件來進行我們的推拉認證等開發工作

Nginx-rtmp-module

基於nginx的插件,俄羅斯友人開發,支持RTMP,HLS

Setup And Conf


安裝到nginx,配置nginx.conf啓動,即可。
配置方式在nginx-rtmp-module的github上寫的很清楚
(抽空我寫一個配置和安裝的博文,包含代理推拉,驗證,優化等。)

VLC

一款高能播放器,具體百度把。今天簡單說說,我們用它來拉流基本沒有問題,注意是基本!一會後面再說

FFMPEG

繼續百度,今天是闡述不是寫總結,FFmpeg功能強大這裏我們用它來推流,配置他的環境變量就可以在cmd裏直接用 ffmpeg xxx了

最後分享一個小坑吧

其實也不算坑,ffmpeg推流會有flv屬性配置,flv是adobe flash的視頻格式。apple和adobe的關係,不言而喻了,但是Microsoft和adobe還算不錯的

所以我們推流到 rtmp://ip/domain/streamKey ,使用vlc拉 rtmp流 當然是沒問題的,但是拉 hls的就會出現win平臺可以拉,但是ios上不可以拉的問題

主要在於如果使用ffmpeg推流本地攝像頭中配置了flv,則會把flv轉爲rtmp,到server那裏再換成帶有flv特性的m3u8 ,這個m3u8從win是可以播的。

但是ios上對這個m3u8體現的是黑屏,sdk體現的是failed。但ffmpeg 直接推送某個視頻文件到 server 就行,當然這個視頻文件不能是flv的。我們用

mp4,完全ok。所以我們還是用ffmpeg推送mp4格式最穩妥,當然也可以下載第三方推流軟件,比如Yasea 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章