iOS 直播技術談

<轉>

一荚虚、個人見解(直播難與易)

直播難:個人認為要想把直播從零開始做出來仑鸥,絕對是牛逼中的牛逼,大牛中的大牛,因為直播中運用到的技術難點非常之多,視頻/音頻處理,圖形處理,視頻/音頻壓縮,CDN分發(fā)医窿,即時通訊等技術,每一個技術都夠你學幾年的炊林。

直播易:已經(jīng)有各個領域的大牛姥卢,封裝好了許多牛逼的框架,我們只需要用別人寫好的框架渣聚,就能快速的搭建一個直播app独榴,也就是傳說中的站在大牛肩膀上編程。

二奕枝、了解直播

熱門直播產(chǎn)品

映客棺榔,斗魚,熊貓隘道,虎牙症歇,花椒等等

直播效果圖

直播效果.jpeg

1.一個完整直播app功能(來自落影l(fā)oyinglin分享)

1、聊天

私聊谭梗、聊天室设塔、點亮、推送缩幸、黑名單等;

2竞思、禮物

普通禮物表谊、豪華禮物、紅包跨算、排行榜倔矾、第三方充值哪自、內(nèi)購、禮物動態(tài)更新铅忿、提現(xiàn)等;

3命锄、直播列表

關注袜瞬、熱門汞扎、最新、分類直播用戶列表等玫坛;

4结笨、自己直播

錄制、推流湿镀、解碼炕吸、播放、美顏勉痴、心跳赫模、后臺切換、主播對管理員操作蚀腿、管理員對用戶等嘴瓤;

5扫外、房間邏輯

創(chuàng)建房間莉钙、進入房間、退出房間筛谚、關閉房間磁玉、切換房間、房間管理員設置驾讲、房間用戶列表等蚊伞;

6席赂、用戶邏輯

普通登陸、第三方登陸时迫、注冊颅停、搜索、修改個人信息掠拳、關注列表癞揉、粉絲列表、忘記密碼溺欧、查看個人信息喊熟、收入榜、關注和取關姐刁、檢索等芥牌;

7、觀看直播

聊天信息聂使、滾屏彈幕壁拉、禮物顯示、加載界面等柏靶;

8扇商、統(tǒng)計

APP業(yè)務統(tǒng)計、第三方統(tǒng)計等宿礁;

9案铺、超管

禁播、隱藏梆靖、審核等控汉;

2.一個完整直播app原理

直播原理:把主播錄制的視頻,推送到服務器返吻,在由服務器分發(fā)給觀眾觀看姑子。

直播環(huán)節(jié):推流端(采集、美顏處理测僵、編碼街佑、推流)、服務端處理(轉碼捍靠、錄制沐旨、截圖、鑒黃)榨婆、播放器(拉流磁携、解碼、渲染)良风、互動系統(tǒng)(聊天室谊迄、禮物系統(tǒng)闷供、贊)

3.一個完整直播app實現(xiàn)流程

1.采集、2.濾鏡處理统诺、3.編碼歪脏、4.推流、5.CDN分發(fā)粮呢、6.拉流唾糯、7.解碼、8.播放鬼贱、9.聊天互動

直播流程.png

4.一個完整直播app架構

直播架構.png

5.一個完整直播app技術點

WeChat_1472043345.jpeg

三移怯、了解流媒體(直播需要用到流媒體)

流媒體開發(fā):網(wǎng)絡層(socket或st)負責傳輸,協(xié)議層(rtmp或hls)負責網(wǎng)絡打包这难,封裝層(flv舟误、ts)負責編解碼數(shù)據(jù)的封裝,編碼層(h.264和aac)負責圖像姻乓,音頻壓縮嵌溢。

幀:每幀代表一幅靜止的圖像

GOP:(Group of Pictures)畫面組,一個GOP就是一組連續(xù)的畫面蹋岩,每個畫面都是一幀赖草,一個GOP就是很多幀的集合

