一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談 Serverless 音視頻處理技術(shù)

西西 ? 來(lái)源:Dockone.io ? 作者:西流 ? 2020-06-13 12:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

當(dāng)您第一次接觸 Serverless 的時(shí)候,有一個(gè)不那么明顯的新使用方式:與傳統(tǒng)的基于服務(wù)器的方法相比,Serverless 服務(wù)平臺(tái)可以使您的應(yīng)用快速水平擴(kuò)展,并行處理的工作更加有效。這主要是因?yàn)?Serverless 可以不必為閑置的資源付費(fèi),不用擔(dān)心預(yù)留的資源不夠。而在傳統(tǒng)的使用范式中,用戶(hù)必須預(yù)留成百上千的服務(wù)器來(lái)做一些高度并行化但執(zhí)行時(shí)長(zhǎng)較短的任務(wù),而且必須為每一臺(tái)服務(wù)器買(mǎi)單,即使有的服務(wù)器已經(jīng)不再工作了。

以阿里云 Serverless 產(chǎn)品——函數(shù)計(jì)算為例,便可以完美解決您上述所有顧慮:

如果您的任務(wù)本身計(jì)算量不是很大,但是有大量的并發(fā)任務(wù)請(qǐng)求需要并行處理, 比如多媒體文件處理、文檔轉(zhuǎn)換等;

一個(gè)任務(wù)本身計(jì)算量很大,要求單個(gè)任務(wù)很快處理完,并且還能支持并行處理多個(gè)任務(wù)。

在這種場(chǎng)景下,用戶(hù)唯一關(guān)注的就是:您的任務(wù)是可以分治拆解并且子任務(wù)是可以并行處理的,一個(gè)需要一個(gè)小時(shí)才能處理完的長(zhǎng)任務(wù),可以分解成 360 個(gè)獨(dú)立的 10 秒長(zhǎng)的子任務(wù)并行處理,這樣,以前您要花一個(gè)小時(shí)才能處理完的任務(wù),現(xiàn)在只需要 10 秒就可以搞定。由于采用的是按量計(jì)費(fèi)的模型,完成的計(jì)算量和成本是大致相當(dāng)?shù)?,而傳統(tǒng)模型則因?yàn)轭A(yù)留資源肯定會(huì)存在浪費(fèi),浪費(fèi)的費(fèi)用也是需要您去承擔(dān)的。

接下來(lái),將詳細(xì)闡述 Serverless 在大規(guī)模數(shù)據(jù)處理上的實(shí)踐。

極致彈性擴(kuò)縮容應(yīng)對(duì)計(jì)算波動(dòng)

在介紹相關(guān)的大規(guī)模數(shù)據(jù)處理示例之前, 這里先簡(jiǎn)單介紹一下函數(shù)計(jì)算。

1. 函數(shù)計(jì)算簡(jiǎn)介

開(kāi)發(fā)者使用編程語(yǔ)言編寫(xiě)應(yīng)用和服務(wù),函數(shù)計(jì)算支持的開(kāi)發(fā)語(yǔ)言請(qǐng)參見(jiàn)開(kāi)發(fā)語(yǔ)言列表;

開(kāi)發(fā)者上傳應(yīng)用到函數(shù)計(jì)算;

觸發(fā)函數(shù)執(zhí)行:觸發(fā)方式包括 OSS、API 網(wǎng)關(guān)、日志服務(wù)、表格存儲(chǔ)以及函數(shù)計(jì)算 API、SDK 等;

動(dòng)態(tài)擴(kuò)容以響應(yīng)請(qǐng)求:函數(shù)計(jì)算可以根據(jù)用戶(hù)請(qǐng)求量自動(dòng)擴(kuò)容,該過(guò)程對(duì)您和您的用戶(hù)均透明無(wú)感知;

根據(jù)函數(shù)的實(shí)際執(zhí)行時(shí)間按量計(jì)費(fèi):函數(shù)執(zhí)行結(jié)束后,可以通過(guò)賬單來(lái)查看執(zhí)行費(fèi)用,收費(fèi)粒度精確到 100 毫秒。

