Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4151

Camera board • Can't stream from Pi5 with rpicam-apps...

$
0
0
My setup is built-from source (on Rpi5 8GB):

Linux styx 6.6.28_p20240423-raspberrypi-linux-gnu #1 SMP PREEMPT Mon Jun 3 19:23:49 CDT 2024 aarch64 GNU/Linux

with

$ cam -l
[7:44:17.130348809] [7839] INFO Camera camera_manager.cpp:284 libcamera v0.2.0
[7:44:17.146351677] [7840] INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 14-06-2024 (07:31:26)
[7:44:17.167858902] [7840] INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx296@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Available cameras:
1: 'imx296' (/base/axi/pcie@120000/rp1/i2c@88000/imx296@1a)

And I am trying to follow these instructions:

https://www.raspberrypi.com/documentati ... picam-apps

But neither the UDP, nor TCP, nor RTSP methods work. The server starts up just fine, but the clients are having various issues, depending on which client and whether local or remote. But none of the clients work.

One case I can focus in on is the TCP one:

$ rpicam-vid --qt-preview -t 0 --inline --listen -o tcp://styx:9999
[7:48:18.205913137] [7902] INFO Camera camera_manager.cpp:284 libcamera v0.2.0
[7:48:18.222060394] [7903] INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 14-06-2024 (07:31:26)
[7:48:18.250230090] [7903] INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx296@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
MESA-LOADER: failed to open zink: /usr/lib64/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load driver: zink
Made QT preview window
[7:48:18.612980885] [7902] WARN V4L2 v4l2_pixelformat.cpp:344 Unsupported V4L2 pixel format RPBP
Mode selection for 640:480:12:P
SRGGB10_CSI2P,1456x1088/0 - Score: 1357.84
Stream configuration adjusted
[7:48:18.613287626] [7902] INFO Camera camera.cpp:1183 configuring streams: (0) 640x480-YUV420 (1) 1456x1088-BGGR_PISP_COMP1
[7:48:18.613457404] [7903] INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx296@1a - Selected sensor format: 1456x1088-SBGGR10_1X10 - Selected CFE format: 1456x1088-PC1B
[libx264 @ 0x5555c6967fc0] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x5555c6967fc0] profile High, level 3.0, 4:2:0, 8-bit
Output #0, h264, to 'tcp://styx:9999?listen=1':
Stream #0:0: Video: h264, yuv420p(tv, smpte170m/smpte170m/bt709), 640x480, q=2-31, 30 fps, 30 tbr, 1000k tbn
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A

(not sure if "Unsupported V4L2 pixel format RPBP" is an issue or not, while MESA's zink doesn't appear to matter).

Then on the client:

$ vlc tcp/h264://styx:9999

vlc connects, and displays a single static image. But on the server, the preview window now goes from a static image to streaming. Prior to client connection, the preview window was a static image. It's like the preview window is getting the stream while the network connection gets a single image.

When client exits, the server shuts down, rather unhappily:

terminate called after throwing an instance of 'std::runtime_error'
what(): libav: error writing output: Connection reset by peer
Aborted

This rpicam-apps was built from

$ git remote show origin
* remote origin
Fetch URL: https://github.com/raspberrypi/rpicam-apps.git
Push URL: https://github.com/raspberrypi/rpicam-apps.git
HEAD branch: main

with command

/source/rpicam-apps # meson setup build --prefix=/usr -Denable_libav=enabled -Denable_drm=enabled -Denable_egl=enabled -Denable_qt=enabled -Denable_opencv=enabled -Denable_tflite=disabled -Dneon_flags=arm64

while libcamera was built from

$ git remote show origin
* remote origin
Fetch URL: https://github.com/raspberrypi/libcamera.git
Push URL: https://github.com/raspberrypi/libcamera.git
HEAD branch: main

with command

/source/libcamera # meson setup build --prefix=/usr --buildtype=release -Dpipelines=all -Dipas=ipu3,rkisp1,rpi/pisp,rpi/vc4,simple,vimc -Dv4l2=true -Dgstreamer=enabled -Dtest=false -Dlc-compliance=disabled -Dcam=enabled -Dqcam=enabled -Ddocumentation=disabled -Dpycamera=enabled --reconfigure

Both clones are only a few days old.

Is there some frame rate or width x height setting I need to keep the server from sending a single image and send the stream instead? I saw that somewhere but I can't find it now...but the server side seems to adjust the stream anyway, so not sure if its needed. And my bitrate always stays 0/0/0, so at least its not claiming to be sending any data on the server.

Statistics: Posted by zoltan68 — Sat Jun 15, 2024 11:30 am



Viewing all articles
Browse latest Browse all 4151

Trending Articles