RK3399/RK3328具有強大的視頻編解碼能力,Soc集成的硬件視頻編解碼器VPU,能同時處理多路視頻的編解碼,Soc集成的圖形加速引擎RGA, 可以高效地處理圖形縮放、旋轉、顏色空間轉換等操作。結合VPU和RGA,可以高效地實現視頻流的解碼和后處理,作為第三方應用處理的數據源。
Rockchip開發的mpp庫,提供了非常易於使用API,通過各種不同的控制項,可以適應多種不同場景的視頻編解碼應用。
RK3328平台:RK3328行業主板 + 6路攝像頭
Firefly在RK3399和RK3328 Ubuntu平台上, 針對目前最常見的場景,提供了一個多路RTSP流解碼的Demo,Demo支持在RK3399平台上, 同時解12路H264/H265 RTSP,測試流幀率為25fps,無丟幀,低延時,CPU占用率較低(基本只用於RTSP流接收和封包)。在RK3328平台上,同時能解6路H264/H265 RTSP。
運行過程
Demo對解碼后的圖像輸出數據,只做了顯示處理,如果在實際應用中需要對圖像做處理,可能會導致幀率下降。
實時幀率
實時幀率計算結果如下:
Demo運行在RK3399 或 RK3328 Ubuntu 18.04平台上。
$ sudo apt update $ sudo apt install firefly-multi-rtsp
$ sudo test_ff_rtsp_dec
Demo中提供了一個配置文件config.json,用於配置demo的運行環境。
配置文件位於/etc/ff_rtsp_dec/config.json ,json格式。(注意不要在config.json中添加注釋,否則可能會導致json解析出錯)
"basepara" : { "dri_path" : "/dev/dri/card0", //不要修改 "prefer_monitor_w" : 1920, "prefer_monitor_h" : 1080, "code_type" : "H265", //rtsp流編碼類型,H264/H265 "line_count" : 12, //rtsp流數量 "output_w" : 480, //每一路解碼后的輸出size. "output_h" : 360, "rotate" : 0 //旋轉 未使用 },
line_h = prefer_monitor_w / output_w; line_v = prefer_monitor_h / output_h; line_h * line_v <= line_count
RTSP 參數
"rtsp" : [ { "id" : 0, //id "url" : "rtsp://168.168.3.100:554/av_stream", //url "usr" : "admin", //username "pwd" : "firefly123", //password "tcp" : false // Is tcp? }, ... ]
RTSP參數為一個數組,配置每一路rtsp流的參數。