直播的數(shù)據(jù),其實是一組圖片剪个,包括I幀秧骑、P幀、B幀扣囊,當用戶第一次觀看的時候乎折,會尋找I幀,而播放器會到服務器尋找到最近的I幀反饋給用戶侵歇。因此骂澄,GOP Cache增加了端到端延遲,因為它必須要拿到最近的I幀

GOP Cache的長度越長惕虑,畫面質量越好

碼率:圖片進行壓縮后每秒顯示的數(shù)據(jù)量坟冲。

幀率:每秒顯示的圖片數(shù)。影響畫面流暢度溃蔫,與畫面流暢度成正比:幀率越大健提,畫面越流暢;幀率越小酒唉,畫面越有跳動感矩桂。

由于人類眼睛的特殊生理結構沸移,如果所看畫面之幀率高于16的時候痪伦,就會認為是連貫的侄榴,此現(xiàn)象稱之為視覺暫留。并且當幀速達到一定數(shù)值后网沾,再增長的話癞蚕,人眼也不容易察覺到有明顯的流暢度提升了。

分辨率:(矩形)圖片的長度和寬度辉哥,即圖片的尺寸

壓縮前的每秒數(shù)據(jù)量:幀率X分辨率(單位應該是若干個字節(jié))

壓縮比:壓縮前的每秒數(shù)據(jù)量/碼率 (對于同一個視頻源并采用同一種視頻編碼算法桦山,則:壓縮比越高,畫面質量越差醋旦。)

視頻文件格式:文件的后綴恒水,比如.wmv,.mov,.mp4,.mp3,.avi,

主要用處,根據(jù)文件格式饲齐,系統(tǒng)會自動判斷用什么軟件打開,

注意: 隨意修改文件格式钉凌,對文件的本身不會造成太大的影響,比如把avi改成mp4,文件還是avi.

視頻封裝格式:一種儲存視頻信息的容器捂人,流式封裝可以有TS御雕、FLV等,索引式的封裝有MP4,MOV,AVI等滥搭,

主要作用:一個視頻文件往往會包含圖像和音頻酸纲,還有一些配置信息(如圖像和音頻的關聯(lián),如何解碼它們等):這些內(nèi)容需要按照一定的規(guī)則組織瑟匆、封裝起來.

注意:會發(fā)現(xiàn)封裝格式跟文件格式一樣闽坡,因為一般視頻文件格式的后綴名即采用相應的視頻封裝格式的名稱,所以視頻文件格式就是視頻封裝格式。

視頻封裝格式和視頻壓縮編碼標準:就好像項目工程和編程語言愁溜,封裝格式就是一個項目的工程无午,視頻編碼方式就是編程語言,一個項目工程可以用不同語言開發(fā)祝谚。

四宪迟、直播基礎知識介紹:

1.采集視頻、音頻

*1.1 采集視頻交惯、音頻編碼框架*

AVFoundation:AVFoundation是用來播放和創(chuàng)建實時的視聽媒體數(shù)據(jù)的框架次泽,同時提供Objective-C接口來操作這些視聽數(shù)據(jù),比如編輯席爽,旋轉意荤,重編碼

*1.2 視頻、音頻硬件設備*

CCD:圖像傳感器: 用于圖像采集和處理的過程只锻,把圖像轉換成電信號玖像。

拾音器:聲音傳感器: 用于聲音采集和處理的過程,把聲音轉換成電信號齐饮。

音頻采樣數(shù)據(jù):一般都是PCM格式

視頻采樣數(shù)據(jù): 一般都是YUV,或RGB格式捐寥,采集到的原始音視頻的體積是非常大的笤昨,需要經(jīng)過壓縮技術處理來提高傳輸效率

2.視頻處理(美顏,水游湛摇)

視頻處理原理:因為視頻最終也是通過GPU瞒窒,一幀一幀渲染到屏幕上的,所以我們可以利用OpenGL ES乡洼,對視頻幀進行各種加工崇裁,從而視頻各種不同的效果,就好像一個水龍頭流出的水束昵,經(jīng)過若干節(jié)管道拔稳,然后流向不同的目標

現(xiàn)在的各種美顏和視頻添加特效的app都是利用GPUImage這個框架實現(xiàn)的,.

