用golang實(shí)現(xiàn)直播和點(diǎn)播功能的方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鄒平網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!1.概述
剛開始做直播的時候,還是有些懵逼的,畢竟什么推拉流,什么格式協(xié)議完全不懂的,還有第三方的接口也是層出不窮,其實(shí)簡單的說一下,如圖(騰訊直播Api里面盜取的)
其實(shí)所謂的推流就是主播的客戶把我們要的播放內(nèi)容按特定的流程存放于服務(wù)器,當(dāng)然這里面展示的是騰訊云,完后經(jīng)過通訊云的轉(zhuǎn)碼再讓觀眾去觀看(拉取),建議不是很明確基礎(chǔ)的小伙伴去了解一下,理解起來還是很方便的.騰訊云傳送門
而我們今天使用的不是騰訊,而是用golang寫好的開源項(xiàng)目livego,livego傳送門
2.livego
說實(shí)話,文檔挺少的,估計是作者工作忙吧,我這里也是簡單的使用,不過要提一個小小的bug,估計是go版本的問題,在go1.10中,有一處錯誤,返回的是2個數(shù)值,但是那里只寫了一個(具體哪里我也記不清楚了"")
剩下就直接開干,搭建好環(huán)境以后,啟動服務(wù):執(zhí)行 livego
二進(jìn)制文件啟動 livego 服務(wù)就可以了
3.OBS
這個是直播標(biāo)配吧,流程我就不說了,我就說我遇到的坑,如圖:
當(dāng)我設(shè)置推流的時候,確實(shí)不知道流名稱是什么,查了半天以及試驗(yàn)的好久才明白,如果說你得 連接地址是rtmp://106.12.5.245:1935/live/push,而在livego中的live.cfg又是這樣的:
里面appname的live是要和rtmp://106.12.5.245:1935/live中的live相同的,假如說我appname的值是livego,那么我的推送地址必須得是:rtmp://106.12.5.245:1935/livego,而流名稱是隨便填寫的,只要不為空就行,比如我這里面填寫的是push,那么接下來我拉取的頁面就是:
rtmp://106.12.5.245:1935/live/push
http://106.12.5.245:7001/live/push.flv
http://106.12.5.245:7002/live/push.m3u8
感謝各位的閱讀!看完上述內(nèi)容,你們對用golang實(shí)現(xiàn)直播和點(diǎn)播功能的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。