亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于瑞芯微平臺的嵌入式流媒體方案的研究與實現(xiàn)

        2022-08-25 08:44:54程雷陽
        電視技術(shù) 2022年8期
        關(guān)鍵詞:編解碼碼流插件

        程雷陽

        (北京中電慧視科技有限公司,北京 100015)

        0 引 言

        乘客信息系統(tǒng)(Passenger Information System,PIS)是地鐵列車為乘客提供到站等廣播服務(wù)和新聞、娛樂等各種資訊的綜合性信息系統(tǒng),在火災(zāi)、緊急疏散等突發(fā)情況下,系統(tǒng)可以提供緊急通知,因此也被稱為車載多媒體信息系統(tǒng)。隨著網(wǎng)絡(luò)和數(shù)字多媒體技術(shù)的發(fā)展,車載多媒體信息系統(tǒng)也逐漸要走向高清化、數(shù)字化,同時也引入了地面數(shù)字直播視頻源來滿足乘客對實時資訊的需求[1]。基于此,本文提出了一種基于瑞芯微平臺的車載高清流媒體客戶端的設(shè)計方案,并成功進行了相關(guān)測試。播放系統(tǒng)由流傳輸設(shè)施和解碼終端組成,前端流媒體發(fā)送采用模擬視頻流服務(wù)器的形式,播放終端與媒體服務(wù)器之間通過以太網(wǎng)相連,本文主要考慮在IP層的廣泛應(yīng)用上,結(jié)合有線的數(shù)據(jù)鏈路層特點,采用RTP/RTCP流媒體協(xié)議在UDP傳輸層進行傳輸[2]。流媒體終端設(shè)備能夠充分滿足車載工作要求,系統(tǒng)功能穩(wěn)定性良好。軟件程序啟動速度快并且支持多協(xié)議,視頻播放流暢,音頻無雜音存在,音視頻同步功能較好。這款跨平臺的嵌入式流媒體播放系統(tǒng)可以很好地實現(xiàn)車載視頻播放功能。

        1 瑞芯微媒體處理平臺

        瑞芯微公司提供的媒體處理軟件平臺(Media Process Platform,MPP)是適用于瑞芯微芯片系列的通用媒體處理軟件平臺。該平臺對應(yīng)用軟件屏蔽了芯片相關(guān)的復(fù)雜底層處理,屏蔽不同芯片的差異,為使用者提供統(tǒng)一的視頻媒體處理接口(Media Process Interface,MPI)。

        MPP提供了視頻解碼功能,解碼類型涵蓋了H.265/H.264/H.263/VP9/VP8/MPEG4/MPEG2/MPEG1/VC1/MJPEG,視頻編碼功能支持H.264/VP8/MJPEG,同時也提供了多種視頻處理功能,如視頻拷貝、縮放、色彩空間轉(zhuǎn)換以及場視頻解交織等。平臺系統(tǒng)框架的層次如圖1所示.

        圖1 MPP系統(tǒng)框架

        1.1 硬件層

        硬件層是瑞芯微系列芯片平臺的視頻編解碼硬件加速模塊,包括VPU,rkvdec,rkvenc等不同類型、不同功能的硬件加速器。

        1.2 內(nèi)核驅(qū)動層

        內(nèi)核驅(qū)動層包含Linux內(nèi)核的編碼器硬件設(shè)備驅(qū)動以及相關(guān)的內(nèi)存管理單元、內(nèi)存、時鐘、電源管理模塊等,支持的平臺主要是Linux kernel 3.10和4.4兩個版本。MPP庫對于內(nèi)核驅(qū)動有依賴。

        1.3 媒體處理軟件平臺

        用戶態(tài)的MPP層屏蔽了不同操作系統(tǒng)和不同芯片平臺的差異,為上層使用者提供統(tǒng)一的MPI接口。MPP層包括MPI模塊、OSAL模塊、HAL模塊以及視頻編解碼器Video Decoder/Video Encoder和視頻處理功能模塊(Video Process)。

        1.4 操作系統(tǒng)層

        操作系統(tǒng)層是MPP用戶態(tài)的運行平臺,如Android以及Debian等Linux發(fā)行版。本文最終應(yīng)用的實現(xiàn)基于Debian的發(fā)行版。

        1.5 應(yīng)用層

        MPP層通過MPI對接各種中間件軟件,可以采用的中間件軟件有OpenMax,ffmpeg和gstreamer。如果使用開源的FFmpeg庫解碼解封裝獲得流式數(shù)據(jù),基于Qt應(yīng)用程序中的OpenGL庫顯示平面視頻幀數(shù)[3]。gstreamer中的playbin2元件可以節(jié)省開發(fā)人員的精力,進一步縮短產(chǎn)品的開發(fā)周期,如所用的解碼器支持多種格式的解碼,就可以增加產(chǎn)品對多媒體類型的支持[4]。本文最終實現(xiàn)采用的中間件軟件為gstreamer。

        由于視頻編解碼與視頻處理過程需要處理大量的數(shù)據(jù)交互,包括碼流數(shù)據(jù)、圖像數(shù)據(jù)以及內(nèi)存數(shù)據(jù),同時還要處理與上層應(yīng)用以及內(nèi)核驅(qū)動的交叉關(guān)系,所以MPP設(shè)計了MPI接口,用于與上層交互。MPI接口使用的主要數(shù)據(jù)結(jié)構(gòu)如圖2所示。

        圖2 MPI接口數(shù)據(jù)結(jié)構(gòu)

        MppPacket為一維緩存封裝,可以從MppMem和MppBuffer生成,主要用于表示碼流數(shù)據(jù)。MppFrame為二維幀數(shù)據(jù)封裝,可以從MppMem和MppBuffer生成,主要用于表示圖像數(shù)據(jù)。使用MppPacket和MppFrame,就可以簡單有效地完成一般的視頻編解碼工作。以視頻解碼為例,碼流輸入端把地址和大小賦值給MppPacket,通過put_packet接口輸入,在輸出端通過get_frame接口得到輸入圖像MppFrame,即可完成最簡單的視頻解碼過程,部分偽代碼如圖3和圖4所示。

        圖4 視頻流輸出顯示

        MPI(Media Process Interface)是 MPP提供給用戶的接口,用于提供硬件編解碼功能以及一些必要的相關(guān)功能。MPI通過C結(jié)構(gòu)里的函數(shù)指針方式提供給用戶。用戶可以通過MPP上下文結(jié)構(gòu)MppCtx與MPI接口結(jié)構(gòu)MppApi組合使用來實現(xiàn)解碼器與編碼器的功能。用戶可以通mpp_create接口獲取MppCtx實例以及MppApi結(jié)構(gòu)體,再通過mpp_init來初始化MppCtx的編解碼類型與格式之后通過decode_xxx/encode_xxx以及poll/dequeuer/enqueue接口進行訪問,使用結(jié)束時通過mpp_destroy接口進行銷毀,過程如圖5所示。

        圖5 MPI相關(guān)函數(shù)

        2 gstreamer插件實現(xiàn)

        gstreamer是一個用于開發(fā)流媒體應(yīng)用的開源框架,采用了基于插件(plugin)和管道(pipeline)的體系結(jié)構(gòu)??蚣苤兴械墓δ苣K都被實現(xiàn)成可以插拔的組件(component),并且能很方便地安裝到任意一個管道上。rockchipmpp是瑞芯微公司開發(fā)的一個gstreamer插件,主要是為了把自己的MPP與gstreamer結(jié)合起來。使用者基于gstreamer開發(fā)一個應(yīng)用程序時,使用gst/gst.h即可訪問庫文件中的函數(shù)。除此之外,還需要初始化gstreamer library。本文使用gst_init初始化,它的主要功能如下:

        (1)初始化gstreamer庫;

        (2)注冊內(nèi)部Element;

        (3)加載插件列表,掃描列表中及相應(yīng)路徑下的插件;

        (4)解析并執(zhí)行命令行參數(shù)。

        構(gòu)建了所有必需的gstreamer插件之后,需要借助gstreamer來構(gòu)建從Debian基于Qt環(huán)境的媒體播放器組件VideoView的接口,利用MPP框架提供媒體處理服務(wù)。在這些步驟中,可以使用gstreamer框架中的一些低級別元素來構(gòu)建媒體播放器,不過采用這種方法相對復(fù)雜。例如,針對一個特定的剪輯視頻,首先要分析它屬于哪種視頻容器格式,然后根據(jù)不同的視頻容器格式,使用不同的解碼元素,并且需要連接傳輸管道中所涉及的基本元素,這樣才能使得整個視頻處理步驟運行起來。由于不同的視頻剪輯對應(yīng)不同的處理元素,為了保證實用性和穩(wěn)定性,本文使用gstreamer的高級別元素“Playbin2”來啟動傳輸管道,之后,添加條總線到Playbin2,讓視頻數(shù)據(jù)和視頻處理事件流入總線,最后啟動傳輸管道和總線[5]。

        3 實驗結(jié)果

        3.1 硬件平臺方案

        RK3568是一款定位中高端的通用型系統(tǒng)級芯片,采用22 nm先進制程工藝,主要面向工業(yè)互聯(lián)網(wǎng)、HMI、NVR存儲、車載中控以及工業(yè)網(wǎng)關(guān)等領(lǐng)域。CPU采用四核64位Cortex-A55,主頻最高2.0 GHz,是一款非常優(yōu)秀的通用型SoC。同時,RK3568內(nèi)嵌高性能2D加速硬件,可支持JPEG硬解碼、雙網(wǎng)口、三屏異顯以及多PCIESATA接口,本身集成神經(jīng)網(wǎng)絡(luò)處理器(Neural-network Processing Unit,NPU),其特性在圖片處理、存儲、通信、多功能外設(shè)等應(yīng)用場景可發(fā)揮獨特的優(yōu)勢。

        3.2 軟件平臺方案

        操作系統(tǒng)軟件平臺采用Debian 10,集成開發(fā)環(huán)境采用Qtcreator,采用Qt圖形界面的方式來實現(xiàn),Qt層面調(diào)用瑞芯微提供的gstreamer的插件rockchipmpp,前端流媒體數(shù)據(jù)發(fā)送采用使用WinSend發(fā)送UDP組播流,組播流地址為UDP://239.1.1.1:8208,如圖6所示。

        圖6 測試發(fā)送UDP組播TS視頻流

        3.3 測試結(jié)果

        首先使用WinSend模擬發(fā)送2 Mb·s-1的TS碼流,測試終端播放狀態(tài)。播放狀態(tài)如圖7所示。

        圖7 2 Mb·s-1的TS流媒體解碼效果

        使用WinSend模擬發(fā)送4 Mb·s-1的TS碼流,測試終端播放狀態(tài)。播放狀態(tài)如圖8所示。

        圖8 4 Mb·s-1的TS流媒體解碼效果

        兩種狀態(tài)均采用硬解碼實現(xiàn),CPU占用率為32%。實際測試有較多性能富余,可用于處理其他業(yè)務(wù)邏輯。實際CPU占用率如圖9所示。

        圖9 硬解碼CPU占用率

        4 結(jié) 語

        本文基于瑞芯微RK3568平臺,使用平臺提供的MPP框架,同時采用gstreamer插件的形式對MPP框架視頻硬解碼接口進行實現(xiàn)和調(diào)用,實現(xiàn)了車載流媒體的硬解碼方案,實測解碼達到設(shè)計的預(yù)期效果,CPU占用率較低,可以有富余的資源處理其他業(yè)務(wù)邏輯,實測解碼顯示效果良好、穩(wěn)定,滿足軌道交通車載媒體系統(tǒng)的使用需求。

        猜你喜歡
        編解碼碼流插件
        分布式碼流實時監(jiān)控與錄制系統(tǒng)的設(shè)計與實現(xiàn)
        數(shù)字電視TS碼流協(xié)議簡要分析
        視聽(2021年8期)2021-08-12 10:53:42
        1553B總線控制器編解碼設(shè)計
        自編插件完善App Inventor與樂高機器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        大型民機試飛遙測視頻編解碼方法研究
        基于H.265編解碼的高清視頻傳輸系統(tǒng)研究
        電子測試(2018年18期)2018-11-14 02:30:54
        MapWindowGIS插件機制及應(yīng)用
        基于Revit MEP的插件制作探討
        一種比較ASN.1碼流差異的方法
        基于梯度的CCSDS壓縮碼流控制算法研究
        三上悠亚亚洲精品一区| 亚洲电影中文字幕| 手机免费日韩中文字幕| 漂亮人妻出轨中文字幕 | av天堂在线免费播放| 国产一区二区三区我不卡| 久久国产亚洲高清观看| 无码国产亚洲日韩国精品视频一区二区三区 | 色狠狠色噜噜av天堂一区| 精品无码国产污污污免费| 亚洲AV无码中文AV日韩A| 日本人妻系列中文字幕| 香港三日本三级少妇三级视频| 国产成人+亚洲欧洲+综合| 国产av大片在线观看| 久久av粉嫩一区二区| 人与禽性视频77777| 亚洲影院丰满少妇中文字幕无码| 国产精品久久中文字幕亚洲| 东北女人一级内射黄片| 久久久久人妻精品一区蜜桃| 久久99精品久久久久久齐齐百度| 91青青草手机在线视频| 亚洲成av人片不卡无码| 久久精品一区二区三区av| 污污污国产免费网站| 在线日本国产成人免费精品| 女人被狂躁c到高潮| 国产精品11p| 亚洲免费av第一区第二区| 国内永久福利在线视频图片| 丰满人妻被中出中文字幕| 国产精品久久这里只有精品| 无人视频在线播放免费| 天天躁日日躁狠狠躁欧美老妇| 五月天婷婷综合网| 北岛玲亚洲一区二区三区| 熟女无套高潮内谢吼叫免费| 久久婷婷国产剧情内射白浆| 国产人妖赵恩静在线视频| 一本色道久久88加勒比一|