上海2015年1月13日電 /美通社/ -- 近日,七牛為用戶推出應(yīng)用場景全面解析,旨在幫助開發(fā)者們更便捷地使用云服務(wù)。七牛目前已服務(wù)超過15萬家用戶,這些用戶的應(yīng)用場景也各有不同,其中典型的應(yīng)用場景可以分為三大類:音視頻應(yīng)用場景、圖片應(yīng)用場景及 App 分發(fā)類應(yīng)用場景。七牛希望通過全面解析這些場景,幫助開發(fā)者們避免在云服務(wù)使用過程中的走彎路。
七牛提供的全面解析先以音視頻作為開篇,原因在于從七牛平臺上可以看到
這個場景的巨大潛力。同時七牛也相信,視頻元年即將到來。音視頻類場景有一共同特點(diǎn):對播放的流暢度要求高,對音視頻處理的需求也比較旺盛。并且音視頻的處理參數(shù)遠(yuǎn)多于圖片,所以應(yīng)用場景復(fù)雜度也較高。以下將總結(jié)音視頻的兩種類型。
一、音視頻點(diǎn)播類應(yīng)用
音視頻點(diǎn)播資源來源主要有 UGC 的數(shù)據(jù)和客戶服務(wù)端直接上傳的數(shù)據(jù),這類應(yīng)用一般會關(guān)注下面幾點(diǎn)。
1. 音視頻支持轉(zhuǎn)碼的格式以及轉(zhuǎn)碼處理的觸發(fā)場景
七牛用于音視頻處理使用的庫是“FFMPEG”,基本上常見的音視頻格式七牛都支持。觸發(fā)的場景可以是音視頻上傳后立即進(jìn)行轉(zhuǎn)碼操作,也可以是通過七牛的“pfop接口”對已有的資源進(jìn)行處理。
2. 針對UGC的數(shù)據(jù)上傳的框架以及上傳的速度
與圖片類應(yīng)用不同,音視頻的文件通常比較大,所以建議使用七牛提供的斷點(diǎn)續(xù)上傳接口來保證上傳的速度和穩(wěn)定性。
3. 是否支持對音視頻的直接播放
對音視頻播放的支持依賴于播放器,包括網(wǎng)頁端播放器和移動端播放器,原則上,只要播放器支持,那么存儲在七牛的音視頻資源就能直接播放。雖然播放器并不是七牛的業(yè)務(wù),但是我們還是推薦兩款優(yōu)秀的在線播放器 JW Player 和 Sewise Player。
4. 音視頻在線播放是否流暢
流媒體文件的播放流暢程度主要依賴于 CDN 的緩存機(jī)制,七牛的 CDN 節(jié)點(diǎn)可以提供流媒體類型的文件緩存,保證視頻流、音頻流在播放時的穩(wěn)定和流暢。不過還是建議對相同的源音視頻轉(zhuǎn)碼成多碼率的音視頻,以保證不同網(wǎng)絡(luò)狀況下的用戶都能無障礙訪問音視頻。針對視頻而言,對視頻進(jìn)行“HLS切片”處理是我們推薦的。
5. 如何保證音視頻私密性和安全性
首先,針對所有的資源,用戶都可以將資源的空間設(shè)置為私有,來保護(hù)資源的私密性,保證資源需要帶“下載憑證”去訪問資源。而對于私有的 HLS 文件,七牛提供“pm3u8接口”讓 m3u8 索引文件和切片文件保持下載憑證的一致性。另外七牛提供“HLS加密接口”,可以滿足用戶對音視頻的加密需求。還有 https 通道支持防竊聽。
下面用七牛的兩個客戶案例來具體說明下:
美拍
美拍這樣的短視頻分享類 APP,對七牛的需求就是上傳穩(wěn)定性要有保證,下載播放體驗(yàn)也要有保證。美拍目前對七牛的使用以及訴求可以概括為:
唱吧
唱吧是七牛平臺上非常典型的音視頻案例。七牛為其提供了一整套的多媒體解決方案,從音視頻的編解碼到流媒體分發(fā),從大規(guī)模文件的低成本、高可靠性存儲到用戶端的上傳、下載雙向加速。
點(diǎn)播類應(yīng)用還有一個非常特殊的群體,那就是:在線視頻監(jiān)控。這類群體對實(shí)時上傳,海量存儲,以及方便的空間回收都有非常嚴(yán)格的要求。因?yàn)楦鼮閺?fù)雜,之后我們將用專門的技術(shù)結(jié)合案例來講述。
二、音視頻直播類應(yīng)用
直播服務(wù)是隨著用戶量的增加應(yīng)運(yùn)而生的,點(diǎn)播服務(wù)的穩(wěn)步發(fā)展,必然會催生直播的需求。直播服務(wù)包含交互與無交互兩種需求,這兩種有不同的延時需求。比如足球直播屬于無交互的,延時可以在10s左右,而有交互的比如秀場,10s延遲就不能滿足。而視頻會議這種交互更是需要支持雙向通信方式。七牛的直播服務(wù)已經(jīng)在一些客戶的生產(chǎn)環(huán)境中得到了應(yīng)用。經(jīng)過實(shí)踐,這類產(chǎn)品一般初期會關(guān)注下面幾點(diǎn)。
1. 直播服務(wù)需要用戶自己提供硬件還是七牛提供硬件。
七牛支持 RTMP 推流, RTMP 和 HLS 取流,有 camera-sdk 和 player-sdk,也就是說,七牛既可以使用客戶提供的攝像頭,并將 sdk 燒錄到攝像頭中,那就不用關(guān)心推流協(xié)議,播放出來的可以是 RTMP 或者 HLS;如果不修改攝像頭,那可以直接搭建一臺中轉(zhuǎn)服務(wù)器接入七牛的 API,直接推 RTMP。
2. 直播流最多可以支持多少人同時在線
我們會根據(jù)客戶的需求去調(diào)整并發(fā)支持的數(shù)量,一萬路并發(fā)和十萬路并發(fā)都是可以實(shí)現(xiàn)的。
Photo: http://photos.prnasia.com/prnh/20150112/0861500234-a
Photo: http://photos.prnasia.com/prnh/20150112/0861500234-b