工具/软件:
您好、
我们将 AM62A7 处理器和摄像头传感器。 当我们与 tiovxmultiscaler 插件一起使用流水线时、在流水线启动和停止几次后关闭流水线时、流水线会停止。 以下是流水线:
gst-launch-1.0 v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import ! video/x-bayer, width=1920, height=1200, format=rggb ! tiovxisp sink_0::device=/dev/v4l-rpi-subdev0 dcc-isp-file=/opt/imaging/ar0235/dcc_viss_8bit_1920x1200.bin sink_0::dcc-2a-file=/opt/imaging/ar0235/dcc_2a_8bit_1920x1200.bin format-msb=9 sink_0::ae-mode=2 ! video/x-raw, format=NV12, width=1920, height=1200 ! tiovxmultiscaler name=split split. ! video/x-raw, format=NV12, width=960, height=600 ! queue ! textoverlay text="foo" ! videorate ! video/x-raw,framerate=30/1 ! v4l2h264enc extra-controls=\"c,video_gop_size=30,h264_profile=4,video_bitrate=90000,h264_level=9,h264_i_frame_period=512,prepend_sps_and_pps_to_idr=1\" ! video/x-h264,profile=high ! mpegtsmux ! udpsink host=127.0.0.1 port=6310 split. ! video/x-raw, format=NV12, width=1920, height=1200 ! queue ! textoverlay text="bar" ! videorate ! video/x-raw,framerate=30/1 ! v4l2h264enc extra-controls=\"c,video_gop_size=30,h264_profile=4,video_bitrate=90000,h264_level=9,h264_i_frame_period=512,prepend_sps_and_pps_to_idr=1\" ! video/x-h264,profile=high ! mpegtsmux ! udpsink host=127.0.0.1 port=6320 split. ! video/x-raw, format=NV12, width=1920, height=1200 ! queue ! textoverlay text="baz" ! v4l2jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=6330
进行几次迭代后、收到以下错误、此时流水线挂起。
APP: Init ... !!! MEM: Init ... !!! MEM: Initialized DMA HEAP (fd=6) !!! MEM: Init ... Done !!! IPC: Init ... !!! IPC: Init ... Done !!! REMOTE_SERVICE: Init ... !!! REMOTE_SERVICE: Init ... Done !!! 69920.128897 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 69920.129015 s: VX_ZONE_INIT:Enabled 69920.129029 s: VX_ZONE_ERROR:Enabled 69920.129041 s: VX_ZONE_WARNING:Enabled 69920.129992 s: VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!! 69920.130152 s: VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!! Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Redistribute latency... Redistribute latency... Redistribute latency... IttCtrl_registerHandler: command echo registered at location 0 IttCtrl_registerHandler: command iss_read_2a_params registered at location 1 IttCtrl_registerHandler: command iss_write_2a_params registered at location 2 IttCtrl_registerHandler: command iss_raw_save registered at location 3 IttCtrl_registerHandler: command iss_yuv_save registered at location 4 IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5 IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6 IttCtrl_registerHandler: command dev_ctrl registered at location 7 IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8 Error: failed to open i2c bus at /dev/i2c-9 Warning: Failed to initialize i2c bus. Register read/write will not work !!! NETWORK: Opened at IP Addr = 172.25.3.37, socket port=5000!!! Redistribute latency... handling interrupt.9. Interrupt: Stopping pipeline ... Execution ended after 0:00:09.752114548 Setting pipeline to NULL ... ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Failed to allocate required memory. Additional debug info: ../gst-plugins-good-1.20.7/sys/v4l2/gstv4l2videoenc.c(849): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Buffer pool activation failed An error happened while waiting for EOS ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc1: Failed to allocate required memory. Additional debug info: ../gst-plugins-good-1.20.7/sys/v4l2/gstv4l2videoenc.c(849): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc1: Buffer pool activation failed An error happened while waiting for EOS
看起来流水线没有获得 EOS 信号、仍在等待 EOS 信号。 发生此错误时、RAM 和 CMA 存储器足以运行另一个流水线。
请告诉我们如何纠正此问题?
此致、
Jay