AlexxIT / go2rtc

Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
https://github.com/AlexxIT/Blog
MIT License
4.67k stars 379 forks source link

Broken exec/pipe source after v1.9.3 #1184

Closed marcob79 closed 3 months ago

marcob79 commented 3 months ago

I had a camera stream on rPI (as binary) that was running fine with 1.9.2 that was configured like the following

pi5cam_H264_FHD: exec:libcamera-vid --nopreview --level 4.2 --libav-format h264 --profile high --autofocus-mode auto --mode 2304:1296 --width 1920 --height 1080 --framerate 30 -b 3500000 -t 0 --denoise cdn_off -n --inline -o -

after upgrading to 1.9.3 streams stopped working. here below the logs copy pasted from GUI

Time    Level   Message
3:08:21.618 PM  info    go2rtc version=1.9.3 platform=linux/arm64 revision=cd777ba
3:08:21.618 PM  debug   build version=go1.22.4 vcs.time=2024-06-06T13:01:01Z
3:08:21.618 PM  info    config path=/home/ubuntu/go2rtc/go2rtc.yaml
3:08:21.618 PM  info    [api] listen addr=:1984
3:08:21.618 PM  info    [rtsp] listen addr=:8554
3:08:21.619 PM  info    [webrtc] listen addr=:8555/tcp
3:08:21.619 PM  debug   [webtorrent] connect to tracker: wss://tracker.openwebtorrent.com
3:08:36.193 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:08:36.197 PM  debug   [webrtc] new consumer src=pi5cam_H264_FHD
3:08:36.364 PM  debug   [exec] [0:03:18.229661366] [3247]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:08:36.372 PM  debug   [exec] [0:03:18.237634968] [3249]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:08:36.389 PM  debug   [exec] [0:03:18.254276617] [3249]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
3:08:36.391 PM  debug   [exec] [0:03:18.256303420] [3247]  WARN V4L2 v4l2_pixelformat.cpp:344 Unsupported V4L2 pixel format RPBP
3:08:36.391 PM  debug   [exec] Mode selection for
3:08:36.391 PM  debug   [exec] 2304:1296:12:P(30)
3:08:36.391 PM  debug   [exec] SRGGB10_CSI2P,1536x864/120.135 - Score: 3400
SRGGB10_CSI2P,2304x1296/56.0255 - Score: 1000
3:08:36.391 PM  debug   [exec] SRGGB10_CSI2P,4608x2592/14.3536 - Score: 33192.8
3:08:36.391 PM  debug   [exec] Stream configuration adjusted
3:08:36.391 PM  debug   [exec] [0:03:18.256515625] [3247]  INFO Camera camera.cpp:1183 configuring streams: (0) 1920x1080-YUV420 (1) 2304x1296-BGGR_PISP_COMP1
3:08:36.391 PM  debug   [exec] [0:03:18.256565366] [3249]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 2304x1296-SBGGR10_1X10 - Selected CFE format: 2304x1296-PC1B
3:08:36.399 PM  debug   [exec] [libx264 @ 0x55567cdaf820] using cpu capabilities: ARMv8 NEON
3:08:36.402 PM  debug   [exec] [libx264 @ 0x55567cdaf820] profile High, level 4.2, 4:2:0, 8-bit
3:08:36.402 PM  debug   [exec] Output #0, h264, to '-':
3:08:36.402 PM  debug   [exec] Stream #0:0
3:08:36.402 PM  debug   [exec] : Video: h264 (High), yuv420p(tv, bt709), 1920x1080, q=2-31, 3500 kb/s,
3:08:36.402 PM  debug   [exec] 30 fps, 30 tbr, 1000k tbn
3:08:37.110 PM  debug   [exec] run pipe launch=916.950021ms
3:08:37.110 PM  debug   [mp4] add consumer error=streams: exec/pipe: %!w()
[0:03:18.229661366] [3247]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:18.237634968] [3249]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:18.254276617] [3249]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:03:18.256303420] [3247]  WAR...
3:08:37.111 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:08:37.295 PM  debug   [exec] [0:03:19.160945989] [3269]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:08:37.304 PM  debug   [exec] [0:03:19.169104313] [3271]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:08:37.304 PM  debug   [exec] [0:03:19.169966039] [3271] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
3:08:37.325 PM  debug   [exec] [0:03:19.190774165] [3271]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
3:08:37.326 PM  debug   [exec] [0:03:19.191148907] [3269]  INFO Camera camera.cpp:990 Pipeline handler in use by another process
3:08:37.327 PM  debug   [exec] ERROR: *** failed to acquire camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a ***
3:08:37.386 PM  debug   [exec] run pipe launch=275.2104ms
3:08:37.386 PM  debug   [webrtc] add consumer error=streams: exec/pipe: EOF
[0:03:19.160945989] [3269]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:19.169104313] [3271]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:19.169966039] [3271] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
[0:03:19.190774165] [3271]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie...
3:08:37.386 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:08:37.579 PM  debug   [exec] [0:03:19.444176880] [3274]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:08:37.587 PM  debug   [exec] [0:03:19.452899039] [3282]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:08:37.588 PM  debug   [exec] [0:03:19.453705709] [3282] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
3:08:37.606 PM  debug   [exec] [0:03:19.471667159] [3282]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
3:08:37.607 PM  debug   [exec] [0:03:19.472244161] [3274]  INFO Camera camera.cpp:990 Pipeline handler in use by another process
3:08:37.608 PM  debug   [exec] ERROR: *** failed to acquire camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a ***
3:08:37.614 PM  debug   [exec] run pipe launch=227.614571ms
3:08:37.614 PM  debug   [mjpeg] add consumer error=streams: exec/pipe: EOF
[0:03:19.444176880] [3274]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:19.452899039] [3282]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:19.453705709] [3282] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
[0:03:19.471667159] [3282]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie...
3:09:01.663 PM  debug   [exec] Received signal 13
3:09:01.668 PM  debug   [exec] terminate called after throwing an instance of 'std::runtime_error'
3:09:01.668 PM  debug   [exec] what(): libav: error writing output: Broken pipe
3:09:01.867 PM  debug   [webrtc] new consumer src=pi5cam_H264_FHD
3:09:01.869 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:09:02.029 PM  debug   [exec] [0:03:43.894735547] [3429]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:09:02.037 PM  debug   [exec] [0:03:43.902616554] [3431]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:09:02.054 PM  debug   [exec] [0:03:43.919128644] [3431]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
3:09:02.056 PM  debug   [exec] [0:03:43.921287670] [3429]  WARN V4L2 v4l2_pixelformat.cpp:344 Unsupported V4L2 pixel format RPBP
3:09:02.056 PM  debug   [exec] Mode selection for 2304:1296:12:P(30)
SRGGB10_CSI2P,1536x864/120.135 - Score: 3400
SRGGB10_CSI2P,2304x1296/56.0255 - Score: 1000
SRGGB10_CSI2P,4608x2592/14.3536 - Score: 33192.8
3:09:02.056 PM  debug   [exec] Stream configuration adjusted
3:09:02.056 PM  debug   [exec] [0:03:43.921497930] [3429]  INFO Camera camera.cpp:1183 configuring streams: (0) 1920x1080-YUV420 (1) 2304x1296-BGGR_PISP_COMP1
3:09:02.056 PM  debug   [exec] [0:03:43.921549911] [3431]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 2304x1296-SBGGR10_1X10 - Selected CFE format: 2304x1296-PC1B
3:09:02.065 PM  debug   [exec] [libx264 @ 0x5555cd5fb820] using cpu capabilities: ARMv8 NEON
3:09:02.067 PM  debug   [exec] [libx264 @ 0x5555cd5fb820] profile High, level 4.2, 4:2:0, 8-bit
3:09:02.068 PM  debug   [exec] Output #0, h264, to '-':
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709), 1920x1080, q=2-31, 3500 kb/s, 30 fps, 30 tbr, 1000k tbn
3:09:02.771 PM  debug   [exec] run pipe launch=901.973607ms
3:09:02.771 PM  debug   [webrtc] add consumer error=streams: exec/pipe: %!w()
[0:03:43.894735547] [3429]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:43.902616554] [3431]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:43.919128644] [3431]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:03:43.921287670] [3429]  WAR...
3:09:02.771 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:09:02.952 PM  debug   [exec] [0:03:44.817417109] [3452]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:09:02.960 PM  debug   [exec] [0:03:44.825329968] [3454]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:09:02.960 PM  debug   [exec] [0:03:44.826047544] [3454] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
3:09:02.981 PM  debug   [exec] [0:03:44.846972852] [3454]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
3:09:02.982 PM  debug   [exec] [0:03:44.847348205] [3452]  INFO Camera camera.cpp:990 Pipeline handler in use by another process
3:09:02.985 PM  debug   [exec] ERROR: *** failed to acquire camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a ***
3:09:02.987 PM  debug   [exec] run pipe launch=215.081988ms
3:09:02.987 PM  debug   [mp4] add consumer error=streams: exec/pipe: EOF
[0:03:44.817417109] [3452]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:44.825329968] [3454]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:44.826047544] [3454] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
[0:03:44.846972852] [3454]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie...
3:09:02.991 PM  debug   [exec] run pipe args=libcamera-vid,--nopreview,--level,4.2,--libav-format,h264,--profile,high,--autofocus-mode,auto,--mode,2304:1296,--width,1920,--height,1080,--framerate,30,-b,3500000,-t,0,--denoise,cdn_off,-n,--inline,-o,-
3:09:03.177 PM  debug   [exec] [0:03:45.042153424] [3457]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
3:09:03.185 PM  debug   [exec] [0:03:45.050355265] [3459]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
3:09:03.186 PM  debug   [exec] [0:03:45.051150564] [3459] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
3:09:03.205 PM  debug   [exec] [0:03:45.070199495] [3459]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media1 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:03:45.070434089] [3457]  INFO Camera camera.cpp:990 Pipeline handler in use by another process
3:09:03.206 PM  debug   [exec] ERROR: *** failed to acquire camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a ***
3:09:03.210 PM  debug   [exec] run pipe launch=218.382387ms
3:09:03.210 PM  debug   [mjpeg] add consumer error=streams: exec/pipe: EOF
[0:03:45.042153424] [3457]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:03:45.050355265] [3459]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:03:45.051150564] [3459] ERROR V4L2 v4l2_device.cpp:353 'imx708_noir': Unable to set controls: Device or resource busy
[0:03:45.070199495] [3459]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie...
marcob79 commented 3 months ago

can be related and fixed with https://github.com/AlexxIT/go2rtc/commit/03956968667bba2febb6a513d159dc9a00b3e4c8 ?

AlexxIT commented 3 months ago

Yes. This already fixed in latest master version

AlexxIT commented 3 months ago

https://github.com/AlexxIT/go2rtc/releases/tag/v1.9.4