*視頻處理框架*

GPUImage: GPUImage是一個基于OpenGL ES的一個強大的圖像/視頻處理框架,封裝好了各種濾鏡同時也可以編寫自定義的濾鏡,其本身內(nèi)置了多達120多種常見的濾鏡效果。

OpenGL:OpenGL(全寫Open Graphics Library)是個定義了一個跨編程語言锹雏、跨平臺的編程接口的規(guī)格壳炎,它用于三維圖象(二維的亦可)。OpenGL是個專業(yè)的圖形程序接口逼侦,是一個功能強大匿辩,調用方便的底層圖形庫。

OpenGL ES:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三維圖形 API 的子集榛丢,針對手機铲球、PDA和游戲主機等嵌入式設備而設計。

3.視頻編碼解碼

*3.1 視頻編碼框架*

FFmpeg:是一個跨平臺的開源視頻框架,能實現(xiàn)如視頻編碼,解碼,轉碼,串流,播放等豐富的功能晰赞。其支持的視頻格式以及播放協(xié)議非常豐富,幾乎包含了所有音視頻編解碼稼病、封裝格式以及播放協(xié)議。

-Libswresample:可以對音頻進行重采樣,rematrixing 以及轉換采樣格式等操 作掖鱼。

-Libavcodec:提供了一個通用的編解碼框架,包含了許多視頻,音頻,字幕流 等編碼/解碼器然走。

-Libavformat:用于對視頻進行封裝/解封裝。

-Libavutil:包含一些共用的函數(shù),如隨機數(shù)生成,數(shù)據(jù)結構,數(shù)學運算等戏挡。

-Libpostproc:用于進行視頻的一些后期處理芍瑞。

-Libswscale:用于視頻圖像縮放,顏色空間轉換等。

-Libavfilter:提供濾鏡功能褐墅。

X264:把視頻原數(shù)據(jù)YUV編碼壓縮成H.264格式

VideoToolbox:蘋果自帶的視頻硬解碼和硬編碼API拆檬,但是在iOS8之后才開放。

AudioToolbox:蘋果自帶的音頻硬解碼和硬編碼API

*3.2 視頻編碼技術*

視頻壓縮編碼標準:對視頻進行壓縮(視頻編碼)或者解壓縮(視頻解碼)的編碼技術,比如MPEG妥凳,H.264,這些視頻編碼技術是壓縮編碼視頻的

主要作用:是將視頻像素數(shù)據(jù)壓縮成為視頻碼流竟贯,從而降低視頻的數(shù)據(jù)量。如果視頻不經(jīng)過壓縮編碼的話逝钥,體積通常是非常大的屑那,一部電影可能就要上百G的空間。

注意:最影響視頻質量的是其視頻編碼數(shù)據(jù)和音頻編碼數(shù)據(jù),跟封裝格式?jīng)]有多大關系

MPEG:一種視頻壓縮方式持际,它采用了幀間壓縮沃琅,僅存儲連續(xù)幀之間有差別的地方 ,從而達到較大的壓縮比

H.264/AVC:一種視頻壓縮方式,采用事先預測和與MPEG中的P-B幀一樣的幀預測方法壓縮选酗,它可以根據(jù)需要產(chǎn)生適合網(wǎng)絡情況傳輸?shù)囊曨l流,還有更高的壓縮比阵难,有更好的圖象質量

注意1:如果是從單個畫面清晰度比較岳枷,MPEG4有優(yōu)勢芒填;從動作連貫性上的清晰度,H.264有優(yōu)勢

注意2:由于264的算法更加復雜空繁,程序實現(xiàn)煩瑣殿衰,運行它需要更多的處理器和內(nèi)存資源。因此盛泡,運行264對系統(tǒng)要求是比較高的闷祥。

注意3:由于264的實現(xiàn)更加靈活,它把一些實現(xiàn)留給了廠商自己去實現(xiàn)傲诵,雖然這樣給實現(xiàn)帶來了很多好處凯砍,但是不同產(chǎn)品之間互通成了很大的問題,造成了通過A公司的編碼器編出的數(shù)據(jù)拴竹,必須通過A公司的解碼器去解這樣尷尬的事情

