homebridge-camera-ffmpeg: FFmpeg exited with code: null and signal: SIGILL (Unexpected)
Describe The Problem: I have linked up my RPi NoIR camera with Homebridge. It is registered in the home app and taking stills correctly. However, videos are not working, and the logs show an error message “FFmpeg exited with code: null and signal: SIGILL (Unexpected)”.
I am deploying using Docker. I have tested via the command line (in the container) with ffmpeg and managed to get still photos and videos scp’d over to my Mac.
Logs:
[9/26/2020, 9:16:45 PM] [Camera FFmpeg] [RPi Camera] Video stream requested: 1280 x 720, 30 fps, 299 kbps
[9/26/2020, 9:16:45 PM] [Camera FFmpeg] [RPi Camera] Starting video stream: 1280 x 720, 30 fps, 299 kbps
[9/26/2020, 9:16:45 PM] [Camera FFmpeg] [RPi Camera] Stream command: /homebridge/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -f v4l2 -r 30 -s 1280x720 -i /dev/video0 -an -sn -dn -codec:v h264 -pix_fmt yuv420p -color_range mpeg -r 30 -f rawvideo -filter:v scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease,scale=trunc(iw/2)*2:trunc(ih/2)*2 -b:v 299k -payload_type 99 -ssrc 2218654 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params Wa5pmSP/bQIP3LpvaLgT7ix4ehRonv5coFgXBpy2 srtp://192.168.0.25:53126?rtcpport=53126&pkt_size=1316 -loglevel level+verbose
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] built with gcc 9.3.0 (Alpine 9.3.0)
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] configuration: --pkgconfigdir=/build/workspace/lib/pkgconfig --prefix=/build/workspace --pkg-config-flags=--static --extra-cflags=-I/build/workspace/include --extra-ldflags=-L/build/workspace/lib --extra-libs='-lpthread -lm' --enable-static --disable-debug --disable-shared --disable-ffplay --disable-doc --enable-openssl --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-runtime-cpudetect --enable-libfdk-aac --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-decoder=h264 --enable-network --enable-protocol=tcp --enable-libspeex --enable-demuxer=rtsp --enable-indev=alsa --enable-outdev=alsa
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libavutil 56. 51.100 / 56. 51.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libavcodec 58. 91.100 / 58. 91.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libavformat 58. 45.100 / 58. 45.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libavdevice 58. 10.100 / 58. 10.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libavfilter 7. 85.100 / 7. 85.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libswscale 5. 7.100 / 5. 7.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libswresample 3. 7.100 / 3. 7.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [info] libpostproc 55. 7.100 / 55. 7.100
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera] [video4linux2,v4l2 @ 0xb6fb9010] [verbose] fd:3 capabilities:85200005
[9/26/2020, 9:16:46 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Input #0, video4linux2,v4l2, from '/dev/video0':
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Duration: N/A, start: 11630.974892, bitrate: 331776 kb/s
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 1280x720, 331776 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [verbose] Matched encoder 'libx264' for codec 'h264'.
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Stream mapping:
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [info] Press [q] to stop, [?] for help
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [Parsed_scale_0 @ 0xb6fb9d30] [verbose] w:min(1280,iw) h:min(720,ih) flags:'bicubic' interl:0
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [Parsed_scale_1 @ 0x29aa720] [verbose] w:trunc(iw/2)*2 h:trunc(ih/2)*2 flags:'bicubic' interl:0
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [graph 0 input from stream 0:0 @ 0x29ab3c0] [verbose] w:1280 h:720 pixfmt:yuv420p tb:1/30 fr:30/1 sar:0/1
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [Parsed_scale_0 @ 0xb6fb9d30] [verbose] w:1280 h:720 fmt:yuv420p sar:0/1 -> w:1280 h:720 fmt:yuv420p sar:0/1 flags:0x4
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] [Parsed_scale_1 @ 0x29aa720] [verbose] w:1280 h:720 fmt:yuv420p sar:0/1 -> w:1280 h:720 fmt:yuv420p sar:0/1 flags:0x4
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera]
[9/26/2020, 9:16:47 PM] [Camera FFmpeg] [RPi Camera] FFmpeg exited with code: null and signal: SIGILL (Unexpected)
[9/26/2020, 9:17:15 PM] [Camera FFmpeg] [RPi Camera] Stopped video stream.
Homebridge Config:
{
"bridge": {
"name": "Homebridge",
"username": "0E:55:E3:24:F7:A5",
"port": 53037,
"pin": "031-45-154"
},
"description": "Homebridge",
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8080,
"platform": "config"
},
{
"name": "Camera FFmpeg",
"cameras": [
{
"name": "RPi Camera",
"manufacturer": "Raspberry Pi",
"model": "Raspberry Pi NoIR Camera V2.1",
"serialNumber": "0000000007a4193e",
"videoConfig": {
"source": "-re -f video4linux2 -i /dev/video0",
"stillImageSource": "-re -f video4linux2 -ss 0.9 -i /dev/video0 -vframes 1",
"maxBitrate": 1024,
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 30,
"vcodec": "h264",
"debug": true
}
}
],
"platform": "Camera-ffmpeg"
}
]
}
Screenshots: N/A
Environment:
** I am Using Docker **
- Node.js Version: v12.18.4
- NPM Version: 6.14.6
- Homebridge Version: 1.2.3
- Homebridge Camera FFmpeg Version: ^3.0.3
- Homebridge Config UI X Plugin Version:
- Operating System: Linux raspberrypi 5.4.51+ #1333 Mon Aug 10 16:38:02 BST 2020 armv6l GNU/Linux
Thank you!
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 30 (13 by maintainers)
For anyone reading this, using
"vcodec": "h264_v4l2m2m"as the codec in your config works very well on my Raspberry Model B Revision 2.0 (Board text “Raspberry Pi © 2011.12”), and may work on your Zeroes.Working for me with: Raspberry Model B Revision 2.0 (the one from 2011) Node.js Version v16.14.0 Npm Version v8.5.1 homebridge-camera-ffmpeg v3.1.4
‘standard’ ffmpeg installed, but not in use with config (
sudo apt-get install ffmpeg)Cameras: D-Link DCS-5222L and D-Link DCS-934L
Additional note: Using
ffmpeg -encoders | grep 264in terminal can discover other codecs to try as wellI’m getting the error without Docker (
Linux rpi 5.4.51+ #1333 Mon Aug 10 16:38:02 BST 2020 armv6l GNU/Linux). Pointing to the system-installed ffmpeg (sudo apt install ffmpeg) resolves the issue, so I’m guessing there’s something wrong with the package-supplied binaries.