This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Network loopback of gstreamer pipeline error occurring?

Part Number: AM5728
Other Parts Discussed in Thread: BEAGLEBOARD-X15, , TEST2

Hi sir,

I am using custom board with ti-processor-sdk-linux-am57xx-evm-06.01.00.08 and u-boot 2019.1 and Linux 4.19.59 using camera module connected through gs2971 driver of HD camera(1920x1080P30),

another side Beagleboard-x15 with ti-processor-sdk-linux-am57xx-evm-06.01.00.08 and u-boot 2019.1 and Linux 4.19.59 used,

I am using below commands for Networkloopback but error occurs in Sender side-custom board am5728:

gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! vpe num-input-buffers=8 ! queue ! ducatih264enc intra-interval=1 ! h264parse ! rtph264pay mtu=200 ! udpsink host=127.0.0.1 port=5000
[1] 1080
Setting pipeline to PAUSED ...
MmRpc_create: Error: open failed, name=/dev/rpmsg-dce
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0: Could not initialize supporting library.
Additional debug info:
../../../../gst-plugins-base-1.14.4/gst-libs/gst/video/gstvideoencoder.c(1634): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0:
Failed to start encoder
../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error val -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == DCE_EOK error val -4Setting pipeline to NULL ...
Freeing pipeline ...

Receiver side command Beagle Board-x15:

gst-launch-1.0 -v udpsrc port=5000 ! 'application/x-rtp,media=(string)video, clock-rate=(int)90000, payload=(int)96' ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw,format=(string)YUY2, width=1920,height=1080' ! kmssink
Setting pipeline to PAUSED ...
[ 817.948476] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1920
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:10:22.198570852
Setting pipeline to PAUSED ...
Setting pipeline to R[ 1440.208067] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
EADY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Actually could you give me some suggestions of below things.

1.How to store live video data using gstreamer command line.

root@am57xx-evm:/# v4l2-ctl -d /dev/video1 --all
Driver Info:
Driver name : vip
Card type : vip
Bus info : platform:vip2:vin3a:stream0
Driver version : 4.19.59
Capabilities : 0x85200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (camera 1: ok)
Video Standard = 0x00ffb0ff
PAL-B/B1/G/H/I/D/D1/K
NTSC-M/M-JP/M-KR
SECAM-B/D/G/H/K/K1/L/Lc
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'UYVY' (UYVY 4:2:2)
Field : None
Bytes per Line : 3840
Size Image : 4147200
Colorspace : SMPTE 170M
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Crop Capability Video Output:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Selection Video Capture: crop, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: compose, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: compose_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: compose_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: crop, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: compose, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: compose_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Output: compose_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 4
root@am57xx-evm:/# cat /proc/interrupts | grep vip
root@am57xx-evm:/# /etc/init.d/weston stop
Stopping Weston
root@am57xx-evm:/#
root@am57xx-evm:/# devmem2 0x48995530
/dev/mem opened.
Memory mapped at address 0xb6f84000.
Read at address 0x48995530 (0xb6f84530): 0x00000000
root@am57xx-evm:/# devmem2 0x48995504
/dev/mem opened.
Memory mapped at address 0xb6fe9000.
Read at address 0x48995504 (0xb6fe9504): 0x000000C0
root@am57xx-evm:/# gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! vpe num-input-buffers=8 ! queue ! ducatimpeg4enc bitrate=4 ! queue ! mpeg4videoparse ! qtmux ! filesink location=rama.mp4
Setting pipeline to PAUSED ...
MmRpc_create: Error: open failed, name=/dev/rpmsg-dce
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstDucatiMPEG4Enc:ducatimpeg4enc0: Could not initialize supporting library.
Additional debug info:
../../../../gst-plugins-base-1.14.4/gst-libs/gst/video/gstvideoencoder.c(1634): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstDucatiMPEG4Enc:ducatimpeg4enc0:
Failed to start encoder
../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error val -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == DCE_EOK error val -4Setting pipeline to NULL ...
Freeing pipeline ...
root@am57xx-evm:/# gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! ducatih264enc intra-interval=4 ! queue ! h264parse ! mp4mux ! filesink location=rama.mp4
WARNING: erroneous pipeline: could not link v4l2src0 to ducatih264enc0, ducatih264enc0 can't handle caps video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1
root@am57xx-evm:/# [ 129.231204] NET: Registered protocol family 15
[ 129.329596] Initializing XFRM netlink socket
^C
root@am57xx-evm:/# gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! queue ! vpe ! queue ! filesink location=car2.mov
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:02.327131450
Setting pipeline to PAUSED ...
Setting pipeline to READY ...

(gst-launch-1.0:1074): GStreamer-CRITICAL **: 16:09:51.332: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
Setting pipeline to NULL ...
Freeing pipeline ...
root@am57xx-evm:/#

But its not storing the video some time file size MBs but not playing?

2.Loopback commads.

root@am57xx-evm:/# gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! tee name=t ! vpe num-input-buffers=8 ! queue ! ducatih264enc bitrate=4 ! queue ! h264parse ! qtmux ! filesink location=test1.mov t. ! vpe num-input-buffers=8 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! queue ! ducatih264enc ! queue ! h264parse ! qtmux ! filesink location=test2.mp4
WARNING: erroneous pipeline: could not link queue2 to ducatih264enc1
root@am57xx-evm:/# gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=30/1' ! vpe num-input-buffers=8 ! queue ! ducatih264enc intra-interval=1 ! h264parse ! rtph264pay mtu=200 ! udpsink host=127.0.0.1 port=5000 &
[1] 1081
root@am57xx-evm:/# Setting pipeline to PAUSED ...
MmRpc_create: Error: open failed, name=/dev/rpmsg-dce
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0: Could not initialize supporting library.
Additional debug info:
../../../../gst-plugins-base-1.14.4/gst-libs/gst/video/gstvideoencoder.c(1634): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0:
Failed to start encoder
../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error val -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == DCE_EOK error val -4Setting pipeline to NULL ...
Freeing pipeline ...

Thanking you sir,

Regards,

Ramachandra