至此,您大約可以簡(jiǎn)單理解到函數(shù)計(jì)算是怎么運(yùn)作的,接下來(lái)以大量視頻并行轉(zhuǎn)碼的案例來(lái)闡述:假設(shè)一家在家教育或娛樂(lè)相關(guān)的企業(yè),老師授課視頻或者新的片源一般是集中式產(chǎn)生,而您希望這些視頻被快速轉(zhuǎn)碼處理完以便能讓客戶(hù)快速看到視頻回放。比如在當(dāng)下疫情中,在線(xiàn)教育產(chǎn)生的課程激增,而出課高峰一般是 10 點(diǎn)、12 點(diǎn)、16 點(diǎn)、18 點(diǎn)等明顯的峰值段,特定的時(shí)間內(nèi)(比如半個(gè)小時(shí))處理完所有新上傳的視頻是一個(gè)通用而且普遍的需求。

2. 彈性高可用的音視頻處理系統(tǒng)

OSS 觸發(fā)器

如上圖所示,用戶(hù)上傳一個(gè)視頻到 OSS,OSS 觸發(fā)器自動(dòng)觸發(fā)函數(shù)執(zhí)行,函數(shù)計(jì)算自動(dòng)擴(kuò)容,執(zhí)行環(huán)境內(nèi)的函數(shù)邏輯調(diào)用 FFmpeg 進(jìn)行視頻轉(zhuǎn)碼,并且將轉(zhuǎn)碼后的視頻保存回 OSS。

消息觸發(fā)器

如上圖所示,應(yīng)用只需要發(fā)一個(gè)消息,自動(dòng)觸發(fā)函數(shù)執(zhí)行音視頻處理的任務(wù)即可,函數(shù)計(jì)算自動(dòng)擴(kuò)容,執(zhí)行環(huán)境內(nèi)的函數(shù)邏輯調(diào)用 FFmpeg 進(jìn)行視頻轉(zhuǎn)碼, 并且將轉(zhuǎn)碼后的視頻保存回 OSS。

直接手動(dòng)調(diào)用 SDK 執(zhí)行音視頻處理任務(wù)

python 為例,大致如下:

python#-*-coding:utf-8-*-

importfc2

importjson

client=fc2.Client(endpoint="http://123456.cn-hangzhou.fc.aliyuncs.com",accessKeyID="xxxxxxxx",accessKeySecret="yyyyyy")

#可選擇同步/異步調(diào)用

resp=client.invoke_function("FcOssFFmpeg","transcode",payload=json.dumps(

{

"bucket_name":"test-bucket",

"object_key":"video/inputs/a.flv",

"output_dir":"video/output/a_out.mp4"

})).data

print(resp)

從上面我們也可以看出,觸發(fā)函數(shù)執(zhí)行的方式也很多,同時(shí)簡(jiǎn)單配置下 SLS 日志,就可以很快實(shí)現(xiàn)一個(gè)彈性高可用、按量付費(fèi)的音視頻處理系統(tǒng),同時(shí)能提供免運(yùn)維、具體業(yè)務(wù)數(shù)據(jù)可視化、強(qiáng)大自定義監(jiān)控報(bào)警等超強(qiáng)功能的 dashboard。

目前已經(jīng)落地的音視頻案例有 UC、語(yǔ)雀、躺平設(shè)計(jì)之家、虎撲以及幾家在線(xiàn)教育的頭部客戶(hù)等,其中有些客戶(hù)高峰期間,彈性使用到了萬(wàn)核以上 CPU 計(jì)算資源,并行處理的視頻達(dá)到 1700+,同時(shí)提供了極高的性?xún)r(jià)比。

任務(wù)分治,并行加速

這種將任務(wù)分而治之的思想應(yīng)用在函數(shù)計(jì)算上是一件有趣的事情,在這里舉一個(gè)例子,比如您有一個(gè)超大的 20G 的 1080P 高清視頻需要轉(zhuǎn)碼,即使您使用一臺(tái)高配機(jī)器,需要的時(shí)間可能還是要按小時(shí)計(jì),如果中途出問(wèn)題中斷轉(zhuǎn)碼,您只能重新開(kāi)始再重復(fù)一遍轉(zhuǎn)碼的過(guò)程,如果您使用分治的思想+函數(shù)計(jì)算,轉(zhuǎn)碼的過(guò)程衍變?yōu)?分片-> 并行轉(zhuǎn)碼分片-> 合并分片,這樣就可以解決您上述的兩個(gè)痛點(diǎn):

