日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统

發(fā)布時間:2023/12/10 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不久之前,微軟公司宣布了 Microsoft Azure Media Services 實時直播服務(wù) ( Live ) 開始進入技術(shù)預(yù)覽階段,公開接受用戶測試。 而這些實時直播服務(wù)其實早已被 NBC 運動頻道用于多項重大運動賽事直播,包括英超聯(lián)賽、NHL、周日橄欖球之夜 ( Sunday Night Football ) 以及 2014 年索契冬季奧運會。 在最近剛結(jié)束的 2014 世界杯足球賽期間,Azure Media Services 實時媒體服務(wù)同樣的也被10 家世界性的電視傳播公司用來轉(zhuǎn)播比賽。 也因此,我們對于這項服務(wù)的穩(wěn)定性、可擴充性以及性能都深具信心,也很高興可以讓所有用戶都可嘗試提供實時直播服務(wù)給他們的用戶。

自本周起 Azure Media Services 團隊將撰寫多篇文章,內(nèi)容涵蓋了 Microsoft Azure 實時串流服務(wù)的功能以及如何使用它們。 首先,我們會介紹一些基本的實時串流所需要的一些要件,并且將其應(yīng)用到一個特定的場景 (網(wǎng)絡(luò)直播桌面)。 而我們只需要透過 Azure 的管理入口網(wǎng)站,無需任何的程序代碼即可達到所需要的設(shè)定。 但是在未來的幾天,將會有另外一篇文章說明如何使用 Microsoft Azure SDK 以程控的方式來達到相同的設(shè)定。

直播流媒體的基本組成

