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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

視頻審核架構實踐

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-08-28 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一. 背景與目標

1.1 視頻審核背景

現(xiàn)有視頻審核系統(tǒng)由于歷史原因,針對不同的業(yè)務調(diào)用方和業(yè)務場景提供了多套視頻審核技術方案和服務,且在審核時效、支持的協(xié)議完整性等方面存在一定的不足;同時,多套系統(tǒng)并存一直存在較高的運維成本的情況。

由此,需要設計一套統(tǒng)一的視頻審核系統(tǒng)架構,將多套服務合并為一套服務,提供統(tǒng)一標準視頻審核服務,大幅降低運維成本的同時,提供完整的接口協(xié)議支持和更高的審核時效。

?

1.2 設計目標

?審核時效優(yōu)化

?流式完成下載、拆幀、推理、通知四階段處理;使得整個審核過程為:邊下邊拆邊推邊響應。

?每階段內(nèi)并行處理,提高審核時效。

最終目標:審核時長 = MAX(并行下載、并行拆幀、并行推理)。

wKgaombO5diAR0x8AABadRwgV90401.jpg

?

?完整的接口協(xié)議,應對未來不同需求場景:

?短視頻同步:提供時長1~2分內(nèi)、100MB內(nèi)的視頻,達成3秒內(nèi)審核完成的目標;且以同步阻塞接口提供服務,簡化業(yè)務方調(diào)用、交互過程。

?長視頻異步:支持10小時甚至更長視頻的異步審核能力,按調(diào)用方需求提供實時響應開關。

?實時直播視頻流:針對實時直播流,提供邊拉流、邊審核、邊響應的實時流式響應能力。

wKgZombO5dmAFCr1AABEyNMCBcc697.jpg

?

二. 拆幀技術方案選型

2.1 ffmpeg簡要介紹

針對不同的編碼器、封裝協(xié)議、傳輸協(xié)議,提供統(tǒng)一的音視頻處理接口。

跨平臺,兼容200多種編碼、180多種封裝格式、20多種傳輸協(xié)議。世界上90%以上的音視頻開發(fā)基于FFmpeg。

?

2.2 API vs 命令行

?基于API

FFmpeg提供了一整套的音視頻處理庫,以統(tǒng)一的API分別完成音視頻處理過程中的主要階段,包括:

采集、解封裝、解碼、處理&轉(zhuǎn)換、編碼、封裝、傳輸?shù)取?/p>

其中,各個庫提供的API粒度較細,非常適合對音頻、圖片幀做業(yè)務細粒度的自定義加工的場景。

ffmpeg庫 簡介
libavcodec 封裝絕大部分編碼解碼器,提供統(tǒng)一API。
libavformat 封裝絕大部分封裝格式,針對不同封裝格式提供統(tǒng)一API。
libswscale 圖片像素格式轉(zhuǎn)換工具庫。
libswresample 音頻采樣格式轉(zhuǎn)換、重采樣工具庫。
libavfilter 音視頻濾鏡庫。
libavutil 音視頻開發(fā)過程中的工具函數(shù)大全。
libavdevice 攝像頭、麥克風等外部設備數(shù)據(jù)采集API。

?

?基于命令行

基于上述庫,F(xiàn)Fmpeg提供了可執(zhí)行命令行工具:FFmpeg。

FFmpeg命令行以組合大量選項、參數(shù)的方式完成常規(guī)的音視頻處理工作,且其本身以c語音實現(xiàn),為常規(guī)音視頻處理需求,提供了簡單、穩(wěn)定、高效的支撐;通過高級命令行參數(shù)可達成設計目標 :

流式下載:支持Http/flv流等傳輸協(xié)議作為輸入,實現(xiàn)邊下載邊解碼。

分段并行:利用ss、to等選項,其內(nèi)部基于http range seek特性,完成并行多段處理。

自定義音視頻參數(shù):利用codec/afilter/vfilter等編解碼、濾鏡參數(shù)可完成輸出圖片自定義幀率、音頻采樣、聲道等目標。

?