分片和合成分片是內(nèi)存級(jí)別的拷貝,需要的計(jì)算量極小,真正消耗計(jì)算量的轉(zhuǎn)碼,拆分成了很多子任務(wù)并行處理,在這個(gè)模型中,分片轉(zhuǎn)碼的最大時(shí)間基本等同于整個(gè)大視頻的轉(zhuǎn)碼時(shí)間;

即使中途某個(gè)分片轉(zhuǎn)碼出現(xiàn)異常,只需要重試這個(gè)分片的轉(zhuǎn)碼即可,不需要整個(gè)大任務(wù)推倒重來(lái)。

通過(guò)將大任務(wù)合理的分解,配合使用函數(shù)計(jì)算,編寫(xiě)一點(diǎn) code,就可以快速完成一個(gè)彈性高可用、并行加速、按量付費(fèi)的大型數(shù)據(jù)處理系統(tǒng)。

在介紹這個(gè)方案之前,我們先簡(jiǎn)單介紹一下 Serverless 工作流,Serverless 工作流可以很好地將函數(shù)和其他云服務(wù)和自建服務(wù)有組織地編排起來(lái)。

1. Serverless 工作流簡(jiǎn)介

Serverless 工作流(Serverless Workflow)是一個(gè)用來(lái)協(xié)調(diào)多個(gè)分布式任務(wù)執(zhí)行的全托管云服務(wù)。在 Serverless 工作流中,您可以用順序、分支、并行等方式來(lái)編排分布式任務(wù),Serverless 工作流會(huì)按照設(shè)定好的步驟可靠地協(xié)調(diào)任務(wù)執(zhí)行,跟蹤每個(gè)任務(wù)的狀態(tài)轉(zhuǎn)換,并在必要時(shí)執(zhí)行用戶(hù)定義的重試邏輯,以確保工作流順利完成。Serverless 工作流簡(jiǎn)化了開(kāi)發(fā)和運(yùn)行業(yè)務(wù)流程所需要的任務(wù)協(xié)調(diào)、狀態(tài)管理以及錯(cuò)誤處理等繁瑣工作,讓您聚焦業(yè)務(wù)邏輯開(kāi)發(fā)。

接下來(lái)以一個(gè)大視頻快速轉(zhuǎn)碼的案例來(lái)闡述 Serverless 工作編排函數(shù),實(shí)現(xiàn)大計(jì)算任務(wù)的分解,并行處理子任務(wù),最終達(dá)到快速完成單個(gè)大任務(wù)的目的。

2. 大視頻的快速多目標(biāo)格式轉(zhuǎn)碼

如上圖所示,假設(shè)用戶(hù)上傳一個(gè) mov 格式的視頻到 OSS,OSS 觸發(fā)器自動(dòng)觸發(fā)函數(shù)執(zhí)行,函數(shù)調(diào)用 FnF 執(zhí)行,F(xiàn)nF 同時(shí)進(jìn)行 1 種或者多種格式的轉(zhuǎn)碼(由 template.yml 中的 DST_FORMATS 參數(shù)控制),假設(shè)配置的是同時(shí)進(jìn)行 mp4 和 flv 格式的轉(zhuǎn)碼。

一個(gè)視頻文件可以同時(shí)被轉(zhuǎn)碼成各種格式以及其他各種自定義處理,比如增加水印處理或者在 after-process 更新信息到數(shù)據(jù)庫(kù)等;

當(dāng)有多個(gè)文件同時(shí)上傳到 OSS,函數(shù)計(jì)算會(huì)自動(dòng)伸縮,并行處理多個(gè)文件,同時(shí)每次文件轉(zhuǎn)碼成多種格式也是并行;

結(jié)合 NAS + 視頻切片,可以解決超大視頻的轉(zhuǎn)碼,對(duì)于每一個(gè)視頻,先進(jìn)行切片處理,然后并行轉(zhuǎn)碼切片,最后合成,通過(guò)設(shè)置合理的切片時(shí)間,可以大大加快較大視頻的轉(zhuǎn)碼速度;

