以下文章來(lái)源于Go招聘 ,作者歐盆索思
Go招聘Golang 相關(guān)求職和招聘,以及面試題、經(jīng)驗(yàn)分享,Go 語(yǔ)言其他知識(shí)和職場(chǎng)也是值得分享的。這幾年直播真的是不要太火,相關(guān)技術(shù)也很成熟。但沒(méi)有接觸過(guò)的人,可能不知道怎么實(shí)現(xiàn)的。如果你對(duì)直播技術(shù)感興趣,今天的這個(gè)項(xiàng)目很適合你研究。而且是國(guó)人開(kāi)發(fā)的。
項(xiàng)目地址:https://github.com/gwuhaolin/livego,Star 數(shù):5.3k+。
這是一個(gè)簡(jiǎn)單高效的直播服務(wù)器,完全使用 Go 實(shí)現(xiàn),性能高,跨平臺(tái),安裝和使用非常簡(jiǎn)單。支持常用的傳輸協(xié)議、文件格式、編碼格式。
你可以通過(guò)編譯好的二進(jìn)制文件:https://github.com/gwuhaolin/livego/releases 安裝,也可以使用 Docker:
$ docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego
當(dāng)然,也可以按普通的 Go 項(xiàng)目進(jìn)行源碼安裝。
$ go get -v github.com/gwuhaolin/livego
簡(jiǎn)單使用
livego
二進(jìn)制文件啟動(dòng) livego 服務(wù);http://localhost:8090/control/get?room=movie
獲取一個(gè)房間的 channelkey(channelkey用于推流,movie用于播放).RTMP
協(xié)議推送視頻流到地址 rtmp://localhost:1935/{appname}/{channelkey}
(appname默認(rèn)是live
), 例如:使用 ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}
推流(下載demo flv);RTMP
:rtmp://localhost:1935/{appname}/movie
FLV
:http://127.0.0.1:7001/{appname}/movie.flv
HLS
:http://127.0.0.1:7002/{appname}/movie.m3u8
使用幫助:
./livego -h
Usage of ./livego:
--api_addr string HTTP管理訪問(wèn)監(jiān)聽(tīng)地址 (default ":8090")
--config_file string 配置文件路徑 (默認(rèn) "livego.yaml")
--flv_dir string 輸出的 flv 文件路徑 flvDir/APP/KEY_TIME.flv (默認(rèn) "tmp")
--gop_num int gop 數(shù)量 (default 1)
--hls_addr string HLS 服務(wù)監(jiān)聽(tīng)地址 (默認(rèn) ":7002")
--hls_keep_after_end Maintains the HLS after the stream ends
--httpflv_addr string HTTP-FLV server listen address (默認(rèn) ":7001")
--level string 日志等級(jí) (默認(rèn) "info")
--read_timeout int 讀超時(shí)時(shí)間 (默認(rèn) 10)
--rtmp_addr string RTMP 服務(wù)監(jiān)聽(tīng)地址 (默認(rèn) ":1935")
--write_timeout int 寫(xiě)超時(shí)時(shí)間 (默認(rèn) 10)
文末「閱讀原文」可直達(dá)項(xiàng)目首頁(yè)。
今天的項(xiàng)目大家覺(jué)得怎么樣嗎?如果你喜歡,請(qǐng)?jiān)谖恼碌撞苛粞浴Ⅻc(diǎn)贊或關(guān)注轉(zhuǎn)發(fā),你的支持就是我持續(xù)更新的最大動(dòng)力!
聯(lián)系客服