H.265/HEVC:一種視頻壓縮方式,基于H.264悟衩,保留原來的某些技術,同時對一些相關的技術加以改進栓拜,以改善碼流座泳、編碼質量、延時和算法復雜度之間的關系幕与,達到最優(yōu)化設置挑势。

H.265 是一種更為高效的編碼標準,能夠在同等畫質效果下將內(nèi)容的體積壓縮得更小啦鸣,傳輸時更快更省帶寬

I幀:(關鍵幀)保留一副完整的畫面潮饱,解碼時只需要本幀數(shù)據(jù)就可以完成(因為包含完整畫面)

P幀:(差別幀)保留這一幀跟之前幀的差別,解碼時需要用之前緩存的畫面疊加上本幀定義的差別诫给,生成最終畫面饼齿。(P幀沒有完整畫面數(shù)據(jù),只有與前一幀的畫面差別的數(shù)據(jù))

B幀:(雙向差別幀)保留的是本幀與前后幀的差別蝙搔,解碼B幀缕溉,不僅要取得之前的緩存畫面,還要解碼之后的畫面吃型,通過前后畫面的與本幀數(shù)據(jù)的疊加取得最終的畫面证鸥。B幀壓縮率高,但是解碼時CPU會比較累

幀內(nèi)(Intraframe)壓縮:當壓縮一幀圖像時,僅考慮本幀的數(shù)據(jù)而不考慮相鄰幀之間的冗余信息,幀內(nèi)一般采用有損壓縮算法

幀間(Interframe)壓縮:時間壓縮(Temporal compression)枉层,它通過比較時間軸上不同幀之間的數(shù)據(jù)進行壓縮泉褐。幀間壓縮一般是無損的

muxing(合成):將視頻流、音頻流甚至是字幕流封裝到一個文件中(容器格式(FLV鸟蜡,TS))膜赃,作為一個信號進行傳輸。

*3.3 音頻編碼技術*

AAC揉忘,mp3:這些屬于音頻編碼技術,壓縮音頻用

*3.4碼率控制*

多碼率:觀眾所處的網(wǎng)絡情況是非常復雜的跳座,有可能是WiFi,有可能4G泣矛、3G疲眷、甚至2G,那么怎么滿足多方需求呢您朽?多搞幾條線路狂丝,根據(jù)當前網(wǎng)絡環(huán)境自定義碼率。

列如:常郴┳埽看見視頻播放軟件中的1024几颜,720,高清讯屈,標清蛋哭,流暢等,指的就是各種碼率耻煤。

*3.5 視頻封裝格式*

TS: 一種流媒體封裝格式具壮,流媒體封裝有一個好處,就是不需要加載索引再播放哈蝇,大大減少了首次載入的延遲棺妓,如果片子比較長,mp4文件的索引相當大炮赦,影響用戶體驗

為什么要用TS:這是因為兩個TS片段可以無縫拼接怜跑,播放器能連續(xù)播放

FLV: 一種流媒體封裝格式,由于它形成的文件極小、加載速度極快吠勘,使得網(wǎng)絡觀看視頻文件成為可能,因此FLV格式成為了當今主流視頻格式

4.推流

*4.1 數(shù)據(jù)傳輸框架*

librtmp:用來傳輸RTMP協(xié)議格式的數(shù)據(jù)

*4.2 流媒體數(shù)據(jù)傳輸協(xié)議*

RTMP:實時消息傳輸協(xié)議,Adobe Systems公司為Flash播放器和服務器之間音頻性芬、視頻和數(shù)據(jù)傳輸開發(fā)的開放協(xié)議,因為是開放協(xié)議所以都可以使用了剧防。

RTMP協(xié)議用于對象植锉、視頻、音頻的傳輸峭拘。

這個協(xié)議建立在TCP協(xié)議或者輪詢HTTP協(xié)議之上俊庇。

