使用 Azure 媒體服務 v3 進行即時串流
警告
Azure 媒體服務將於 2024 年 6 月 30 日淘汰。 如需詳細資訊,請參閱 AMS淘汰指南。
Azure 媒體服務可讓您在 Azure 雲端上將實況活動傳遞給客戶。 若要使用媒體服務串流您的即時活動,您必須設定即時視訊編碼器,以將相機 (或其他裝置的訊號轉換成傳送至媒體服務的貢獻摘要,例如膝上型計算機) 。 發佈摘要可以包含廣告相關訊號,例如 SCTE-35 標記。 如需建議的即時串流編碼器清單,請參閱即時串流編碼器。
如果您之前尚未使用內部部署編碼器,請嘗試 使用 OBS 快速入門建立 Azure 媒體服務即時串流 。
動態封裝和傳遞
透過媒體服務,您可以利用 動態封裝,讓您從貢獻摘要預覽並廣播 MPEG DASH、HLS 和 Smooth Streaming 格式的即時串流 。 您的檢視者可以搭配支援 HLS、DASH 或 Smooth Streaming 的播放器播放即時串流。 請參閱 測試過的播放機清單 ,並嘗試 媒體服務協力廠商播放器範例。
即時事件類型
即時活動 正在內嵌及處理即時影片摘要。 即時活動可以設定為下列其中一項:
- 當內部部署即時編碼器傳送多個比特率串流時傳遞,或
- 當內部部署即時編碼器傳送單一比特率數據流時,即時編碼。 如需即時輸出的詳細資訊,請參閱 即時活動和實時輸出。
傳遞
使用傳遞實況活動 (基本或標準) 時,您會依賴內部部署即時編碼器來產生多重位元速率視訊串流,然後將其當作發佈摘要傳送給實況活動 (使用 RTMP 或分散式 MP4 輸入通訊協定)。 然後即時事件會將傳入的視訊串流傳遞至動態封裝程式 (串流端點) ,而不需進一步處理。 傳遞即時活動已針對長時間執行的即時活動或 24x365 線性即時串流進行優化。
即時編碼
若要使用即時編碼,請將內部部署即時編碼器設定為使用 RTMP 或片段 MP4 輸入通訊協定) ,將最多 32Mbps 匯總) 的單一比特率 (視訊傳送至即時事件 (。 即時事件會以不同的解析度,將傳入的單一比特率數據流轉碼成多個比特率視訊串流。 這可改善具有業界標準通訊協定的播放裝置傳遞,例如 MPEG-DASH、Apple HTTP 即時串流 (HLS) 和 Microsoft Smooth Streaming。
即時活動選項
動態加密
「動態加密」可讓您搭配 AES-128 或下列三個主流數位版權管理 (DRM) 系統之一,以動態方式加密您的即時或隨選內容:Microsoft PlayReady、Google Widevine 和 Apple FairPlay。 媒體服務也提供服務,可傳遞 AES 金鑰和 DRM (PlayReady、Widevine 和 FairPlay) 授權給授權用戶端。 如需詳細資訊,請參閱動態加密。
Widevine 是 Google Inc. 所提供的服務,並受到 Google Inc. 的服務條款和隱私權原則所約束。
動態篩選
「動態篩選」可用來控制傳送給播放器的播放軌編號、格式、位元速率及呈現時間範圍。 如需詳細資訊,請參閱篩選器與動態資訊清單。
即時轉譯
「即時轉譯」功能可讓您搭配傳遞或即時編碼的實況活動使用。 如需詳細資訊,請參閱即時轉譯。 啟用這項功能時,此服務會使用認知服務的語音轉換文字功能,將傳入的音訊中說出口的話轉譯成文字。 然後,在 MPEG-2 和 HLS 通訊協定中,此文字就能隨著視訊和音訊一起傳遞。
重要
您應該針對即時活動使用 2 秒的 GOP 大小。 您必須使用 GOP 大小為 4 秒或以下,才能透過即時轉譯進行即時活動,以取得正確的轉譯數據。 如果您選擇使用較高的 GOP 大小,轉譯數據可能會有瑕疵,例如遺漏內容。
隱藏式輔助字幕、字幕和計時中繼資料傳遞的安全性考量
Azure 媒體服務的動態加密和 DRM 功能在嘗試保護即時轉譯、隱藏式輔助字幕、字幕或計時中繼資料的內容傳遞時,會有一些需要考慮的限制。 DRM 子系統,包括 PlayReady、FairPlay 和 Widevine 不支援文字播放軌的加密和授權。 文字播放軌缺少 DRM 加密,因此針對即時轉譯、手動插入的隱藏式輔助字幕、上傳的字幕,或可能插入為個別播放軌的計時中繼資料訊號,您保護其內容的能力就受到了限制。
若要保護您的標題、字幕或計時元數據播放軌,請遵循下列指導方針:
- 使用 AES-128 清除金鑰加密。 啟用 AES-128 清除金鑰加密時,可以使用完整的「信封」加密技術來設定文字播放軌進行加密,該加密模式與用於音訊和視訊區段的加密模式相同。 接著,用戶端應用程式可以使用已驗證的 JWT 權杖向媒體服務金鑰傳遞服務要求解密金鑰,然後將這些區段解密。 Azure 媒體播放器支援此方法,但並非所有裝置都支援,而且可能會需要一些用戶端開發工作,才能確保在所有平台上都能成功進行。
- 使用 CDN 權杖驗證來保護文字 (字幕、隱藏式輔助字幕、中繼資料) 播放軌,其會以簡短形式的權杖化 URL 進行傳遞,而這些 URL 會受到 CDN 入口網站中的地理位置、IP,或其他可設定的設定值所限制。 使用 Verizon Premium CDN 或其他設定為連線到媒體服務串流端點的協力廠商 CDN 來啟用 CDN 安全性功能。
警告
如果您未遵循上述其中一個指導方針,您的字幕、隱藏式輔助字幕或計時中繼資料文字將可存取為未加密的內容,而這些內容可能會被攔截或共用到其他地方,超出您預期的用戶端傳遞路徑。 這可能會導致資訊外洩。 如果您擔心翻譯字幕或原文字幕內容在安全傳遞案例中遭到外洩,請連絡媒體服務支援小組,以深入了解上述有關保護內容傳遞的指導方針。
即時串流工作流程
若要了解媒體服務 v3 中的即時串流工作流程,您必須先檢閱及了解下列概念:
一般步驟
在您的媒體服務帳戶中,確認串流端點 (來源) 正在執行。
建立即時事件。
在建立事件時,您可以指定要自動啟動它。 或者,您可以在準備好開始進行串流處理時啟動事件。
當自動啟動設定為 true 時,即時事件將會在建立後隨即啟動。 只要即時事件一執行,就會立即開始計費。 您必須在即時活動資源上明確呼叫「停止」,才能終止進一步計費。 如需詳細資訊,請參閱實況活動狀態和計費。取得內嵌 URL 並設定您的內部部署編碼器,以使用該 URL 來傳送發佈摘要。
請參閱建議的即時編碼器。取得預覽 URL 並使用它來確認實際上已收到來自編碼器的輸入。
建立新的資產物件。
每個即時輸出都與一個資產相關,它會使用該「資產」將視訊錄製到相關的 Azure Blob 儲存體容器中。
建立即時輸出,並使用您建立的資產名稱,以便將串流封存到該資產中。
「實況輸出」會在建立時開始,並在刪除時結束。 當您刪除即時輸出時,所刪除的並不是基礎資產及資產中的內容。
使用內建的串流原則類型來建立串流定位器。
若要發佈即時輸出,您必須為相關聯資產建立串流定位器。
列出串流定位器上的路徑,以取回要使用的 URL (其具有決定性)。
取得您想要串流的串流端點 (來源) 主機名稱。
結合步驟 8 的 URL 和步驟 9 的主機名稱,即可取得完整的 URL。
如果不想再讓實況活動供人檢視,您必須停止活動串流並刪除串流定位器。
如果您完成串流處理事件,而且想要清除先前佈建的資源,請遵循下列程序。
- 停止從編碼器發送串流。
- 停止即時事件。 實況活動一經停止,就不會產生任何費用。 當您需要重新啟動它時,它會具有相同的內嵌 URL,因此您不需要重新設定編碼器。
- 除非您想要繼續將即時事件封存為隨選串流,否則您可以停止串流端點。 如果實況活動處於已停止狀態,就不會產生任何費用。 不過,如果串流端點仍在執行中,將會產生費用。
當您刪除即時輸出時,即時輸出所封存的資產即會自動成為隨選資產。 您必須刪除所有即時輸出,才能停止實況活動。 您可以使用選擇性旗標 removeOutputsOnStop,自動移除停止的即時輸出。
秘訣
請參閱即時串流教學課程,該文章會檢查實作上述步驟的程式碼。
其他重要文章
即時串流常見問題集
請參閱常見問題集中的即時串流問題。
取得說明及支援
您可以連絡媒體服務並提出問題,或遵循下列其中一種方法來追蹤我們的更新:
- 問與答
-
Stack Overflow。 使用
azure-media-services
標記問題。 - @MSFTAzureMedia 或使用 @AzureSupport 來要求支援。
- 透過 Azure 入口網站 開啟支援票證。