綜合考慮視頻審核業(yè)務特點,對音視頻處理過程本身并不復雜,單純、核心的目標就是將音頻、圖片幀從視頻中拆分出來,并不存在過多的針對音視頻幀的加工處理過程,因此,視頻審核架構采用FFmpeg命令行工具完成基礎的視頻拆幀工作。

?

三.框架描述

3.1 流式處理框架

wKgaombO5dqAVAbAAABkQ9p6pv0439.jpg

任務處理器是視頻審核服務的核心組件,一個任務處理器實例包括三個子組件:拆幀引擎、任務驅(qū)動器、審核業(yè)務對象。通過任務驅(qū)動器的調(diào)度過程,協(xié)調(diào)拆幀引擎和審核業(yè)務對象兩個對象實例完成一個視頻任務的下載、拆幀、推理、響應四階段流式、并行處理過程。

一個視頻審核服務內(nèi)根據(jù)容器cpu資源、配置情況,允許多個處理器實例并行完成多個視頻處理任務。

?

3.1.1 拆幀引擎

拆幀引擎:圖片拆幀邏輯圖、音頻拆幀邏輯圖,目標均是流式生產(chǎn)數(shù)據(jù)。

?

圖片拆幀

wKgZombO5duAYmSvAABtjmFr2dg583.jpg

單一視頻任務中,為了完成流式、并行處理目標,圖片拆幀模塊由兩個主任務并行完成:

一是根據(jù)視頻時間、業(yè)務策略,啟動多個ffmpeg進程,利用ffmepg的seek機制將視頻拆分為多段完成并行下載、拆幀。

二是收集任務,根據(jù)拆分出的圖片幀時間戳信息生成圖片幀信息,供后續(xù)推理讀取。

?

音頻拆幀

針對音頻拆幀存在兩種目標:

針對視頻文件:采用單一命令完成整個音頻文件的拆分,供后續(xù)asr、音頻審核使用。

針對視頻流:相對于視頻文件,視頻流具有連續(xù)性,時間比為1:1,為了達成邊拆邊推理邊響應目標,需要在直播過程中動態(tài)切分音頻段,完成實時處理和實時響應。

wKgaombO5duAcb69AAC5Scx63vU417.jpg

視頻流中的音頻處理部分涉及幾個主要步驟:

拆段:利用segments機制,完成固定時間段的音頻切分。

VAD:基于webrtc VAD模塊,遍歷PCM文件采樣數(shù)據(jù),完成有聲段音頻的拼接&切割。

編碼:將原始PCM音頻編碼為mp3,大幅降低文件尺寸便于傳輸。

收集:負責收集編碼后的mp3文件,生產(chǎn)音頻段信息,用于后續(xù)推理讀取。

?

3.1.2 審核業(yè)務模塊

wKgZombO5dyAIk8NAACnyrDJzJ0184.jpg

審核業(yè)務對象與任務處理器、調(diào)用算法服務進行交互,完成流式、并行的幀(圖片、音頻)審核業(yè)務過程。

審核業(yè)務對象內(nèi)部由單線程驅(qū)動,循環(huán)檢測幀隊列、異步推理響應、異步上傳響應三個狀態(tài),并根據(jù)推理、上傳結果,在業(yè)務策略開啟實時響應開關時,動態(tài)發(fā)送部分響應數(shù)據(jù)至實時結果隊列完成實時響應。

?

3.1.3 任務調(diào)度器

拆幀引擎和業(yè)務對象對外部提供了標準的非阻塞狀態(tài)查詢及命令處理接口,圍繞這些接口,任務調(diào)度器內(nèi)部由單線程驅(qū)動,與拆幀引擎和業(yè)務對象進行流式調(diào)用交互,這個過程中,拆幀引擎作為幀生產(chǎn)者、業(yè)務對象作為幀消費者,任務驅(qū)動器將兩者進行銜接,從任務處理的角度驅(qū)動兩者共同完成視頻審核過程。

?

wKgaombO5d2AKZivAACaOIK91mA801.jpg

?

至此,三者整體完成了核心目標:

下載、拆幀、推理三階段,每階段內(nèi)并行加速。

下載、拆幀、推理、實時通知四階段流式處理。

?