RTMP協(xié)議就像一個用來裝數(shù)據(jù)包的容器狮暑,這些數(shù)據(jù)可以是FLV中的視音頻數(shù)據(jù)。一個單一的連接可以通過不同的通道傳輸多路網(wǎng)絡流辉饱,這些通道中的包都是按照固定大小的包傳輸?shù)?/p>

chunk:消息包

5.流媒體服務器

*5.1常用服務器*

SRS:一款國人開發(fā)的優(yōu)秀開源流媒體服務器系統(tǒng)

BMS:也是一款流媒體服務器系統(tǒng)搬男,但不開源,是SRS的商業(yè)版彭沼,比SRS功能更多

nginx:免費開源web服務器缔逛,常用來配置流媒體服務器。

*5.2數(shù)據(jù)分發(fā)*

CDN:(Content Delivery Network)姓惑,即內(nèi)容分發(fā)網(wǎng)絡,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡”邊緣”褐奴,使用戶可以就近取得所需的內(nèi)容,解決 Internet網(wǎng)絡擁擠的狀況挺益,提高用戶訪問網(wǎng)站的響應速度.

CDN:代理服務器歉糜,相當于一個中介乘寒。

CDN工作原理:比如請求流媒體數(shù)據(jù)

1.上傳流媒體數(shù)據(jù)到服務器(源站)

2.源站存儲流媒體數(shù)據(jù)

3.客戶端播放流媒體望众,向CDN請求編碼后的流媒體數(shù)據(jù)

4.CDN的服務器響應請求,若節(jié)點上沒有該流媒體數(shù)據(jù)存在伞辛,則向源站繼續(xù)請求流媒體數(shù)據(jù)烂翰;若節(jié)點上已經(jīng)緩存了該視頻文件,則跳到第6步蚤氏。

5.源站響應CDN的請求甘耿,將流媒體分發(fā)到相應的CDN節(jié)點上

6.CDN將流媒體數(shù)據(jù)發(fā)送到客戶端

回源:當有用戶訪問某一個URL的時候,如果被解析到的那個CDN節(jié)點沒有緩存響應的內(nèi)容竿滨,或者是緩存已經(jīng)到期佳恬,就會回源站去獲取搜索。如果沒有人訪問于游,那么CDN節(jié)點不會主動去源站拿.

帶寬:在固定的時間可傳輸?shù)臄?shù)據(jù)總量毁葱,

比如64位、800MHz的前端總線贰剥,它的數(shù)據(jù)傳輸率就等于64bit×800MHz÷8(Byte)=6.4GB/s

負載均衡: 由多臺服務器以對稱的方式組成一個服務器集合倾剿,每臺服務器都具有等價的地位,都可以單獨對外提供服務而無須其他服務器的輔助.

通過某種負載分擔技術蚌成,將外部發(fā)送來的請求均勻分配到對稱結構中的某一臺服務器上前痘,而接收到請求的服務器獨立地回應客戶的請求。

均衡負載能夠平均分配客戶請求到服務器列陣担忧,籍此提供快速獲取重要數(shù)據(jù)芹缔,解決大量并發(fā)訪問服務問題。

這種群集技術可以用最少的投資獲得接近于大型主機的性能瓶盛。

QoS(帶寬管理):限制每一個組群的帶寬最欠,讓有限的帶寬發(fā)揮最大的效用

6.拉流

直播協(xié)議選擇:

即時性要求較高或有互動需求的可以采用RTMP,RTSP

對于有回放或跨平臺需求的坡锡,推薦使用HLS

直播協(xié)議對比:

直播協(xié)議對比.png

HLS:由Apple公司定義的用于實時流傳輸?shù)膮f(xié)議,HLS基于HTTP協(xié)議實現(xiàn),傳輸內(nèi)容包括兩部分窒所,一是M3U8描述文件鹉勒,二是TS媒體文件〕橙。可實現(xiàn)流媒體的直播和點播禽额,主要應用在iOS系統(tǒng)

HLS是以點播的技術方式來實現(xiàn)直播

HLS是自適應碼率流播,客戶端會根據(jù)網(wǎng)絡狀況自動選擇不同碼率的視頻流皮官,條件允許的情況下使用高碼率脯倒,網(wǎng)絡繁忙的時候使用低碼率,并且自動在二者間隨意切

