本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 5:設定串流軟體
您可以使用以下方式串流 (低延遲) 到 Amazon IVS:
-
支援 RTMPS 的原生 IVS 廣播 SDK。建議採用此方式,尤其在生產情境下。
-
Amazon IVS 主控台:適用於測試串流。
-
其他流媒體軟體:下文說明兩個範例,Open Broadcast Software (OBS)和 FFmpeg。皆支援 RTMPS 和 RTMP,如 Amazon IVS。RTMPS 透過使用加密的 TLS 串流來實現高安全性。您可以使用支援 RTMPS 或 RTMP 的任何串流軟體。
主要編碼器設定為關鍵影格間隔 (2 秒) 和解析度/位元速率/影格播放速率 (相互關聯)。如需有關編碼器設定的詳細資訊,請參閱:
-
串流組態 (位於 Amazon IVS 使用者指南)
備註:
-
Amazon IVS 串流的最長持續時間為 48 小時。之後,串流終止並且串流工作階段中斷連線。成功的重新連線 (自動或手動) 會啟動新的串流。
-
如果編碼器停止傳送資料 (例如,因為暫時性的網路問題而停止傳送),Amazon IVS 會等待 30 秒。如果在此期間沒有收到任何廣播器資料,Amazon IVS 就會中斷連線。
使用 Amazon IVS 廣播開發套件進行串流
若要從您的 iOS 或 Android 應用程式廣播,您可以使用 Amazon IVS 廣播開發套件。廣播開發套件利用了 Amazon IVS 架構,並且會持續使用 Amazon IVS 的改善項目和新功能。作為原生行動廣播開發套件,其設計目的是針對您的應用程式和使用者存取應用程式的裝置,將效能影響降至最低。
若要從...廣播 | 您可以使用... | 備註 |
---|---|---|
Android 或 iOS 應用程式 | Amazon IVS Android 或 iOS 廣播開發套件 | 作為原生行動廣播開發套件,其設計目的是針對您的應用程式和使用者存取應用程式的裝置,將效能影響降至最低。 |
Web 環境 | Amazon IVS Web 廣播開發套件 | 作為 Web 廣播開發套件,Amazon IVS Web 廣播開發套件可讓您使用 WebRTC 從 Web 環境進行廣播。其擁有跨瀏覽器和跨平台的支援。 |
如需詳細資訊,請參閱 IVS 廣播 SDK (低延遲串流)。
使用 Amazon IVS 主控台進行串流
-
開啟 Amazon IVS 主控台
。 (您也可以透過 AWS 管理主控台
來存取 Amazon IVS 主控台。) -
在導覽窗格中選擇頻道。(如果導覽窗格已收起,選取漢堡圖示即可展開。)
-
選擇要廣播的頻道,前往其詳細資訊頁面。
-
選取廣播索引標籤。(索引標籤位於一般組態區段下方)。
-
系統會提示您授予 IVS 主控台存取攝影機和麥克風的權限;請允許這些權限。
-
在廣播索引標籤的底部,使用下拉式方塊選擇麥克風和攝影機的輸入裝置。
-
若要開始串流,請選取開始廣播。
-
若要檢視即時串流,請前往播放索引標籤。
注意:開始串流後,預期會有短暫的延遲 (通常在 30 秒內),才能在播放索引標籤中檢視。
您可以使用此功能同時廣播到多個頻道。
請注意:從主控台進行串流會耗用資源,而且會產生即時影片輸入費用。如要深入了解,請參閱 IVS 定價頁面上的即時影片輸入費用
與 OBS Studio 串流
(OBS Studio
依照以下步驟,使用 OBS Studio 快速開始並執行:
-
下載並安裝軟體:https://obsproject.com/download
。 -
執行 OBS Studio 自動組態精靈,它在您第一次載入 OBS Studio 時出現。請依照步驟執行並接受預設值。
-
在 Stream Information (串流資訊) 中,從 Service (服務) 下拉式選單中選擇 Custom... (自訂...) 並輸入 Server (Ingest server) (伺服器 (擷取伺服器)) 和 Stream Key (串流金鑰)。
如果您使用 Amazon IVS 主控台建立頻道:
-
您在 OBS 中輸入的 Server (伺服器) 是主控台中的 Ingest server (擷取伺服器):
rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/
-
您在 OBS 中輸入的串流金鑰是來自主控台的串流金鑰:
sk_us-west-2_abcd1234efgh5678ijkl
如果您使用 AWS CLI 建立頻道:
-
您在 OBS 中輸入的伺服器是四項組合:
-
擷取通訊協定:
rtmps://
(注意:若為不安全的擷取串流建立頻道,請指定rtmp://
) -
來自 CLI 回應的 ingestEndpoint:
a1b2c3d4e5f6.global-contribute.live-video.net
-
連接埠:
443
-
路徑:
/app/
完整項目為:
rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/
-
-
您在 OBS 中輸入的串流金鑰是來自 CLI 回應的 streamKey 值:
sk_us-west-2_abcd1234efgh5678ijkl
-
-
對於 Video Output Resolution (影片輸出解析度) 和 Bitrate (位元速率),請參閱 Amazon IVS 串流組態中的頻道類型。如果 OBS 精靈選擇的任一值超過了 Amazon IVS 允許的值,您應該手動調整值以避免與 Amazon IVS 的連線失敗。精靈完成後:
-
若要調整影片解析度,請使用 Settings > Video > Output (Scaled) Resolution (設定 > 影片 > 輸出 (縮放) 解析度)。
-
若要調整影片位元速率,請使用 Settings > Output > Streaming > Video Bitrate (設定 > 輸出 > 串流 > 影片位元速率)。
-
-
建議使用 2 秒的關鍵影格間隔來提高串流穩定性,並避免在觀眾播放時緩衝。精靈完成後,進入 Settings > Output > Output Mode (設定 > 輸出 > 輸出模式),選取 Advanced (進階),並確保 Streaming (串流) 索引標籤中的 Keyframe Interval (關鍵影格間隔) 為 2。
-
在 OBS Studio 主視窗中,選擇開始串流。
有關使用 OBS Studio 進行串流的更多資訊,請參閱 OBS Studio 快速入門
您可以稍後手動修改您的 OBS 設定:
-
選擇 Settings > Stream (設定 > 串流)。
-
從下拉式清單中選擇 Custom (自訂)。
-
在 Server (伺服器) 和/或 Stream Key (串流金鑰) 中貼上。
您可以隨時再次執行精靈:選擇 Tools > Auto-Configuration Wizard (工具 > 自動組態精靈)。
或者,在設定 > 一般中,請啟用本機錄製功能,以儲存您的即時串流供日後使用。如前所述,廣播和 AWS 之間或 AWS 內部的網路問題可能會導致在錄製串流時遺失某些資料。在這些情況下,Amazon IVS 會將即時串流優先於錄製。透過串流工具進行本機錄製,可提供備援。
建議您定期檢查 OBS Studio 更新並更新至最新版本。(例如,如果您收到「無法連接至伺服器」錯誤,則可能正在使用不支援 RTMPS 的舊版本的 OBS Studio。)
使用 FFmpeg 串流錄製的影片
請遵循下列步驟:
-
下載並安裝 FFmpeg:https://www.ffmpeg.org/download.html
。 -
將
$VIDEO_FILEPATH
設定為要串流 MP4 影片的位置:VIDEO_FILEPATH=/home/test/my_video.mp4
-
設置
STREAM_KEY
為您的 StreamKey 值:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
將
INGEST_ENDPOINT
設定為 ingestEndpoint (從 AWS CLI 進行):INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
-
開始使用以下終端命令進行串流 (這是全部一行):
ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY
請注意,上述命令是一個範例。對於生產串流,請根據您的需要調整參數。