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