首先我將簡要介紹端到端解決方案的基本組成元素,并在下文的說明部分中將這些元素整合在一起。

  • Azure帳戶和訂閱?-如果您還沒有?Microsoft Azure帳戶,您需要先到http://www.windowsazure.cn/上新建一個,您可在購買前免費試用一段時間。

  • Azure媒體服務(wù)帳戶?-如果您還沒有創(chuàng)建媒體服務(wù)帳戶,可參考http://www.windowsazure.cn/home/features/media-services/?上的說明新建一個帳戶

  • 攝像機?-本文中我將使用我的筆記本電腦上的網(wǎng)絡(luò)攝像頭,當(dāng)然您也可以采用其他任何攝像機。如果您的攝像機有?USB?等數(shù)字輸出功能,可直接將其連接到您的?PC,如果沒有,您還需要一個視頻采集卡來將攝像內(nèi)容傳入至?PC

  • 實時編碼器?-目前?Azure媒體服務(wù)支持分段式?MP4/Smooth Streaming和?RTMP這兩種實時輸入協(xié)議。RTMP的使用現(xiàn)已相當(dāng)普遍,因此有廣泛的編碼器軟件可選,包括免費編碼器(如?Flash Media Encoder?或FFMPEG)、平價編碼器(如?Wirecast)、高產(chǎn)值產(chǎn)品(如?NewTek的?Tricaster)以及Cisco、Elemental、Image等提供的專業(yè)級編碼器。在以下示例中,我將使用?Telestream的?Wirecast作為示范。如果您還沒有安裝編碼器,可以從?Telestream網(wǎng)站下載?Wirecast?試用版。需要注意的是,視頻編碼需要占用相當(dāng)大的?CPU資源,因此我在筆記本電腦上示范編碼時,將編碼限制為三種質(zhì)量等級,并使用相對較低的碼率。如果您使用的筆記本電腦或其他?PC?的?CPU運算能力較低,您應(yīng)時刻監(jiān)視?CPU的使用率,若一直高于?70%,則應(yīng)在編碼配置文件中刪除一個質(zhì)量等級或降低碼率和分辨率。

  • 高速?Internet連接?-要提供直播視頻服務(wù),您需要有?Internet連接,且連接須具備相當(dāng)穩(wěn)定的出站速度,至少要達到傳輸視頻碼率的?1.5倍,以彌補編碼器輸出時碼率的波動。舉例來說,在以下解決方案中,我將使用三種質(zhì)量級別(呈現(xiàn)形式)的直播流,分別是?400、600和?900 Kbps,合計碼率?1900Kbps,因此我需要至少2850Kbps (2.85Mbps)的出站速度。

  • Azure媒體服務(wù)通道?-通道是?Azure媒體服務(wù)中唯一新增的概念,用來實現(xiàn)直播流媒體。通道作為?Azure媒體服務(wù)的一部分,為編碼器的輸出提供一個傳入點。

  • Azure媒體服務(wù)資源?-媒體服務(wù)中的資源是存儲所有與流媒體有關(guān)的音頻、視頻和元數(shù)據(jù)的容器。

  • Azure媒體服務(wù)程序-程序是?Azure媒體服務(wù)中的一個實體,在通道上創(chuàng)建,以便開始將在此通道上收到的流媒體寫入資源中。

  • Azure媒體服務(wù)流媒體定位器?-如果您想要讓資源可以開始存取流媒體,需要在資源上創(chuàng)建一個定位器。

  • Azure媒體服務(wù)流媒體端點和流媒體單元?-流媒體端點為您提供一個URL,可從中找到您的直播和?VOD資源,同時還提供動態(tài)打包功能,并確保流媒體的成功傳輸。配置于流媒體端點的流媒體單元為端點提供最大輸出量保證。每個流媒體單元提供?200Mbps?的流媒體輸出容量,您也可以根據(jù)需要在您的流媒體端點增加更多單元,以提高其容量。

  • Azure CDN -在不久的將來,我們將直接集成?Azure CDN和?Azure媒體服務(wù)。集成完之后,流媒體端點將會有一個新設(shè)置,可允許您指定是否希望自動配置連接至您的流媒體端點的?CDN?端點;與此同時,您可以直接通過您的流媒體端點進行流處理,或者通過?Azure支持部分聯(lián)系我們,讓我們?yōu)槟牧髅襟w端點設(shè)置?Azure CDN

  • 視頻播放器?-?Azure?媒體服務(wù)流媒體端點提供動態(tài)打包功能,使您可以使用您想訪問的每種設(shè)備所需的流媒體協(xié)議輸出實時流。在下面示范的解決方案中,我將針對除?iOS?外的所有平臺(桌面瀏覽器、Android和Windows Phone)使用遵循?MPEG-DASH標(biāo)準的?HTML5/DASH.js播放器,針對?iOS平臺使用?HLS版本?3播放器。有關(guān)我們的動態(tài)打包功能的更多信息,請參考Nick的?Channel9視頻以及我們的MSDN文檔

示例場景:網(wǎng)絡(luò)直播事件

現(xiàn)在我們先稍微解釋一下我們下面將實施的場景。在以下步驟中,我們將構(gòu)建一個進行桌面網(wǎng)絡(luò)直播的解決方案,可用以播放來自我的?PC網(wǎng)絡(luò)攝像頭的培訓(xùn)內(nèi)容。此項網(wǎng)絡(luò)直播在直播流媒體專業(yè)術(shù)語中稱為一個“事件”,即一個擁有開始時間和結(jié)束時間的實時流,這與始終處于開啟狀態(tài)的電視頻道等無限期運行的“線性”流媒體有所區(qū)別。我們將在以后的博客文章中介紹如何將我們的直播服務(wù)運用到線性流媒體中。

事前設(shè)置

在運行事件之前,我們需要采取以下步驟進行事前設(shè)置。這些步驟可以在事件開始前任何時間進行,以實現(xiàn)全面妥當(dāng)配置,不需要趕在“開始直播”前才進行。

創(chuàng)建?Azure媒體服務(wù)通道和流媒體端點

在第一組設(shè)置步驟中,我們將使用?Azure管理門戶配置基礎(chǔ)結(jié)構(gòu),以接收來自編碼器的實時流,并對其進行流處理和打包以傳輸至所有客戶端的播放設(shè)備。

