本文主要介紹視頻直播的推流、拉流和播流,及其實現步驟。

基本概念

視頻直播的基礎服務是直播流的接入和分發服務。您可以使用推流地址通過推流工具將視頻流推送至阿里云平臺進行視頻的內容處理及分發,觀眾可以通過播放地址和播放器觀看直播內容。推送至阿里云中心的視頻可以根據您的需求進行設置,從而適用于不同的應用場景。

  • 推流

    推流是把采集階段封裝好的音視頻直播流推送到阿里云直播服務中心的過程。

  • 拉流

    拉流是將第三方直播流地址拉取到阿里直播中心進行CDN內容分發,推流至需要的節點的過程。

  • 播流

    播流是將直播服務中心已有直播內容,分發到播放器進行播放過程。

直播流程

使用直播基礎服務,其實就是通過在推流工具中指定直播地址的方式,將直播流推送至直播中心進行內容分發,再由觀眾通過播放工具指定播放地址從而觀看直播的過程。

若要完成視頻直播,步驟如下:

  1. 準備工具和環境
  2. 拉取直播流(按需)
  3. 獲取推流與播放地址
  4. 推流設置與操作
  5. 播放設置與查看

準備工具和環境

根據需求下載合適的端側工具。

推流工具 下載地址

PC端推流

以PC端OBS推流插件Demo為例。

移動端推流

以阿里云直播為例。

掃碼安裝Demo應用阿里云直播。Demo安裝包
播流工具 下載地址

PC端播流

以第三方工具VLC為例。

VLC media player官方下載地址

移動端播流

以阿里云直播為例。

掃碼上方二維碼安裝Demo。(若已安裝可跳過)。
網絡環境類型比較見下表:
網絡類型 優勢 劣勢
有線網 穩定 不夠便捷
Wi-Fi 便捷 不穩定
  • 有線網絡相對Wi-Fi來說比較穩定,信號不易受干擾。因此,如果條件允許,建議您使用有線網絡。
  • Wi-Fi相對有線網絡來說比較便捷。因此,如果是活動直播,建議您使用 Wi-Fi。

上行帶寬檢測

視頻直播對網絡環境要求較高,良好的網絡環境可以保證直播觀看時的流暢度。上行帶寬,決定視頻質量、分辨率。視頻質量越好,分辨率越高,對上行帶寬的要求就越高。建議您使用網速測試工具Speedtest測試您當前網絡的上行帶寬情況。
說明 建議您的上行帶寬不低于1 Mbps。

按需拉取直播流

如果您使用的是第三方的直播流地址,您可以使用拉流直播的功能,將直播流拉取到阿里云視頻直播的直播中心,再進行分發。您只需準備完成拉流配置即可,支持固定拉流和觸發拉流兩種方式。
  • 固定拉流:指定拉流的起始時間和結束時間,在指定時間進行拉流直播。
  • 觸發拉流:當需要拉取的源站開始播放直播流時,自動觸發阿里云視頻直播服務進行拉流直播。

準備需要拉取的源站的拉流地址, 直播控制臺的域名管理 > 域名配置 > 拉流配置頁面中,添加拉流配置信息。具體操作,請參見拉流配置

說明
  • 阿里云拉流服務器IP為動態IP,若您的直播流源站設置了IP白名單的訪問限制,可能導致視頻直播服務無法拉取到您的第三方的直播流地址。
  • 固定拉流和觸發拉流目前均暫不支持IPv6。

獲取推流與播放地址

您可以選擇控制臺或手動拼接的方式獲取推流地址和播放地址。詳細操作,請參見獲取推流地址和播放地址

推流設置與操作

根據實際使用的推流工具按下表操作指引完成推流。

端側 操作指引

PC端

以PC端OBS推流插件Demo為例。

  1. 運行OBS推流插件Demo。
    說明 首次在Mac端打開OBS推流插件Demo,可能收到以下錯誤提示:

    macOS無法驗證此App不包含惡意軟件。

    您可以通過Mac端的安全性與隱私設置,允許打開此App。

  2. 單擊設置打開設置頁面。
  3. 在設置頁面單擊推流打開串流頁面,然后填寫服務器信息,串流密鑰可留空白。

    在服務器編輯框填入已經生成的鑒權推流地址。推流地址示例為:rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************

    obs
    說明
    • 以上推流地址示例由推流域名、AppName、StreamName和鑒權串組成,您需要根據實際情況,替換成您自己的AppName、StreamName和相應的鑒權串。
    • 服務器輸入框中需填寫完整的推流地址,串流密鑰留空即可。
    • 關于OBS推流插件Demo配置及使用,請參見OBS推流工具
  4. 在主界面的來源區域添加視頻源,然后單擊開始推流

移動端

以阿里云直播為例。

  1. 在移動端打開阿里云直播,選擇攝像頭推流錄屏推流進入開始推流界面。
    注意
    • 移動端推流本地視頻文件僅支持視頻圖像原有yuv格式。
    • 攝像頭推流為手機攝像頭采集畫面進行推流,錄屏推流為手機屏幕畫面進行推流。
  2. 開始推流界面最上方輸入已經生成的帶鑒權信息的推流地址,如rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
  3. 完成分辨率設置等推流設置,然后界面最下方的開始推流,完成移動端推流。
說明 阿里云視頻直播不允許同一時間向同一個推流URL進行多路推流(第二路推流會被拒絕)。

推流后您可前往控制臺,點擊流管理,查看在線流列表,列表中已有您的視頻信息則表示推流成功。

播放設置與查看

根據實際使用的播放工具按下表操作指引完成播放。

端側 操作指引

PC端

以VLC為例。

  1. 運行VLC播放器,單擊媒體 > 打開網絡串流(N)
  2. 請輸入網絡URL對話框中,輸入播放地址(如rtmp://example.aliyundoc.com/app/stream?auth_key=1543300311-0-0-d47ce016332bf280cf275********),并單擊播放
說明 以上播放地址示例由播流域名、AppName、StreamName和鑒權串組成,您需要根據實際情況,替換成您自己的AppName、StreamName和相應的鑒權串。

關于VLC播放器的配置及使用,請參見VLC播放器

如果遇到跨域問題無法播放,請參見提示跨域錯誤

移動端

以阿里云直播為例。

  1. 打開移動端播流工具阿里云直播,選擇直播播放進入拉流界面。
  2. 拉流界面編輯框填入已經生成的播流地址。如rtmp://example.aliyundoc.com/app/stream?auth_key=1543300311-0-0-d47ce016332bf280cf275********
  3. 點擊拉流,完成移動端播放。

Web端

以阿里云Web播放器為例。

  1. 為本文創建的播流域名配置跨域訪問。配置項為HTTP消息頭中的Access-Control-Allow-Origin。操作步驟請參考配置HTTP消息頭
    說明 選擇本文創建的播流域名進入配置頁面,Access-Control-Allow-Origin的取值可以填寫*表示全部域名,也可以填寫阿里云Web播放器的域名,例如http://example.aliyundoc.com
  2. 單擊基礎配置,在視頻類型選擇項中單擊直播,將已生成的播流地址輸入或拷貝至Web播放器中。
  3. 單擊播放預覽進行觀看。
注意
  • 因為目前主流瀏覽器不再支持Flash,會導致使用RTMP協議的播放地址在Web播放器無法進行播放預覽。