短視頻的風(fēng)潮一直未離開,縱看近幾年,短視頻App開發(fā)的高度已經(jīng)到達(dá)了該行業(yè)緩慢發(fā)展的階段,參與的人也越來(lái)越多,但是我們?cè)陂_發(fā)前需要清楚的知道在開發(fā)過(guò)程中會(huì)遇到哪些難題?了解短視頻APP開發(fā)的難度大不大?這些難點(diǎn)都是什么?
首先是會(huì)面臨架構(gòu)問(wèn)題:
拍攝一條視頻后經(jīng)過(guò)數(shù)據(jù)壓縮和清晰度的權(quán)衡,10S的視頻大約在1M左右,一條5分鐘的視頻就要達(dá)到幾十M了。對(duì)比文本的幾十字節(jié)、幾百字節(jié)來(lái)說(shuō)確實(shí)是大得多了。所以也會(huì)面臨著如何上傳、如何存放以及播放的問(wèn)題了。
1、如何上傳
當(dāng)手機(jī)拍攝好一段視頻想要上傳時(shí),如果手機(jī)正處在較差的網(wǎng)絡(luò)環(huán)境或是在網(wǎng)絡(luò)使用的高峰期時(shí),上傳自然會(huì)慢很多,這時(shí)候就需要基于CDN動(dòng)態(tài)加速來(lái)優(yōu)化網(wǎng)絡(luò)鏈路,同時(shí)對(duì)于比較大的視頻需要做好分片上傳,減少失敗重傳的成本和失敗概率等來(lái)提升可用性。
2、如何存放
當(dāng)數(shù)據(jù)達(dá)到一定的規(guī)模,存儲(chǔ)容量就會(huì)面對(duì)一定的挑戰(zhàn)。現(xiàn)在視頻軟件的容量大部分已經(jīng)達(dá)到PB的規(guī)模了,這就要求存儲(chǔ)本身能夠具備比較強(qiáng)的線性擴(kuò)展能力,并且有足夠的資源冗余。傳統(tǒng)的MySQL比較難支持這個(gè)場(chǎng)景,往往借助于專用的分布式對(duì)象處理,通過(guò)自建的服務(wù)器或者云服務(wù)器來(lái)處理。
3、播放
視頻文件占的內(nèi)存也比較大,所以也容易受到網(wǎng)速的影響。為了避免卡頓,有一些小的細(xì)節(jié)就要去處理。比如對(duì)于60s,300s 的視頻,需要考慮到文件比較大,通常使用 http range 的方式或者基于HLS的點(diǎn)播播放方式。HTTP RANGE可以比較簡(jiǎn)單粗暴的解決問(wèn)題,基于HLS的點(diǎn)播播放方式會(huì)更友好,特別是一些5分鐘以上的長(zhǎng)視頻,不過(guò)需要單獨(dú)的轉(zhuǎn)碼支持。
其次是開發(fā)技術(shù)難點(diǎn):
短視頻拍攝及導(dǎo)入:svideo,recordVideo,videoRecorder,miniVideoRecorder,等幾大模塊,例如:
videoRecorder模塊,它封裝了原版錄像機(jī)的相關(guān)功能,通過(guò)本模塊open接口可打開攝像頭的 frame,可通過(guò)相應(yīng)參數(shù)配置其視頻質(zhì)量、保存路徑、位置、大小等信息。開發(fā)者可通過(guò)open一個(gè)自定義界面的frame覆蓋在本模塊上來(lái)自定義錄像界面。
短視頻美顏濾鏡SDK,為廣大移動(dòng)應(yīng)用開發(fā)者提供免費(fèi)、簡(jiǎn)單、快捷、穩(wěn)定的接口,幫助開發(fā)者快速實(shí)現(xiàn)自有APP上的短視頻應(yīng)用開發(fā)。 其中包含短視頻拍攝、水印、拍攝碼率等的自定義設(shè)置,并自帶美顏濾鏡功能。
短視頻開發(fā)系統(tǒng)不僅擁有上百款濾鏡、能滿足各種各樣場(chǎng)景的需求,而且提供了磨皮算法,能滿足市面上所有人臉的美顏濾鏡SDK需求。此外,短視頻美顏濾鏡SDK還具有好玩的動(dòng)態(tài)貼紙以及豐富的音樂(lè)特效,功能比肩一線短視頻APP。
短視頻APP開發(fā)過(guò)程中卻有很大的難度,主要體現(xiàn)在以下幾個(gè)方面
一、功能點(diǎn)多。功能機(jī)制復(fù)雜短視頻平臺(tái)開發(fā)包含拍攝、編輯、合成三個(gè)重要組成部分。主要有6大功能點(diǎn):斷點(diǎn)拍攝、重拍(回刪)功能、自定義音樂(lè)、動(dòng)態(tài)貼紙功能、濾鏡功能、水印功能。除此之外還有很多個(gè)小的功能點(diǎn),直接涉及到用戶的體驗(yàn),
二、短視頻涉及服務(wù)多短視頻的服務(wù)。主要涉及到短視頻采集、上傳、云存儲(chǔ)、云分發(fā)和播放五個(gè)方面。
三、內(nèi)容良莠不齊。智能鑒別功能開發(fā)要求高隨著短視頻平臺(tái)的快速發(fā)展,很多人瞄準(zhǔn)了直播平臺(tái),為了博取眼球,甚至有些用戶會(huì)制作一些低俗色情的視頻。所以,就需要加強(qiáng)對(duì)短視頻內(nèi)容進(jìn)行審核。除了國(guó)家相關(guān)部門的監(jiān)管,短視頻APP開發(fā)過(guò)程中的智能審核也更為重要。提高人工鑒別的速度和準(zhǔn)確度。但機(jī)器鑒別難以完全脫離人工,更精確、智能的算法亟待開發(fā)。
短視頻APP開發(fā)涉及到的功能和難度絕不僅是上面三個(gè)方面可以概括的,針對(duì)不同功能需要不同高技術(shù)人員配合完成,個(gè)人開發(fā)難度很大,容易造成人力、財(cái)力、時(shí)間的浪費(fèi),最后的成本不一定會(huì)比第三方公司開發(fā)少。