先看一下我參考的原文實現:
實現方案
流媒體服務器環境搭建
整理一下,並且附上我的實現步驟,我是基於java,目前已經做了一個微型服務,封裝了這一套,提供了API+可視化管理,界面如下:

因為防止大量請求推流,導致服務器掛掉,所以使用了常用的線程池隔離手段,也方便監控對比ffmpeg和實際的激活線程是否一致,防止ffmpeg進程結束了還有僵屍進程。
一個簡單的微型小系統,可對外提供轉碼推流的微服務就差不多了,系統目前主要實現:回放流,預覽流,錄像,每個用戶的sessionid和攝像頭IP為一個任務,重復推流會關閉上一個,並且有超時控制,需要每分鍾發送激活信號,否則該任務會自動停止釋放,也可以通過api手動銷毀,后期完善之后准備放到開源網站,以下是所有安裝步驟。
安裝ffmpeg
ffmpeg的安裝請參考網上例子很多,下個最新的。
安裝pingos
#git clone https://github.com/im-pingo/pingos.git
#cd pingos
#./release.sh -i
#注意:release.sh腳本里面會去下載指定版本的一個nginx但是github下載不了,可以自己下載放進去,具體操作是腳本修改
#wget https://nginx.org/download/nginx-1.17.10.tar.gz 注釋這里
tar zxvf nginx-1.17.10.tar.gz
mv nginx-1.17.10 nginx
rm -f nginx-1.17.10.tar.gz
腳本頭幾行定義了安裝目錄/usr/local,我們進入
#cd /usr/local/pingos/
nginx.conf的配置有點長,可以到統一到我的有道雲里面找一找,包括nginx和pingos(修改好的)程序可以直接下載
http://note.youdao.com/noteshare?id=dcc6039156d06e91ae9a789217edbe97&sub=EFACB0F322064ED1A6514C65CE506525
#vi conf/nginx.conf 復制從有道雲里面的的nginx.conf,修改一下ip和端口就差不多了,目錄什么自己看着修改
#./sbin/nginx
實測flv延遲和rtmp幾乎差不多,和實際的rtsp大概差2秒,現在flv也可以跨瀏覽器無插件播放,非常棒