1.??導(dǎo)航至https://manage.windowsazure.cn/打開?Azure?管理門戶,然后單擊頂部菜單欄中的“Portal”(門戶)。使用您的微軟?ID?登錄,便會進入到管理門戶。

2. 在左側(cè)的垂直菜單條中,單擊“MEDIASERVICES”(媒體服務(wù))菜單項。您將可以看到您已創(chuàng)建的所有媒體服務(wù)帳戶清單在右側(cè)打開。

3. 單擊您在本例中希望使用的媒體服務(wù)帳戶,我在這里使用的是名為“jasonblog”的媒體服務(wù)帳戶。現(xiàn)在您將能夠看到有關(guān)該媒體服務(wù)帳戶的所有詳細信息,包括可用以創(chuàng)建和控制所有媒體服務(wù)實體類型的頂部菜單欄。如果您已經(jīng)使用媒體服務(wù)一段時間的話,您將會注意到,目前在頂部菜單欄中新增了“CHANNELS”(通道)菜單項,所標(biāo)志的狀態(tài)為預(yù)覽,其中包含對?Azure?媒體服務(wù)通道的所有管理和控制功能。

4. 單擊頂部菜單欄中的“CHANNELS”(通道),將會列出您的帳戶中的所有通道(如有)。

5. 如果您還沒有建立任何通道,則會顯示消息“Youhave no channels.? Add one to get started!”(您沒有任何通道,請?zhí)砑右粋€以開始使用!)。單擊此消息下方的“ADD NEW CHANNEL”(新增通道),此時將打開一個對話框,您可以在其中設(shè)置通道的屬性。

6. 在“Createa new Live Channel”(創(chuàng)建新的直播通道)對話框中,輸入您的通道名稱。本例中,我使用的名稱為“webcast”。接下來指定您將使用的輸入協(xié)議,本例中我將使用輸出RTMP的Wirecast,因此將保留設(shè)置為默認狀態(tài)。最底下有三個復(fù)選框:1)“Start the new channel now”(立即啟動新通道)復(fù)選框。選中此復(fù)選框之后,您將不需要再執(zhí)行額外操作來啟動此通道。2)“Add one streaming unit”(添加一個流媒體單元)。如果您的“默認”流媒體端點尚未配置有任何流媒體單元,則將自動預(yù)設(shè)為選中。如果尚未配置流媒體單元,請保留選中狀態(tài),我們將自動為您配置一個流媒體單元,同樣也可以為您省去后期再進行設(shè)置的麻煩。3)“Restrict video ingest to my computer’s current IP address”(將視頻輸入限制為我的計算機當(dāng)前的?IP地址)。如果選中此復(fù)選框,則會針對您的通道應(yīng)用一個?IP訪問控制列表(ACL),將通道鎖定為僅接受來自您的計算機的輸入。本例中我們?nèi)∠x中此復(fù)選框。以下是我的設(shè)置的屏幕截圖。

7. 單擊“Createa new Live Channel”(創(chuàng)建新的直播通道)對話框右下角的對勾按鈕,將會創(chuàng)建并啟動一個新通道,并將一個新的流媒體單元添加至您的“默認”流媒體端點中。您現(xiàn)在可以在屏幕底部看到創(chuàng)建及啟動新通道的狀態(tài)條。完成這些步驟大概需要花費幾分鐘時間。

配置并啟動編碼器

Cenk Dingiloglu已在其博客中發(fā)表重點介紹編碼器配置的文章。我下面采取的步驟仍然有效,但若要獲取更多詳細信息,請參閱http://azure.microsoft.com/blog/2014/09/18/azure-media-services-rtmp-support-and-live-encoders/

現(xiàn)在我們已經(jīng)擁有了媒體服務(wù)中所需要的基礎(chǔ)結(jié)構(gòu),下一步是設(shè)置?Wirecast,并將流媒體推送至我們的通道中。Telestream正在開發(fā)針對?Azure?媒體服務(wù)集成的功能,從而可減少所需步驟,不過由于此選項尚未廣泛應(yīng)用,我還是會演示所有手動步驟。為加快設(shè)置的速度,我將使用先前已經(jīng)創(chuàng)建好的?Wirecast?文檔,其中提供了您所需的大多數(shù)設(shè)置。本文中將不會介紹此文檔的創(chuàng)建細節(jié),晚些時候,Cenk Dingiloglu將發(fā)表另一篇博文,介紹有關(guān)編碼器的更多詳情。

