本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
本文介紹在OSS控制臺或者使用SDK、RTMP推流上傳等方式上傳到阿里云OSS的視頻,如何實現視頻在線播放。
實現方式
在OSS控制臺或者使用SDK上傳的視頻如何播放
OSS通過公共接口對外提供接口服務,上傳成功后,可以通過生成URL的方法生成訪問地址。更多信息,請參見使用文件URL分享文件。
RTMP推流上傳到OSS的視頻如何播放
RTMP推流上傳到OSS的音視頻數據如何獲取播放地址,請參見以下場景:
直播場景
在推流的過程中,可以通過HLS協議播放正在推送的內容。各個平臺的播放方法如下:
在Android、iOS等移動平臺,直接在瀏覽器輸入LiveChannel對應的播放地址即可。關于如何獲取對應的推流地址,請參見ListLiveChannel。
Mac OS可以使用Safari瀏覽器進行播放。
PC端可以安裝VLC播放器進行播放。
點播場景
推流的過程中,OSS總是以直播流的方式推送或更新M3U8文件。所以對于點播的場景,需要在推流結束后,調用PostVodPlaylist接口來組裝一個點播用的M3U8文件,然后使用該文件地址來播放。PostVodPlaylist接口的使用方法,請參見PostVodPlaylist。
對于點播的場景,可以設置較大的GOP來減少TS文件數,降低碼率。
常見問題
鏈接只能下載不能直接預覽?
出于數據傳輸安全考慮,在2022/10/09 00:00之后新開通OSS的用戶,使用OSS默認域名訪問任意文件,以及在2020/11/17 11:07之后開通傳輸加速的Bucket,使用OSS傳輸加速域名訪問任意文件,OSS會在返回頭中增加兩個Header:
x-oss-force-download:true
Content-Disposition: attachment
標準瀏覽器檢測到Content-Disposition: attachment
,會彈出下載而不是預覽。如需實現預覽,您可以為OSS綁定自定義域名。使用自定義域名訪問文件,不會增加以上Header。具體操作,請參見綁定自定義域名。
為什么有的瀏覽器無法播放?
導致瀏覽器無法播放視頻的可能原因如下:
瀏覽器不兼容視頻格式:瀏覽器不支持播放某些格式的視頻。例如Safari瀏覽器支持M3U8格式,但是其他的瀏覽器不支持。如果瀏覽器不兼容視頻格式,您可以使用媒體處理進行轉碼,將視頻改為正常播放的格式。具體操作,請參見創建轉碼任務。
瀏覽器無法正確識別視頻的文件類型:OSS默認根據文件的后綴名來設置MIME。如果視頻文件沒有后綴名,您需要自行更改。關于OSS如何設置MIME,請參見Content-Type(MIME)。
能不能獲取一個預覽鏈接,一個下載鏈接?
獲取一個預覽鏈接和一個下載鏈接的步驟如下:
綁定自定義域名。具體操作,請參見綁定自定義域名。
使用自定義域名生成簽名URL時,通過設置文件的
Content-Dispostion
為attachment
和inline
來分別生成一個下載鏈接、一個預覽鏈接。具體操作,請參見sign(生成簽名URL)。
怎么能讓鏈接永久生效?
如果您需要讓文件的鏈接永久生效,您可以設置文件的訪問權限為公共讀。具體操作,請參見Object ACL。
互聯網上任何用戶都可以對該Object進行訪問,這有可能造成您數據的外泄以及費用激增,請謹慎操作。
域名需要自己購買?
如果您要為存儲空間綁定自定義域名,您需要注冊一個域名并將其解析到OSS。您可以通過阿里云域名服務申請注冊。具體操作,請參見如何注冊阿里云域名。
域名用不用備案?
如果存儲空間在中國內地,您需要備案域名。您可以通過阿里云ICP代備案管理系統申請備案。具體操作,請參見ICP備案流程概述。
為什么綁定了域名還是無法訪問?
域名的CNAME解析需要一定的時間才能生效,具體的時間取決于TTL設置、DNS緩存和DNS傳播。通常情況下,CNAME解析的生效時間在幾分鐘到幾小時之間。如果您在綁定域名后無法訪問,請耐心等待一段時間,確保解析設置正確,并且所有的DNS服務器都已經接收到更新的解析結果。
防盜鏈怎么設置?
為避免您的視頻被其他人盜用,您可以通過設置Referer列表以及是否允許空Referer的方式,限制視頻的訪問來源。具體操作,請參見防盜鏈。
怎么通過HTTPS的方式訪問?
如果您需要通過HTTPS的方式訪問自定義域名,您可以購買相應的數字證書并進行證書托管。更多信息,請參見證書托管。
如何對上傳的視頻進行處理?
如果您需要對視頻進行剪輯、水印、轉碼等操作,您可以使用媒體處理。詳情請參見媒體處理。