Firefly开源社区

标题: RK3568J安装官方ubuntu固件无法运行ffmedia的demo小白求助 [打印本页]

作者: law    时间: 2024-4-18 15:36
标题: RK3568J安装官方ubuntu固件无法运行ffmedia的demo小白求助
使用RK3568J开发板安装官方ubuntu固件后无法运行ffmedia的demo,固件安装后系统信息如下:
OS:      Ubuntu 20.04.6 LTS
MODEL:   AIO-3568J HDMI (Linux)
FIREFLY: v3.10-8-gdbbe44f6
DATE:    20240111
KERNEL:  Linux version 4.19.232 (lanzj@tchip14) (rk356x/firefly: 50ce91e4819b9979ae6371d22f2edd59e09bce5c) (sdk version: rk356x_linux_release_20240109_v1.3.2g.xml) (gcc version 10.3.1 20210621 (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)), GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #2 SMP Wed Jan 10 11:40:40 CST 2024

ffmedia是克隆https://gitlab.com/firefly-linux/ffmedia_release.git后编译的。
现在问题是使用demo进行播放 demo /usr/local/test.mp4 -o 1280x720 -x 0执行时显示信息如下:
Firefly FFMedia: v2.2.4
INFO: ff_media: start_instance:

==========================================
INFO: ff_media: start_instance: enable file reader
INFO: 16ModuleFileReader: init: Get Video Resolution( 1920 x 1080 )
rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
INFO: ff_media: start_instance:
Input Source:   /usr/local/test.mp4
Input format:   1920x1080 H264
Output format:  1280x720 NV12
Encode type:    H264
Decoder:        enable
Rga:            enable
Encoder:        disable
RtspClient:     disable
File writer:    disable
File:           disable
Rtsp push:      disable
==================Pipe===================
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '4'.
ModuleFileReader (H264 1920x1080)
   |--->ModuleMppDec (NV12 1920x1080)
           |--->ModuleRga (NV12 1280x720)
                   |--->ModuleRendererVideo (NV12 1280x720)

INFO: 10MppDecoder: getTimeoutSample: 0x55990634e0 frame info changed 1 error 0 discard 0
INFO: 16ModuleFileReader: work: Produce EOS

并且会产生一个绿屏并保持,请问是什么原因呢?
还有我运行它的拉流解码demo_simple时报错:
./demo_simple
Firefly FFMedia: v2.2.4
INFO: ff_media: connectToServer: connected to server 192.168.188.79:554
INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
INFO: 15DrmDisplayPlane: setupDisplayDevice: 0 0
INFO: 15DrmDisplayPlane: setupDisplayDevice: conn_id = 150 enc_id = 149 crtc_id = 71
INFO: 15DrmDisplayPlane: setup: plane_id = -1
ERROR: 15DrmDisplayPlane: setup: drmModeSetPlane failed, ret -2
ERROR: ff_media: main: drm display init failed

使用的流地址我使用ffplay测试过是正常的,为什么会出现这个问题?求解答。
tchip_askquestions

info.txt

1.59 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1


作者: dengkx    时间: 2024-4-25 19:01
你的板子内存规格应该是大于4g的,通过限制drm申请内存在4g之内解决:

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index 946d8e364469..29700e55b4a3 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -698,6 +698,7 @@ static struct rockchip_gem_object *
#else
        gfp_t gfp_mask = GFP_HIGHUSER | __GFP_RECLAIMABLE;
#endif
+    gfp_mask |= __GFP_DMA32;
        size = round_up(size, PAGE_SIZE);

        rk_obj = kzalloc(sizeof(*rk_obj), GFP_KERNEL)

----------------------------------------------------------------
内核打上该补丁,重新编译、烧入。
作者: law    时间: 2024-4-26 08:52
dengkx 发表于 2024-4-25 19:01
你的板子内存规格应该是大于4g的,通过限制drm申请内存在4g之内解决:

diff --git a/drivers/gpu/drm/ro ...

谢谢大佬解答,我的开发板的确是8G的,我马上试试。我还有一个问题想请教,ffmedia支持多路视频分析推理吗?就类似deepstream那样,我看提供的demo只是对一个视频流的推理分析。
作者: dengkx    时间: 2024-4-26 09:35
law 发表于 2024-4-26 08:52
谢谢大佬解答,我的开发板的确是8G的,我马上试试。我还有一个问题想请教,ffmedia支持多路视频分析推理吗? ...

支持,多路就多创建几条模块链路
作者: law    时间: 2024-4-26 16:03
dengkx 发表于 2024-4-26 09:35
支持,多路就多创建几条模块链路

可以batch化推理吗




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1