1.???http://jasonsueblog.blob.core.windows.net/wirecastdocument/WirecastDocument.wcst下載我的Wirecast文檔

2. 啟動Wirecast并打開剛剛下載的文檔。您很可能會遇到和下圖一樣的錯誤,即Wirecast找不到文檔中所述的媒體。出現(xiàn)此錯誤的原因是,您沒有使用我在設(shè)置時使用的攝像設(shè)備,這里我們先單擊“Cancel”(取消),接下來我們會解決這一問題。

3.?我們可以在Wirecast的用戶界面中添加攝像來源。在用戶界面的底部有三排源,將鼠標(biāo)懸停在第一排中的“+”上,然后單擊攝像機圖標(biāo)。此時會顯示當(dāng)前連接至您的?PC的攝像機列表,選擇您所需要的攝像機。完成后,您就可以在第一排中看到新的攝像源以及來自此攝像機的實時視頻源。

4. 現(xiàn)在,單擊Wirecast中的“Output”(輸出)菜單,選擇“OutputSettings”(輸出設(shè)置)。由于您使用的是我創(chuàng)建的文檔,現(xiàn)在您應(yīng)該能看到如下對話框,顯示有三種流媒體編碼的質(zhì)量級別,分別是400、600和900Kbps。其中,400Kbps的質(zhì)量等級使用H.264基本配置文件進行編碼,用以支持較舊的Android設(shè)備,而600和900Kbps的質(zhì)量級別則是使用主配置文件進行編碼,可提供更高的質(zhì)量等級。在對話框中唯一缺少的是推送流媒體到達的目標(biāo)“Address”(地址),我們稍后會進行填寫。

5.?回到Azure管理門戶,在通道清單中找到您的通道。將鼠標(biāo)懸停在“INGESTURL”(輸入URL)列上,單擊右側(cè)的復(fù)制圖標(biāo),將通道的輸入URL復(fù)制到剪貼板中。

6. 回到?Wirecast和“Output Settings”(輸出設(shè)置)對話框,將剛才復(fù)制的通道輸入?URL?粘貼至“Address”(地址)文本框中。您需要對要編碼的全部三種質(zhì)量等級重復(fù)此操作。也就是說,要確保單擊對話框左側(cè)的每個“RTMP Flash Server”,為每一個都設(shè)置該地址。

7. 單擊“Output Settings”(輸出設(shè)置)對話框上的“OK”(確定)按鈕。

8. 單擊您在步驟?3?中創(chuàng)建的攝像源,可將其移動至用戶界面的“Preview”(預(yù)覽)部分。

9. 接下來單擊“—>”按鈕,將“Preview”(預(yù)覽)的畫面移動至“Live”(直播)之上,此時您應(yīng)該可以在用戶界面頂部的兩個位置看到您的攝像來源。

10. 現(xiàn)在您已經(jīng)完成了所有Wirecast配置,剩下的唯一步驟就是點擊Wirecast用戶界面左上角的“Stream”(啟動流)按鈕,將流媒體推送至您的Azure媒體服務(wù)通道。如果一切順利的話,您可以在按鈕中看到一個紅點,顯示您目前正在進行直播。

?

11.現(xiàn)在您可以在通道預(yù)覽發(fā)布點直接查看所收到的流媒體,來檢查流媒體是否已正確傳送至通道中。回到Azure管理門戶,單擊底部命令條中的“PLAY”(播放)命令。此時將顯示子命令列表,單擊“PlayPreview URL”(播放預(yù)覽URL),此操作可在門戶中打開一個視頻播放器,并將其連接到您的通道上的預(yù)覽URL