fnf 可以跟蹤每一步執(zhí)行情況,并且可以自定義每一個(gè)步驟的重試,提高任務(wù)系統(tǒng)的魯棒性,如:retry-example

在任務(wù)分治,并行加速具體的案例中,上面分享的是 CPU 密集型任務(wù)分解,但也可以進(jìn)行 IO 密集型任務(wù)分解,比如這個(gè)需求:上海的 region 的 OSS bucket 中的一個(gè) 20G 大文件,秒級(jí)轉(zhuǎn)存回杭州的 OSS Bucket 中。這里也可以采用分治的思路,Master 函數(shù)在接到轉(zhuǎn)存任務(wù)之后,將超大文件進(jìn)行分片的 range 分配給每個(gè) Worker 子函數(shù),Worker 子函數(shù)并行轉(zhuǎn)存屬于自己那部分的分片,Master 函數(shù)待所有子 Worker 運(yùn)行完畢之后,提交合并分片請(qǐng)求,完成整個(gè)轉(zhuǎn)存任務(wù)。

詳情可以參考:利用函數(shù)計(jì)算多實(shí)例并發(fā)實(shí)現(xiàn)秒級(jí)轉(zhuǎn)存超大文件

總結(jié)

本文探討了 Serverless 服務(wù)平臺(tái)可以使您的應(yīng)用快速水平擴(kuò)展,并行處理的工作更加有效,并給出了具體的實(shí)踐案例,無(wú)論在 CPU 密集型還是 IO 密集型場(chǎng)景,函數(shù)計(jì)算 + Serverless 都能完美解決您以下顧慮:

  • 不必為閑置的資源付費(fèi)
  • 不用擔(dān)心計(jì)算資源預(yù)留不夠
  • 大計(jì)算量的任務(wù)需要快速處理完畢
  • 更好的任務(wù)流程跟蹤
  • 完善的監(jiān)控報(bào)警、免運(yùn)維、業(yè)務(wù)數(shù)據(jù)可視化等