3.1.4 多業(yè)務場景

wKgZombO5d2AREOpAABch0CkLcU388.jpg

得益于核心組件間的標準接口交互,整個系統(tǒng)可以針對不同的業(yè)務場景、需求,將業(yè)務對象從主服務中剝離出去,由內(nèi)部函數(shù)調(diào)用改為遠程RPC調(diào)用,并進行分布式部署;使得所有業(yè)務在統(tǒng)一的流式、并行框架下,高效完成各種場景需求。

?

3.1.5 同步&異步處理流程

wKgZombO5d6Ab5UkAAClw0CQ7wQ369.jpg

視頻拆幀過程屬cpu密集型業(yè)務,其任務處理的服務節(jié)點優(yōu)先從cpu負載角度出發(fā),而不是接收請求的節(jié)點進行處理;因此,在接收請求后,會將其派發(fā)到MQ任務隊列中,由cpu閑置的節(jié)點通過手動pull方法完成任務獲取并處理。

同步與異步不同的點在于,異步任務處理完成后,直接將響應發(fā)送到結果隊列中,由調(diào)用發(fā)接收;而同步模式下,需要將結果通過回調(diào)的方式,將響應返回到請求接收節(jié)點,再由請求接收節(jié)點進行同步響應給調(diào)用方,內(nèi)部通過同步對象、超時等機制完成同步調(diào)用協(xié)議。

?

3.2 結果服務

wKgaombO5d-ATnQcAABIwvecW0U644.jpg

結果服務與主服務配套,從MQ接收主服務處理過程中發(fā)送的各種事件并保存,主要完成幾個功能:

?請求處理審計:保留一個月的細節(jié)結果,供后臺查詢、分析視頻拆幀、審核過程的有效性、及時、快速、方便的審計問題。

?提供主動查詢接口:調(diào)用發(fā)發(fā)起異步請求后,對比mq接收結果,另一種常見的方式是通過主動調(diào)用查詢接口進行定時檢查的方式獲取響應,結果服務提供get接口供調(diào)用方主動進行結果查詢。

?全局重試:主服務所在宿主機、容器宕機時,結果服務內(nèi)部實現(xiàn)了定時檢查機制,當發(fā)現(xiàn)視頻任務開始處理后,且在一定時間內(nèi)未響應的情況下,會調(diào)用主服務完成任務的重試處理過程,確保視頻任務不丟失。

?

四. 策略配置

系統(tǒng)針對單一視頻的整個處理過程中,涉及不同的策略可以進行配置&設置,包括兩個方面:

一是框架處理過程,二是審核業(yè)務策略,根據(jù)不同業(yè)務需求,可以進行完成的處理過程配置;

業(yè)務方通過輸入業(yè)務token+策略ID進行服務調(diào)用,以完成業(yè)務方特定需求,具體可配置策略包含如下:

框架行為策略 業(yè)務策略
是否開啟中間結果實時通知 審核疑似閾值
分段并行策略 {開始、結束時間、FPS} 審核能力列表
是否并行拆圖片幀 ?
是否預下載,默認邊下邊解 ?
?
?
下載超時, 僅開啟預下載時有效 ?
拆幀超時 ?
業(yè)務結果等待超時 ?
?
?
視頻最大限制,默認4GB。 ?
視頻最長限制,默認倆小時。 ?

?

?不同模式部署

wKgZombO5eCAVIs0AABtb5ErzHg456.jpg

16c機器情況下,針對不同協(xié)議場景,完成集群配置:

集群 目標 Processor 實例數(shù)量 Image公共池并行數(shù) 圖片拆幀是否拆段并行
短視頻同步 速度優(yōu)先,避免 多任務CPU資源沖突 1 4
長視頻異步 充分利用資源,允許任務排隊 4 4
RTMP視頻流 實時流無法拆段并行 16 16

?

五. 測試驗證

經(jīng)測試驗證,在16C容器下達成設計目標:

?1分鐘、100MB內(nèi)視頻,2秒內(nèi)可完成審核。

?長視頻異步模式下,對比舊版服務審核時效平均提升5倍。