換捺氢。這對移動設備網(wǎng)絡狀況不穩(wěn)定的情況下保障流暢播放非常有幫助藻丢。

實現(xiàn)方法是服務器端提供多碼率視頻流,并且在列表文件中注明摄乒,播放器根據(jù)播放進度和下載速度自動調整悠反。

HLS與RTMP對比:HLS主要是延時比較大,RTMP主要優(yōu)勢在于延時低

HLS協(xié)議的小切片方式會生成大量的文件馍佑,存儲或處理這些文件會造成大量資源浪費

相比使用RTSP協(xié)議的好處在于斋否,一旦切分完成,之后的分發(fā)過程完全不需要額外使用任何專門軟件拭荤,普通的網(wǎng)絡服務器即可茵臭,大大降低了CDN邊緣服務器的配置要求,可以使用任何現(xiàn)成的CDN,而一般服務器很少支持RTSP舅世。

HTTP-FLV:基于HTTP協(xié)議流式的傳輸媒體內(nèi)容旦委。

相對于RTMP,HTTP更簡單和廣為人知雏亚,內(nèi)容延遲同樣可以做到1~3秒缨硝,打開速度更快,因為HTTP本身沒有復雜的狀態(tài)交互评凝。所以從延遲角度來看追葡,HTTP-FLV要優(yōu)于RTMP。

RTSP:實時流傳輸協(xié)議,定義了一對多應用程序如何有效地通過IP網(wǎng)絡傳送多媒體數(shù)據(jù).

RTP:實時傳輸協(xié)議,RTP是建立在UDP協(xié)議上的奕短,常與RTCP一起使用宜肉,其本身并沒有提供按時發(fā)送機制或其它服務質量(QoS)保證,它依賴于低層服務去實現(xiàn)這一過程翎碑。

RTCP:RTP的配套協(xié)議,主要功能是為RTP所提供的服務質量(QoS)提供反饋谬返,收集相關媒體連接的統(tǒng)計信息,例如傳輸字節(jié)數(shù)日杈,傳輸分組數(shù)遣铝,丟失分組數(shù)佑刷,單向和雙向網(wǎng)絡延遲等等。

7.解碼

*7.1 解封裝*

demuxing(分離):從視頻流酿炸、音頻流瘫絮,字幕流合成的文件(容器格式(FLV,TS))中填硕, 分解出視頻麦萤、音頻或字幕,各自進行解碼扁眯。

*7.2 音頻編碼框架*

fdk_aac:音頻編碼解碼框架壮莹,PCM音頻數(shù)據(jù)和AAC音頻數(shù)據(jù)互轉

*7.3 解碼介紹*

硬解碼:用GPU來解碼,減少CPU運算

優(yōu)點:播放流暢姻檀、低功耗命满,解碼速度快,

* 缺點:兼容不好

軟解碼:用CPU來解碼

優(yōu)點:兼容好

* 缺點:加大CPU負擔绣版,耗電增加胶台、沒有硬解碼流暢,解碼速度相對慢

8.播放

ijkplayer:一個基于FFmpeg的開源Android/iOS視頻播放器

API易于集成僵娃;

編譯配置可裁剪概作,方便控制安裝包大幸该睢默怨;

支持硬件加速解碼,更加省電

簡單易用骤素,指定拉流URL匙睹,自動解碼播放.

9.聊天互動

IM:(InstantMessaging)即時通訊:是一個實時通信系統(tǒng),允許兩人或多人使用網(wǎng)絡實時的傳遞文字消息济竹、文件痕檬、語音與視頻交流.

IM在直播系統(tǒng)中的主要作用是實現(xiàn)觀眾與主播、觀眾與觀眾之間的文字互動.

*第三方SDK*

騰訊云:騰訊提供的即時通訊SDK送浊,可作為直播的聊天室

融云:一個比較常用的即時通訊SDK梦谜,可作為直播的聊天室

五、如何快速的開發(fā)一個完整的iOS直播app

