利用Azure容器實例30秒極速搭建直播服務(wù)器

來源:微軟中國MSDN
作者:微軟中國MSDN
時間:2020-07-28
2845
ACI簡單講就是Azure上托管的容器PaaS平臺,在Azure上您可以直接運(yùn)行容器。下面就看看搭建一個基于Nginx-rtmp的直播服務(wù)器的步驟吧

什么是ACI?

簡單講就是Azure上托管的容器PaaS平臺,在Azure上您可以直接運(yùn)行容器.ACI具有以下的優(yōu)勢:

1、無需管理服務(wù)器,即可運(yùn)行容器.

2、使用單個命令即可按需部署容器,增強(qiáng)了容器的靈敏性.

3、與Azure Kubernetes Service集成,應(yīng)對臨時負(fù)載,實現(xiàn)彈性并發(fā).

好處一大堆,能不能快速體驗一下?讓我們搭建一個基于Nginx-rtmp的直播服務(wù)器,體會一下當(dāng)主播的感覺吧.

搭建Nginx-rtmp直播服務(wù)器需要多久?不同的方法時間差異非常大!

選擇1:全部手工的方法,虛擬機(jī)創(chuàng)建,安裝nginx-rtmp,ffmpeg,配置Nginx等.耗時3小時.(石器時代的方法,云時代基本沒人這么干了.)

選擇2:容器化的方法,虛擬機(jī)創(chuàng)建(包含容器運(yùn)行環(huán)境),docker run已經(jīng)打包好的容器鏡像.耗時10分鐘.(現(xiàn)代化的方式,可以利用Docker Hub上的豐富資源,提升效率)

選擇3:基礎(chǔ)架構(gòu)即代碼的方法,使用Azure ARM模板.耗時5分鐘.(Azure推薦的方式,可以充分利用開源的模板)

選擇4:ACI的方法,執(zhí)行一條命令.耗時30秒.

好學(xué)的小伙伴可以跟著筆者體驗一下直播三部曲.

第一步:創(chuàng)建直播服務(wù)器

(注意:您需要有azure cli命令行工具.

安裝地址:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest

設(shè)置Azure中國區(qū):az cloud set–-name AzureChinaCloud

登錄Azure:az login)

az container create--resource-group BackendServices

--name mycontainer

--image chxacrn2.azurecr.cn/samples/nginx-rtmp

--dns-name-label chx-demo

--ports 1935 8080

--registry-login-server chxacrn2.azurecr.cn

--registry-password[0NP[ryDU _vFp0BVsYv6UkvSWkOZgK3

--registry-username 99a81ec2-205e-42de-8514-a43eb454e79a

--cpu 2

--resource-group,資源組名稱,創(chuàng)建新的或者填寫已有的資源組名稱,資源組位于東2區(qū).

--name,容器名稱,自定義即可.

--image,nginx-rtmp容器,筆者將Docker hub上的鏡像復(fù)制到了Azure上面的私有容器鏡像庫.

--dns-name-label,ACI容器公網(wǎng)DNS名,需要全局唯一,所以要命名的復(fù)雜一些,避免沖突.

--ports,對外開放的端口,1935 RTMP推流端口,8080 HLS端口.

--registry-login-server,筆者的ACR容器注冊表.

--registry-username,--registry-password用戶名和密碼,用于從ACR拉取鏡像.

--cpu,CPU個數(shù),默認(rèn)是1.

執(zhí)行上述的命令后,從輸出結(jié)果中找到fqdn的名稱,如下圖.

ia_1300000002.jpg

這樣一個Nginx-rtmp的直播服務(wù)器就搭建好了,是不是極致的簡單?!

接下來測試一下,首先記住下面兩個重要的地址.

RTMP推流地址:

rtmp://chx-demo.chinaeast2.azurecontainer.console.azure.cn:1935/stream/{streamname}

HLS播放地址:

https://chx-demo.chinaeast2.azurecontainer.console.azure.cn:8080/live/{streamname}.m3u8

第二步:設(shè)置直播推流工具

下載開源的OBS Studio(https://obsproject.com/),作為直播推流工具.

添加”視頻捕獲設(shè)備”,把筆記本攝像頭作為直播輸入.然后點擊”設(shè)置”à”推流”.

服務(wù)器:填寫上面的推流地址.

串流秘鑰:填寫{streamname},本例為havefun.

ia_1300000003.jpg

點擊“開始推流”,開始直播,Showtime!

第三步:觀看直播

使用Edge瀏覽器打開M3U8在線播放工具(https://www.m3u8player.org/)輸入

https://chx-demo.chinaeast2.azurecontainer.console.azure.cn:8080/live/havefun.m3u8,點擊”播放”.不出意外地話,就會看到英俊瀟灑的自己了

ia_1300000005.jpg

筆者使用的Dockerfile源代碼在Github上面,參見https://github.com/alfg/docker-nginx-rtmp.您可以在此基礎(chǔ)上創(chuàng)建自己的容器鏡像,并存放于Azure容器注冊表.

您體驗了極速直播后,再回顧一下ACI的優(yōu)勢,是不是有了更深的體會呢?利用ACI,30秒內(nèi)可以做很多的事情了.

參考文檔:

ACI:

https://docs.microsoft.com/en-us/azure/container-instances/

ACR:

https://docs.microsoft.com/en-us/azure/container-registry/

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:微軟中國MSDN
版權(quán)說明:本文內(nèi)容來自于微軟中國MSDN,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多