注意:如果有任何原因需要停止并重啟編碼器,您應(yīng)當(dāng)首先通過?Azure?管理門戶中的“RESET”(重置)命令來重置通道。

啟動事件并播放流媒體

我們已經(jīng)將流媒體傳輸至通道中,現(xiàn)在即可啟動我們的事件,方法是通過創(chuàng)建資源、程序和流媒體定位器來歸檔流媒體,讓觀眾通過流媒體端點觀看直播。我們將借助門戶中的一個快捷鍵一步完成所有這些操作。

創(chuàng)建和啟動程序

1.????回到?Azure管理門戶,并進入到“CHANNELS”(通道)部分。如果您的帳戶中有多個通道,請確保已勾選您在上述步驟中設(shè)置的通道(用藍色突出顯示)。在頁面底部的命令條中,單擊“START STREAMING”(啟動流媒體),然后在出現(xiàn)的請求確認信息中單擊“YES”(是)。命令完成后,“PUBLISH URL”(發(fā)布?URL)列將顯示一個URL,您可以用它從您的流媒體端點上獲取您的流媒體。

播放直播流媒體

現(xiàn)在直播流媒體已經(jīng)推送至資中,便可以將資從流媒體端點中拉出,并將其動態(tài)打包為所有我們目前支持的協(xié)議(MPEG-DASH、HLS版本?3、HLS版本?4、HDS和?Smooth Streaming)形式。我們將充分利用這些功能,使直播流媒體可以在桌面瀏覽器(通過使用名為Smooth的?Flash?控件)以及?iOS?和?Android設(shè)備(通過?HLS版本?3)上播放。

1.????在?Azure管理門戶中,將鼠標(biāo)懸停在您的通道的“PUBLISH URL”(發(fā)布?URL)上,單擊復(fù)制按鈕,將?URL復(fù)制到剪貼板中。

2.????將發(fā)布?URL粘貼至您最喜愛的文本編輯器中,類似于“http://<帳戶名稱>.origin.mediaservices.windows.net/<locator_guid>/<stream_guid>.ism/manifest”,即?Smooth Streaming URL。再粘貼一次,并添加“(format=mpd-time-csf)”,這將告訴流媒體端點將流媒體打包為?MPEG-DASH?格式。然后再次粘貼,并添加“(format=m3u8-aapl-v3)”,這將告訴流媒體端點將流媒體打包為?HLS?版本?3格式。

3. 在Windows PC?或Mac上(您需要支持媒體源擴展的瀏覽器,例如最新版本的Internet Explorer?或Chrome),導(dǎo)航至http://aka.ms/dashplayer這是我創(chuàng)建的一個樣本?DASH.js?視頻播放器,您可以用來測試您的流媒體。將DASH URL?粘貼至頂部的文本框中,然后單擊“Load”(加載)。您可以在Android設(shè)備和Windows Phone?上重復(fù)此項操作。


注意:我的樣本?DASH播放器也可以將?DASH URL作為?URL上的查詢參數(shù)。換句話說,您可以創(chuàng)建一個類似以下示例的?URL,并將其分配至不同設(shè)備:http://dashplayer.azurewebsites.net/?URL=http://<jason的帳戶>.origin.mediaservices.windows.net/../…ism/manifest(format=mpd-time-csf)

4.????在?iOS設(shè)備上,打開?Safari瀏覽器,在地址欄中輸入?HLS版本?3格式的?URL,就可以直接通過手機播放器播放流媒體。您也可以創(chuàng)建一個帶有video標(biāo)簽的?HTML5?頁面,并賦予其?HLS URL作為視頻的來源,或者建立一個本地應(yīng)用程序,來達到同樣的效果。

結(jié)束事件

要結(jié)束事件,您需要停止程序,使其停止將流媒體推送至資源中。此操作為簡單的一步式操作。

回到Azure管理門戶,選擇您所使用的通道,然后單擊底部命令條中的“STOPSTREAMING”(停止流媒體)命令,并在出現(xiàn)的請求確認信息中單擊“YES”(是)。此操作將會阻止程序在通道中運行并會將其刪除。