1袭景、利用第三方直播SDK快速的開發(fā)

七牛云:七牛直播云是專為直播平臺打造的全球化直播流服務和一站式實現(xiàn)SDK端到端直播場景的企業(yè)級直播云服務平臺.

1

*熊貓TV,龍珠TV等直播平臺都是用的七牛云

網(wǎng)易視頻云:基于專業(yè)的跨平臺視頻編解碼技術和大規(guī)模視頻內(nèi)容分發(fā)網(wǎng)絡唁桩,提供穩(wěn)定流暢、低延時耸棒、高并發(fā)的實時音視頻服務荒澡,可將視頻直播無縫對接到自身App.

2、第三方SDK公司為什么要提供SDK給我們与殃?

希望把我們的產(chǎn)品和它綁在一條船上单山,更加的依賴它碍现。

技術生錢,幫養(yǎng)一大批牛B的程序員

3米奸、直播功能:自研還是使用第三方直播SDK開發(fā)昼接?

第三方SDK開發(fā): 對于一個初創(chuàng)團隊來講,自研直播不管在技術門檻悴晰、CDN辩棒、帶寬上都是有很大的門檻的,而且需要耗費大量的時間才能做出成品膨疏,不利于拉投資一睁。

自研:公司直播平臺大,從長遠看佃却,自研可以節(jié)省成本者吁,技術成面比直接用SDK可控多了。

4.第三方SDK好處

降低成本

使用好的第三方企業(yè)服務饲帅,將不用再花高價請獵頭去挖昂貴的大牛复凳,也不用去安撫大牛們個性化的脾氣

提升效率

第三方服務的專注與代碼集成所帶來的方便,所花費的時間可能僅僅是1-2個小時灶泵,節(jié)約近99%的時間育八,足夠換取更多的時間去和競爭對手斗智斗勇,增加更大的成功可能性

降低風險

借助專業(yè)的第三方服務赦邻,由于它的快速髓棋、專業(yè)、穩(wěn)定等特點惶洲,能夠極大地加強產(chǎn)品的競爭能力(優(yōu)質服務按声、研發(fā)速度等),縮短試錯時間恬吕,必將是創(chuàng)業(yè)中保命的手段之一

專業(yè)的事签则,找專業(yè)的人來做

第三方服務最少是10-20人的團隊專注地解決同一個問題,做同一件事情铐料。第三方服務所帶來的支持效果渐裂,絕不是通過1-2個人處理所能對比的,難道不是嗎

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钠惩,一起剝皮案震驚了整個濱河市柒凉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妻柒,老刑警劉巖扛拨,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異举塔,居然都是意外死亡绑警,警方通過查閱死者的電腦和手機求泰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來计盒,“玉大人渴频,你說我怎么就攤上這事”逼簦” “怎么了卜朗?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咕村。 經(jīng)常有香客問我场钉,道長,這世上最難降的妖魔是什么懈涛? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任逛万,我火速辦了婚禮,結果婚禮上批钠,老公的妹妹穿的比我還像新娘宇植。我一直安慰自己,他們只是感情好埋心,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布指郁。 她就那樣靜靜地躺著,像睡著了一般拷呆。 火紅的嫁衣襯著肌膚如雪闲坎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天洋腮,我揣著相機與錄音箫柳,去河邊找鬼。 笑死啥供,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的库糠。 我是一名探鬼主播伙狐,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瞬欧!你這毒婦竟也來了贷屎?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤艘虎,失蹤者是張志新(化名)和其女友劉穎唉侄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體野建,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡属划,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片募壕。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡芭商,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出须蜗,到底是詐尸還是另有隱情硅确,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布明肮,位于F島的核電站菱农,受9級特大地震影響,放射性物質發(fā)生泄漏柿估。R本人自食惡果不足惜大莫,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望官份。 院中可真熱鬧只厘,春花似錦、人聲如沸舅巷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钠右。三九已至赋元,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間飒房,已是汗流浹背搁凸。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狠毯,地道東北人护糖。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像嚼松,于是被迫代替她去往敵國和親嫡良。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容