本文中對(duì)于 Serverless 音視頻處理只是一個(gè)示例,它展示的是函數(shù)計(jì)算配合 Serverless 工作流在離線(xiàn)計(jì)算場(chǎng)景中的能力和獨(dú)一無(wú)二的優(yōu)勢(shì)。我們可以用發(fā)散的方式去拓展 Serverless 在大規(guī)模數(shù)據(jù)處理實(shí)踐的邊界,比如AI、基因計(jì)算、科學(xué)仿真等。希望本篇文章能吸引您,開(kāi)啟您的 Serverless 奇妙之旅。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62138
  • 阿里云
    +關(guān)注

    關(guān)注

    3

    文章

    1010

    瀏覽量

    44161
  • serverless
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    4720
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    音視頻SoC與AI技術(shù)融合,帶來(lái)更智能的音視頻處理解決方案

    ,如WiFi路由器和物聯(lián)網(wǎng)設(shè)備。在安防、智能音頻等領(lǐng)域,對(duì)SoC芯片的算力要求相比智能手機(jī)、服務(wù)器等略低。 ? 人工智能技術(shù)音視頻SoC 的融合??????????????????????????????????????? ? 隨著人工智能
    的頭像 發(fā)表于 04-26 01:20 ?5361次閱讀

    最新的高效音視頻編碼及視頻圖像處理

    本帖最后由 mr.pengyongche 于 2013-4-30 02:58 編輯 最新的高效音視頻編碼及視頻圖像處理技術(shù)視頻領(lǐng)域
    發(fā)表于 10-11 16:39

    2款音視頻處理芯片

    Package: 20mm x 20mm 144-pin TQFP with ePad集成電路 (IC) > 接口 - 音視頻處理芯片50元/片2、SII9334CTU (SILICON
    發(fā)表于 11-26 15:28

    【OK210申請(qǐng)】智能音視頻處理平臺(tái)

    申請(qǐng)理由:首先是以前買(mǎi)過(guò)幾套飛凌6410的板子,感覺(jué)質(zhì)量和售后都挺好的。再者我們團(tuán)隊(duì)準(zhǔn)備搭建一個(gè)智能音視頻研究的平臺(tái), 向飛凌售后質(zhì)詢(xún)了一下,說(shuō)是210的板子更適合做視頻處理。我們沒(méi)有接觸過(guò)210
    發(fā)表于 07-21 09:19

    什么是音視頻同步?音視頻同步的影響因素有哪些?

    什么是音視頻同步?有什么要求?音視頻同步的影響因素有哪些?音視頻同步的常見(jiàn)技術(shù)有哪些?
    發(fā)表于 06-15 08:48

    音視頻

    對(duì)音視頻技術(shù)都喜歡深究?jī)?nèi)部最核心的原理和機(jī)制,尤其是ffmpeg這個(gè)編解碼庫(kù),可以說(shuō)是音視頻領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)。語(yǔ)音智能算法,語(yǔ)言語(yǔ)義分析和理解,流媒體服務(wù)器等高端技術(shù)也都基于它而構(gòu)建。
    發(fā)表于 11-23 08:51

    數(shù)字音視頻編解碼技術(shù)(AVS標(biāo)準(zhǔn))

    數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)AVS黃鐵軍數(shù)字音視頻編解碼標(biāo)準(zhǔn)是數(shù)字音視頻產(chǎn)業(yè)的共性基礎(chǔ)標(biāo)準(zhǔn),具有巨大的產(chǎn)業(yè)需求??缛胄率兰o(jì)以來(lái),隨著編解碼技術(shù)
    發(fā)表于 08-25 12:43 ?63次下載

    Blackfin處理器與音視頻外設(shè)之間的連接

    Blackfin®處理器與音視頻外設(shè)之間的連接:課程單元:Blackfin®處理器與音視頻外設(shè)之間的連接主講人:David Katz第1章:簡(jiǎn)介第2章:連接至音頻轉(zhuǎn)換器
    發(fā)表于 09-02 12:36 ?23次下載

    IPTV音視頻編解碼技術(shù)

    IPTV音視頻編解碼技術(shù) 三足鼎立   當(dāng)前在IPTV業(yè)務(wù)中,音視頻編解碼技術(shù)的選擇呈現(xiàn)了三足鼎立的狀況,即MPEG4ASP、H.264和AVS。其中MPEG4和H.264都是國(guó)
    發(fā)表于 11-27 10:04 ?1139次閱讀

    音視頻矩陣的設(shè)計(jì)技術(shù)要點(diǎn)

    音視頻矩陣的設(shè)計(jì)技術(shù)要點(diǎn) 1. 音視頻矩陣的作用在現(xiàn)代多媒體會(huì)議室,為了滿(mǎn)足不同演示場(chǎng)合的需求,通常會(huì)具備多種不
    發(fā)表于 02-09 11:49 ?725次閱讀

    音視頻/信號(hào)分配器,音視頻/信號(hào)分配器是什么意思

    音視頻/信號(hào)分配器,音視頻/信號(hào)分配器是什么意思     音視分配器專(zhuān)為音視頻信號(hào)在傳播中進(jìn)行分配而設(shè)計(jì),適用于KTV、MTV
    發(fā)表于 03-26 09:51 ?2960次閱讀

    你要了解的一些關(guān)于音視頻技術(shù)

    音視頻采集音視頻處理音視頻編碼和封裝推流流媒體服務(wù)器處理拉流音視頻解碼
    發(fā)表于 05-25 11:33 ?1999次閱讀

    實(shí)時(shí)音視頻邁向普惠化 助音視頻社交發(fā)掘更多可能

    從去年到今年,以音遇、吱呀語(yǔ)音、Soul為代表的聲音社交應(yīng)用屢屢登上APP社交排行榜前列。音視頻社交崛起的背后,是作為底層支撐技術(shù)的實(shí)時(shí)音視頻走向成熟。
    發(fā)表于 06-05 09:37 ?886次閱讀

    音視頻集成是什么 音視頻視頻有什么區(qū)別

    音視頻集成是將音頻和視頻設(shè)備、系統(tǒng)和技術(shù)進(jìn)行整合,以實(shí)現(xiàn)全面的音視頻功能和體驗(yàn)的過(guò)程。
    發(fā)表于 06-19 17:14 ?3294次閱讀