阿里雲推流SDK是基於阿里雲強大內容分發網路和音視頻即時通訊技術的直播用戶端推流開發工具,為您提供簡單易用的開放介面、網路自適應的流暢體驗、多節點的低延遲最佳化、功能強大的即時美顏等音ApsaraVideo for Live技術服務。本文介紹推流SDK產品簡介、功能特性、核心優勢、使用情境和工作流程。
產品簡介
阿里雲推流SDK是基於阿里雲強大內容分發網路和音視頻即時通訊技術的直播用戶端推流開發工具,為您提供簡單易用的開放介面、網路自適應的流暢體驗、多節點的低延遲最佳化、功能強大的即時美顏等音ApsaraVideo for Live技術服務。SDK為免費提供,讓您告別複雜的架構設計,降低維護成本,專註於自身商務邏輯實現和使用者體驗的提升。詳細產品介紹請參見移動推流SDK。
阿里雲推流SDK整合了Queen智能美化特效,開放含Face Service的進階美顏功能,可實現瘦臉、小臉、大眼以及基於Face Service的美白功能。
整合Queen智能美化特效功能,需要申請開通License。詳細產品介紹與開通流程,請參見智能美化特效。
使用情境
情境一:教育直播
情境二:娛樂直播
情境描述:娛樂直播藉助手機的便利性形成了全民直播的風暴,主播對美顏、濾鏡依賴成了絕對剛需,通過即時聊天、點贊和打賞等行為完成主播與觀眾的互動,提高人氣值和可玩性。另外,手機端的娛樂直播門檻相對較低,對應內容的安全性(如涉黃、暴恐等)需要嚴格把關,這裡可以藉助直播鑒黃功能來降低審核成本。
使用說明:開通阿里雲直播服務並開啟錄製、鑒黃功能,接入阿里雲推流SDK並開啟美顏功能完成視頻推流,整合阿里雲直播互動訊息於您的互動聊天情境,使用者觀看直播時可以在聊天面板裡發送文字、圖片等資訊,也可以用來搭建自己的禮物系統(IM配合支付),在播放端使用阿里雲播放器SDK進行觀看直播或回放。
情境三:遊戲直播
互動直播可使用ARTC+旁路轉推方案,詳細請參見:直播連麥簡介。
核心優勢
簡單、易整合
Android和iOS提供統一介面和錯誤碼,提供同步和非同步介面,滿足不同開發架構的接入需求,完善介面文檔和Demo方便您參考。
一體化解決方案
提供從視頻採集、渲染、推流、轉碼、分發到播放的一體化ApsaraVideo for Live解決方案,端上的自適應碼率推流、雲端的窄帶高清轉碼到播放端的首屏秒開完美配合,讓您享受一站式優質服務。
高效能、低延時
在推流的卡頓率、CPU和記憶體消耗、耗電量、發熱量等方面都處於業內領先水平,全球2500+的直播節點為各地區的低延時提供了有效保障。
WebRTC推流
提供基於UDP協議的WebRTC推流,且控制台支援自助開通WebRTC推流網域名稱。WebRTC推流在上行網路品質較差時有更優秀的抗卡頓能力。
基礎概念
碼率控制:一種編碼的最佳化演算法,用於控制視頻流碼流的大小。同樣的視頻編碼格式,碼流越大,包含的資訊越多,對應的映像也就越清晰,反之亦然。
視頻丟幀:發送視訊框架時,如果網路非常差,導致視訊框架堆積嚴重,可以通過丟棄視訊框架來縮短推流的延時。
耳返:指主播可以通過耳機即時聽到自己的聲音。例如,當主播帶上耳機唱歌時,需要把握音調,這時就需要開啟耳返功能。因為聲音通過網路傳入耳朵和通過空氣傳入耳朵差異很大,而主播需要直接聽到觀眾端的效果。
混音:把多種來源的聲音整合至一個立體音軌或單音音軌中,推流SDK支援音樂和人聲的混音。
功能特性
功能 | 描述 |
RTMP推流 | 支援RTMP協議直播推流,並支援RTMP、FLV、HLS、ARTC直播拉流協議。解析度支援180P~720P,建議使用540P。 說明 阿里雲推流SDK不支援RTSP協議推流,若您需要實現RTSP推流,可通過第三方工具(如FFmpeg)實現RTSP協議到RTMP協議的轉換。 |
WebRTC推流 | 支援基於UDP的ARTC協議推流。 |
錄屏直播 | iOS支援replayKit錄屏直播,Android支援網路攝影機混流錄屏直播。 支援窄帶高清,同等碼率下畫質更佳。 |
插入SEI資訊 | 支援在直播流中插入SEI資訊,通過播放器解析SEI配合您的業務實現多種功能。 |
動態浮水印 | 支援在直播中即時插入或移除帶動畫效果的浮水印。 |
外部音視頻推流 | 支援輸入外部音視頻資料流進行直播。 |
後台推圖片 | 支援在切後台時設定圖片進行推流,同時也支援在網路非常差的情況下替換為圖片推流。 |
音視頻編碼 | 支援H264視頻編碼(軟編和硬編)和支援AAC音頻編碼(軟編和硬編)。 |
即時美顏 | 支援Face Service進階美顏,包含磨皮、美白、瘦臉、小臉、大眼等功能。 |
動態碼率 | 支援根據網路情況自動調整推流碼率,支援多種模式設定,使直播更加流暢。 |
動態解析度 | 支援根據網路情況自動調整推流解析度(限清晰度和流暢度模式下使用)。 |
後台推流 | 支援退到後台後視頻流不斷,回到前台後繼續推流。 |
立體聲推流 | 支援立體聲推流,可設定單聲道和雙聲道推流。 |
多浮水印 | 支援添加多個浮水印效果(最多3個),浮水印支援位置和大小設定。 |
橫屏推流 | 支援豎向(portrait)、左側橫向(landscape left)和右側橫向(landscape right)三個方向發起推流。 |
採集參數 | 支援解析度、幀率、音頻採樣率、GOP、碼率等多種採集參數設定,滿足不同情境下畫面採集的需求。 |
鏡像推流 | 支援網路攝影機採集鏡像和推流鏡像分別設定,自拍需預設開啟鏡像功能。 |
純音頻推流 | 支援僅採集音頻流並發起推流功能,在純音頻情境下節約頻寬流量。 |
靜音推流 | 支援推流時關閉麥克風,僅推送視頻畫面的功能。 |
自動聚焦 | 支援開啟或關閉自動對焦功能,也可以使用手動對焦。 |
鏡頭縮放 | 支援網路攝影機支援的最大縮放比例進行採集畫面的縮放。 |
網路攝影機切換和閃光燈 | 支援前置和後置網路攝影機切換和開啟或關閉閃光燈功能(僅後置)。 |
背景音樂 | 支援背景音樂播放,包含開始、停止、暫停、繼續、迴圈播放等功能。 |
混音 | 支援音樂和人聲混音,分別調整音樂和人聲的音量。 |
耳返 | 支援耳返功能,例如主播帶上耳機唱歌時,從耳機中可以即時聽到自己的聲音,滿足KTV的情境。 |
降噪 | 支援環境音、手機幹擾等引起的噪音降噪處理。 |
SDK工作流程
基礎推流SDK工作流程
使用者App向AppServer發起請求,擷取推流URL。
AppServer根據規則拼接推流URL返回給App。
App賦值推流URL到推流SDK,使用推流SDK發起推流。
推流SDK將直播流推送到CDN。
開發支援
如果您在使用推流SDK有任何問題或建議,歡迎通過推流SDK異常自助排查 擷取支援人員。