?優(yōu)雅退出+全局重試保障任務不丟失。

?標準模塊接口為未來擴展為多場景通用分布式系統(tǒng)打下基礎。

?審核編輯 黃宇

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

    關注

    33

    文章

    9005

    瀏覽量

    153785
  • ffmpeg
    +關注

    關注

    0

    文章

    46

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙5開發(fā)寶藏案例分享---折疊屏開發(fā)實踐

    ?** 最佳實踐案例大揭秘!開發(fā)者的隱藏寶藏手冊** 大家好呀! 今天在翻鴻蒙文檔時突然發(fā)現(xiàn)了一個驚天大寶藏——官方其實早就默默放出了 幾十個超實用開發(fā)案例 ,覆蓋折疊屏適配、性能優(yōu)化、UI框架、跨
    發(fā)表于 06-12 11:44

    AIGC算力基礎設施技術架構與行業(yè)實踐

    AIGC算力基礎設施技術架構與行業(yè)實踐 一、硬件層:AI算力的物理載體 芯片技術升級? 國際前沿?:某國際芯片巨頭2025年發(fā)布的GB200超級芯片采用全液冷設計與新型互聯(lián)架構,單節(jié)點推理性能較前
    的頭像 發(fā)表于 05-29 07:44 ?159次閱讀
    AIGC算力基礎設施技術<b class='flag-5'>架構</b>與行業(yè)<b class='flag-5'>實踐</b>

    避免生產(chǎn)風險:文件審核在PCBA流程中的作用

    在PCBA制造流程中,從設計文件上傳開始,就已經(jīng)開啟了質(zhì)量控制與風險把控的第一步。對于一站式PCBA服務平臺來說,文件審核不僅關乎后續(xù)生產(chǎn)的準確性,更直接影響到項目的整體進度和最終交付質(zhì)量。 很多
    的頭像 發(fā)表于 04-30 17:55 ?246次閱讀

    設備遠程監(jiān)控與預測性維護系統(tǒng)架構設計及應用實踐

    本文探討了在工業(yè)4.0與數(shù)字化轉(zhuǎn)型背景下,設備管理系統(tǒng)從傳統(tǒng)人工巡檢向智能運維的深刻變革。文章從技術架構、實施路徑和典型應用三個方面深入解析了設備遠程監(jiān)控與預測性維護系統(tǒng)的實現(xiàn)方法。
    的頭像 發(fā)表于 04-15 10:16 ?298次閱讀
    設備遠程監(jiān)控與預測性維護系統(tǒng)<b class='flag-5'>架構</b>設計及應用<b class='flag-5'>實踐</b>

    桃芯科技軟件審核簡介

    本文檔對如何審核一個項目的軟件是否符合量產(chǎn)要求進行闡述;審核目的為確保軟件足夠健全、穩(wěn)定、易于量產(chǎn),做出更有品質(zhì)的產(chǎn)品;該文檔不一定會講清楚每個檢測項,但會盡可能提示你如何掌控調(diào)整方向。
    的頭像 發(fā)表于 01-24 09:24 ?491次閱讀

    【「RISC-V體系結構編程與實踐」閱讀體驗】-- 前言與開篇

    。 開篇 書到了以后,大概地通讀了一遍,本書不僅介紹了RISC-V體系結構的一些基礎知識(架構體系結構、指令集、編譯器、鏈接器、中斷、內(nèi)存管理、虛擬化等等),而且更突出動手實踐,基于QEMU及香山模擬器
    發(fā)表于 11-23 15:43

    基于Arm架構的珠峰芯片加速極致視頻體驗

    視頻編解碼技術作為支撐超高清視頻及泛音視頻產(chǎn)業(yè)發(fā)展的基石,其重要性愈發(fā)凸顯。H.264/AVC 是目前廣泛使用的編解碼標準,能夠在較低的數(shù)據(jù)速率下提供高質(zhì)量的視頻流,是在線
    的頭像 發(fā)表于 11-01 13:54 ?2919次閱讀
    基于Arm<b class='flag-5'>架構</b>的珠峰芯片加速極致<b class='flag-5'>視頻</b>體驗

    【本周六-北京】智慧家居視頻監(jiān)測系統(tǒng)實戰(zhàn),超多動手實踐等你來體驗!

    與NXP將聯(lián)合舉辦一場主題為“智慧家居視頻監(jiān)測系統(tǒng)實戰(zhàn)”的線下培訓活動。在此次培訓中,我們將展示一系列AI領域的精彩示范,并提供多個實踐動手的機會。參與者不僅可以
    的頭像 發(fā)表于 10-25 16:08 ?501次閱讀
    【本周六-北京】智慧家居<b class='flag-5'>視頻</b>監(jiān)測系統(tǒng)實戰(zhàn),超多動手<b class='flag-5'>實踐</b>等你來體驗!

    邊緣計算架構設計最佳實踐

    邊緣計算架構設計最佳實踐涉及多個方面,以下是一些關鍵要素和最佳實踐建議: 一、核心組件與架構設計 邊緣設備與網(wǎng)關 邊緣設備 :包括各種嵌入式設備、傳感器、智能手機、智能攝像頭等,負責采
    的頭像 發(fā)表于 10-24 14:17 ?1118次閱讀

    AUTOSAR架構下,持續(xù)集成CI的最佳實踐

    集成(CI)流程。今天,我們就來探討一下基于AUTOSAR架構的CI流程實踐,并通過對流程的詳細講解,展示其在實際開發(fā)中的重要性和優(yōu)勢。什么是AUTOSAR架構?首
    的頭像 發(fā)表于 10-24 08:06 ?986次閱讀
    AUTOSAR<b class='flag-5'>架構</b>下,持續(xù)集成CI的最佳<b class='flag-5'>實踐</b>

    架構與設計 常見微服務分層架構的區(qū)別和落地實踐

    前言 從強調(diào)內(nèi)外隔離的六邊形架構,逐漸發(fā)展衍生出的層層遞進、注重領域模型的洋蔥架構,再到和DDD完美契合的整潔架構。架構風格的不斷演進,其實就是為了適應軟件需求越來越復雜的特點。 可以
    的頭像 發(fā)表于 10-22 15:34 ?663次閱讀
    <b class='flag-5'>架構</b>與設計 常見微服務分層<b class='flag-5'>架構</b>的區(qū)別和落地<b class='flag-5'>實踐</b>

    【10/26北京】智慧家居視頻監(jiān)測系統(tǒng)實戰(zhàn),超多動手實踐等你來體驗!

    ,RT-Thread與NXP將聯(lián)合舉辦以“智慧家居視頻監(jiān)測系統(tǒng)實戰(zhàn)”為主題的線下培訓。我們?yōu)榇蠹覝蕚淞薃I領域的精彩Demo,以及多個動手實踐。通過本次培訓,工程師不但能夠了解
    的頭像 發(fā)表于 10-16 10:00 ?599次閱讀
    【10/26北京】智慧家居<b class='flag-5'>視頻</b>監(jiān)測系統(tǒng)實戰(zhàn),超多動手<b class='flag-5'>實踐</b>等你來體驗!

    PoE供電設備布局審核指南

    電子發(fā)燒友網(wǎng)站提供《PoE供電設備布局審核指南.pdf》資料免費下載
    發(fā)表于 09-24 09:39 ?2次下載
    PoE供電設備布局<b class='flag-5'>審核</b>指南

    ALINX FPGA+GPU異架構視頻圖像處理開發(fā)平臺介紹

    Alinx 最新發(fā)布的新品 Z19-M 是一款創(chuàng)新的 FPGA+GPU 異構架構視頻圖像處理開發(fā)平臺,它結合了 AMD Zynq UltraScale+ MPSoC(FPGA)與 NVIDIA Jetson Orin NX(GPU)的強大功能,能夠應用于對圖像精準度和實時
    的頭像 發(fā)表于 08-29 14:43 ?2155次閱讀

    華為工藝可靠性設計方法與實踐

    共讀好書 審核編輯 黃宇 ?
    的頭像 發(fā)表于 08-02 08:45 ?486次閱讀
    華為工藝可靠性設計方法與<b class='flag-5'>實踐</b>