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