使用 OBS 建立 Azure 媒體服務即時串流
警告
Azure 媒體服務將於 2024 年 6 月 30 日淘汰。 如需詳細資訊,請參閱 AMS淘汰指南。
本快速入門將協助您使用 Azure 入口網站建立媒體服務即時活動,並使用 Open Broadcasting Studio (OBS) 進行廣播。 本使用者入門指南假設您有 Azure 訂用帳戶,並已建立媒體服務帳戶。
本快速入門的內容涵蓋:
- 使用 OBS 設定內部部署編碼器。
- 設定即時串流。
- 設定即時串流輸出。
- 執行預設串流端點。
- 使用 Azure 媒體播放器來檢視即時串流和隨選輸出。
必要條件
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
登入 Azure 入口網站
開啟 Web 瀏覽器並移至 Microsoft Azure 入口網站。 輸入您的認證來登入此入口網站。 預設檢視是您的服務儀表板。
使用 OBS 設定內部部署編碼器
- 在 Open Broadcaster Software 網站下載並安裝適用於您作業系統的 OBS。
- 啟動應用程式並使其保持開啟狀態。
執行預設串流端點
- 在媒體服務清單中,選取 [串流端點]。
- 如果預設的串流端點狀態為已停止,請加以選取。 此步驟會帶您前往該端點的頁面。
- 選取 [開始] 。
設定 Azure 媒體服務即時串流
- 在入口網站中移至 Azure 媒體服務帳戶後,請從 [媒體服務] 清單中選取 [即時串流]。
- 選取 [新增即時活動],以建立新的即時串流活動。
- 在即時活動的 [名稱] 方塊中,輸入新活動的名稱,例如 TestLiveEvent。
- 您可以選擇在描述方塊中輸入活動描述。
- 選取基本 標準傳遞 選項。
- 保留所有其餘的設定,因為它們目前為止。
- 在您閱讀在線服務條款和 Microsoft 隱私聲明之後 ,選取 [我擁有使用內容/檔案及同意...] 複選框的所有許可權 。
- 選取 [檢閱 + 建立] 按鈕以檢閱設定。
- 選取 [建立] 按鈕以建立即時活動。 您接著會回到即時活動清單。
- 選取您建立的即時活動連結。 請注意,您的活動已停止。
- 將在瀏覽器中將此頁面狀態保持為開啟。 我們稍後會再回來。
使用 OBS Studio 設定即時串流
OBS 會從預設場景開始,但不會選取任何輸入。
新增影片來源
- 從 [Sources] \(來源\) 面板,選取新增圖示以選取新的來源裝置。 [來源] 功能表將會開啟。
- 從來源裝置功能表中選取 [影片擷取裝置]。 [建立/選取來源] 功能表將會開啟。
- 選取 [Add Existing] \(新增現有的\) 選項按鈕,然後選取 [OK] \(確定\)。 [影片裝置的屬性] 功能表將會開啟。
- 從 [裝置] 下拉式清單中,選取您想要用於直播的影片輸入。 請立即保留其餘的設定,然後選取 [OK] \(確定\)。 輸入來源會新增至 [來源] 面板,而影片輸入檢視會顯示在 [預覽] 區域中。
新增音訊來源
- 從 [Sources] \(來源\) 面板,選取新增圖示以選取新的來源裝置。 [來源裝置] 功能表將會開啟。
- 從來源裝置功能表中選取 [影片輸入擷取]。 [建立/選取來源] 功能表將會開啟。
- 選取 [Add Existing] \(新增現有的\) 選項按鈕,然後選取 [OK] \(確定\)。 [音訊輸入擷取的屬性] 功能表將會開啟。
- 從 [裝置] 下拉式清單中,選取您想要用於直播的音訊擷取裝置。 請立即保留其餘的設定,然後選取 [OK] \(確定\)。 音訊擷取裝置將會新增至音訊混音器面板。
在 OBS 中設定串流和進階編碼設定
在下一個程式中,您會回到瀏覽器中的入口網站 Azure 媒體服務頁面,以複製輸入 URL 以輸入輸出設定:
- 如果您尚未在入口網站的串流端點頁面上,請從您正在使用的媒體服務帳戶流覽至該頁面。
- 選取 [開始] 以啟動即時串流活動。 (此時會開始計費。)
- 在 [輸入 URL] 方塊中,將 URL 複製到剪貼簿。
- 切換至 OBS 應用程式。
- 選取 [Controls] \(控制項\) 面板中的 [Settings] \(設定\) 按鈕。 [設定] 選項將會開啟。
- 從 [設定] 功能表中選取 [資料流]。
- 從 [服務] 下拉式清單中,選取 [全部顯示],然後選取 [自訂...]。
- 在 [伺服器] 欄位中,貼上您複製到剪貼簿的 RTMPS URL。
- 在 [資料流金鑰] 欄位中輸入資料。 其內容真的不重要,但需要有一個值。
- 從 [設定] 功能表中選取 [輸出]。
- 選取頁面頂端的 [Output Mode] \(輸出模式\) 下拉式清單,然後選擇 [Advanced] \(進階\) 以存取所有可用的編碼器設定。
- 選取 [Streaming] \(串流\) 索引標籤以設定編碼器。
- 為您的系統選取正確的編碼器。 如果您的硬體支援 GPU 加速,請從 NVIDIA NVENC H.264 或 Intel QuickSync H.264 中選擇。 如果您的系統沒有支援的 GPU,請選取 [X264] 軟體編碼器選項。
X264 編碼器設定
如果您已選取 [X264] 編碼選項,請選取 [Rescale Output] \(重新調整輸出\) 方塊。 如果您在媒體服務中使用進階即時活動,請選取 [1920x1080],如果您使用標準 (720P) 即時活動,請選取 [1280x720]。 如果您使用基本或標準傳遞即時活動,您可以選擇任何可用的解決方法。
將 [Bitrate] \(位元速率\) 設定為介於 1500 Kbps 到 4000 Kbps 之間的任意位置。 如果您使用 720P 標準編碼即時活動,建議使用 2500 Kbps。 如果您使用 1080P 進階即時活動,建議使用 4000 Kbps。 您可能想要根據網路上可用的 CPU 功能和頻寬來調整位元速率,以達到所需的品質設定。
在 [主要畫面格間隔] 欄位中輸入 2。 此值會將主要畫面格間隔設定為 2 秒,以控制從媒體服務透過 HLS 或 DASH 傳遞片段的最終大小。 絕對不要設定高於 4 秒的主要畫面格間隔。 如果您在廣播時看到高延遲,請務必重複檢查或通知應用程式使用者一律將此值設定為 2 秒。 嘗試達到較低的延遲即時傳遞時,您可以選擇將此值設定為最低 1 秒。
選擇性:將 [CPU Usage Preset] \(CPU 使用率預設\) 設定為 [veryfast] \(非常快速\),並執行一些實驗,以查看您的本機 CPU 是否有足夠的額外負荷,可處理位元速率和預設的組合。 請嘗試避免會導致平均 CPU 高於 80% 的設定,以避免在即時串流期間發生任何問題。 若要改善品質,您可以使用 [faster] \(更快速\) 和 [fast] \(快速\) 預設設定進行測試,直到達到 CPU 限制為止。
其餘的設定保持不變,然後選取 [OK] \(確定\)。
Nvidia NVENC 編碼器設定
- 如果您已選取 [NVENC] GPU 編碼選項,請核取 [Rescale Output] \(重新調整輸出\) 方塊,然後選取 [1920x1080] (如果在媒體服務中使用進階即時活動) 或 [1280x720] (如果使用標準 (720P) 即時活動)。 如果您使用基本或標準傳遞即時活動,您可以選擇任何可用的解決方法。
- 將 [Rate Control] \(速率控制\) 設定為 [CBR],代表固定位元速率控制。
- 將 [Bitrate] \(位元速率\) 設定為介於 1500 Kbps 到 4000 Kbps 之間的任意位置。 如果您使用 720P 標準編碼即時活動,建議使用 2500 Kbps。 如果您使用 1080P 進階即時活動,建議使用 4000 Kbps。 您可以選擇根據網路上可用的 CPU 功能和頻寬來調整此設定,以達到所需的品質設定。
- 將 [Keyframe Interval] \(主要畫面格間隔\) 設定為 2 秒,如以上 [X264] 選項底下所註明。 請勿超過 4 秒,因為這可能會大幅影響現場廣播的延遲。
- 根據您本機電腦上的 CPU 速度,將 [Preset] \(預設\) 設定為 [Low-Latency] \(低延遲\)、[Low-Latency Performance] \(低延遲效能\) 或 [Low-Latency Quality] \(低延遲品質\)。 試驗這些設定,以在您自己的硬體上達到品質與 CPU 使用率之間的最佳平衡。
- 如果您使用更強大的硬體設定,請將 [Profile] \(設定檔\) 設定為 [main] \(主要\) 或 [high] \(高\)。
- 將 [Look-ahead] \(預期時間\) 保持未核取狀態。 如果您有非常強大的電腦,您可以核取這個選項。
- 將 [Psycho Visual Tuning] \(心理視覺調整\) 保持未核取狀態。 如果您有非常強大的電腦,您可以核取這個選項。
- 將 [GPU] 設定為 0,以自動決定要配置的 GPU。 如有需要,您可以限制 GPU 使用量。
- 將 [Max B-frames] \(最大 B 畫面格數\) 設定為 2
Intel QuickSync 編碼器設定
- 如果您已選取 Intel [QuickSync] GPU 編碼選項,請核取 [Rescale Output] \(重新調整輸出\) 方塊,然後選取 [1920x1080] (如果在媒體服務中使用進階即時活動) 或 [1280x720] (如果使用標準 (720P) 即時活動)。 如果您使用基本或標準傳遞即時活動,您可以選擇任何可用的解決方法。
- 將 [Target Usage] \(目標使用量\) 設定為 [balanced] \(平衡\),或根據您的 CPU 和 GPU 合併負載視需要進行調整。 視需要調整和實驗,以達到 80% 的平均最大 CPU 使用率,以及硬體能夠產生的品質。 如果您使用的是較受限的硬體,請使用 [fast] \(快速\) 測試,或者如果您遇到效能問題,請下降到 [veryfast] \(非常快速\)。
- 如果您使用更強大的硬體設定,請將 [Profile] \(設定檔\) 設定為 [main] \(主要\) 或 [high] \(高\)。
- 將 [Keyframe Interval] \(主要畫面格間隔\) 設定為 2 秒,如以上 [X264] 選項底下所註明。 請勿超過 4 秒,因為這可能會大幅影響現場廣播的延遲。
- 將 [Rate Control] \(速率控制\) 設定為 [CBR],代表固定位元速率控制。
- 將 [Bitrate] \(位元速率\) 設定為介於 1500 到 4000 Kbps 之間的任意位置。 如果您使用 720P 標準編碼即時活動,建議使用 2500 Kbps。 如果您使用 1080P 進階即時活動,建議使用 4000 Kbps。 您可以選擇根據網路上可用的 CPU 功能和頻寬來調整此設定,以達到所需的品質設定。
- 將 [Latency] \(延遲\) 設定為 [low] \(低\)。
- 將 [B frames] \(B 畫面格數\) 設定為 2。
- 將 [Subjective Video Enhancements] \(主觀視訊增強\) 保持未核取狀態。
進行音訊設定
在下一個程序中,您將調整音訊編碼設定。
- 在 [Settings] \(設定\) 中選取 [Output] \(輸出\) -> [Audio] \(音訊\) 索引標籤。
- 將 [Track 1] \(軌道 1\) 的 [Audio Bitrate] \(音訊位元速率\) 設定為 128 Kbps。
- 在 [Settings] \(設定\) 中選取 [Audio] \(音訊\) 索引標籤。
- 將 [Sample Rate] \(採樣速率\) 設定為 44.1 kHz。
開始串流
- 在 [控制項] 面板中,按一下 [開始串流]。
- 切換至瀏覽器中的 Azure 媒體服務即時事件畫面,然後按一下 [重新載入播放器] 連結。 您現在應會在 [預覽] 播放器中看到您的資料流。
設定輸出
此部分會設定您的輸出,並可讓您儲存即時串流的記錄。
注意
為了串流此輸出,串流端點必須正在執行。 請參閱之後的執行預設串流端點一節。
- 選取 [輸出] 影片檢視器下方的 [建立輸出] 連結。
- 您也可以在 [名稱] 方塊中編輯輸出的名稱,讓使用者更容易了解,以便稍後能輕鬆找到。
- 目前請先讓其餘所有方塊保持原狀。
- 請選取 [下一步] 以新增串流定位器。
- 如有需要,請變更定位器的名稱,讓使用者更容易了解。
- 目前請讓此畫面上的所有其他項目保持原狀。
- 選取 [建立]。
使用 Azure 媒體播放器播放輸出直播
- 複製 [輸出] 影片播放機下的串流 URL。
- 在網頁瀏覽器中,開啟 Azure 媒體播放器示範。
- 將串流 URL 貼到 Azure 媒體播放器的 [URL] 方塊中。
- 選取 [更新播放機] 按鈕。
- 選取影片上的 [播放] 圖示,以查看您的即時串流。
停止直播
當您認為已經串流足夠的內容時,請停止直播。
在入口網站中,選取 [停止] 。
在 OBS 中,選取 [控制項] 面板中的 [停止串流] 按鈕。 此步驟會停止來自 OBS 的直播。
使用 Azure 媒體播放器播放隨選輸出
只要您的串流端點持續執行,您建立的輸出目前就可供隨選串流處理。
- 移至媒體服務清單,然後選取 [資產]。
- 尋找您稍早建立的活動輸出,並選取資產的連結。 資產輸出頁面隨即開啟。
- 複製影片播放機下資產的串流 URL。
- 返回瀏覽器中的 Azure 媒體播放器,並將串流 URL 貼至 URL 方塊中。
- 選取 [更新播放程式] 。
- 選取影片上的 [播放] 圖示,以查看隨選資產。
清除資源
重要
停止服務! 完成本快速入門中的步驟後,請務必停止即時活動和串流端點,否則系統會繼續以持續執行的時間計費。 要停止即時活動,請參閱停止直播程序中的步驟 2 和 3。
要停止串流端點:
- 從媒體服務清單中,選取 [串流端點]。
- 選取您稍早啟動的預設串流端點。 此步驟會開啟端點的頁面。
- 選取 [停止]。
秘訣
如果不想保留此活動的資產,請務必將其刪除,以防止系統對儲存體計費。
取得說明及支援
您可以連絡媒體服務並提出問題,或遵循下列其中一種方法來追蹤我們的更新:
- 問與答
-
Stack Overflow。 使用
azure-media-services
標記問題。 - @MSFTAzureMedia 或使用 @AzureSupport 來要求支援。
- 透過 Azure 入口網站 開啟支援票證。