我們的直播服務(wù)的一項重要功能就是,我們的資源可以實現(xiàn)從直播到點播的無縫/即時轉(zhuǎn)換。如果您現(xiàn)在再次通過您的視頻播放器播放剛才的流媒體,您會發(fā)現(xiàn)仍可以使用同樣的?URL?觀看到流媒體,只是現(xiàn)在變成了點播狀態(tài),不再是直播。

清理通道

如果您希望啟動另一個事件,您可以將當(dāng)前一切保持運行狀態(tài)。您需要做的就是按照上述步驟在通道上開啟一個新程序。但一切都結(jié)束后,您可以將上面配置的基礎(chǔ)結(jié)構(gòu)部分或全部清除掉。

1.????首先是編碼器,點擊?Wirecast中的“Stream”(流媒體)按鈕,停止推送流媒體,之后便可以關(guān)閉應(yīng)用程序。

2.????現(xiàn)在也可以關(guān)閉通道。在?Azure管理門戶網(wǎng)中,再次進入?Channel(通道)頁面,然后在底部命令條中單擊“STOP”(停止)命令。完成后,通道將處于“Stopped”(已停止)狀態(tài),表明此通道不會再消耗任何資源,您可以使通道無限期處于這一狀態(tài),這樣就不會產(chǎn)生任何費用。當(dāng)您希望再次使用此通道時,您可以單擊“START”(啟動)命令,即可再次啟動此通道,并且擁有相同的輸入?URL,因此您無需重新配置您的編碼器。

3.????最后是流媒體端點方面。如果您想繼續(xù)以點播流媒體方式提供您的直播事件的歸檔,您需要使流媒體端點保持運行。但如果您不需要,則可以進入管理門戶的“STREAMING ENDPOINTS”(流媒體端點)選項卡,選擇您可能名為“default”(默認)的流媒體端點,然后單擊底部命令條中的“STOP”(停止)命令。

結(jié)論及下一步計劃

在上文中,我們介紹了使用?Azure?管理門戶對直播事件進行無需代碼的設(shè)置、執(zhí)行和清除(如需要)所需要的步驟。未來幾天,我們將發(fā)表更多文章,介紹我們測試過的?RTMP?編碼器列表、如何設(shè)置此類編碼器、如何通過我們的?SDK設(shè)置和運行直播事件、如何確保直播流媒體的內(nèi)容安全性以及如何運行線性流媒體等等。

結(jié)論以及下一步發(fā)展

在上面的文章內(nèi)容中,我們已經(jīng)透過 Azure 的管理頁面來進行設(shè)定、執(zhí)行、移除一個實時的串流。 在未來的幾天,我們將會發(fā)表更多文章,內(nèi)容涵蓋了如何對使用 RTMP 的編碼器進行設(shè)定、如何使用我們的 SDK 來執(zhí)行現(xiàn)場活動 ( live event )、如何保護影片內(nèi)容的安全性以及如何進行線性串流 ( linear streams )。

?

以上配置文件如果負責(zé)可以參考一下文章:

Azure Media Services RTMP Support and Live Encoders

https://azure.microsoft.com/zh-cn/blog/azure-media-services-rtmp-support-and-live-encoders/?

?

https://azure.microsoft.com/zh-cn/blog/getting-started-with-live-streaming-using-the-azure-management-portal/

https://blogs.technet.microsoft.com/azuretw/2014/09/16/microsoft-azure-media-services-live-streaming/

非常好的demo測試網(wǎng)站,說明

http://ampdemo.azureedge.net/?

MPEG-DASH Player?測試瀏覽器

http://dashplayer.azurewebsites.net/

測試網(wǎng)址:

http://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest(format=mpd-time-csf)

?

http://blog.csdn.net/azurechina/article/details/41728851

轉(zhuǎn)載于:https://www.cnblogs.com/zangdalei/p/5303947.html

總結(jié)

以上是生活随笔為你收集整理的如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。