Sunoo / homebridge-camera-ffmpeg

Homebridge Plugin Providing FFmpeg-based Camera Support
https://sunoo.github.io/homebridge-camera-ffmpeg/
Apache License 2.0
1.08k stars 225 forks source link

MJPEG TCP stream stops processing after a few seconds #1297

Closed SumolX closed 2 years ago

SumolX commented 2 years ago

Describe The Problem: I am able to establish a live stream with raw tcp mjpeg source, however after a few seconds the stream stops.

To Reproduce: I use the -f mjpeg option which allows me to establish a direct connection to the camera stream. I've attached my configuration below.

Logs:

[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] Video stream requested: 1280 x 720, 30 fps, 299 kbps
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] Starting video stream: native x native, native fps, 8192 kbps
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] Stream command: /homebridge/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -f mjpeg -i http://n.n.n.n:nnnn/?action=stream -an -sn -dn -codec:v libx264 -pix_fmt yuv420p -color_range mpeg -f rawvideo -preset ultrafast -tune zerolatency -b:v 8192k -payload_type 99 -ssrc 9077538 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params asdfasdfasdfasdfasdfasdfasdf srtp://n.n.n.n:nnnn?rtcpport=nnnn&pkt_size=1316 -loglevel level+verbose -progress pipe:1
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   built with gcc 9.3.0 (Alpine 9.3.0)
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [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
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavutil      56. 51.100 / 56. 51.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavcodec     58. 91.100 / 58. 91.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavformat    58. 45.100 / 58. 45.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavdevice    58. 10.100 / 58. 10.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavfilter     7. 85.100 /  7. 85.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libswscale      5.  7.100 /  5.  7.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libswresample   3.  7.100 /  3.  7.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libpostproc    55.  7.100 / 55.  7.100
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [tcp @ 0x7f8c73614bc0] [verbose] Starting connection attempt to n.n.n.n port nnnn
[5/23/2022, 10:17:35 AM] [Camera FFmpeg] [FlashForge Adventure 4] [tcp @ 0x7f8c73614bc0] [verbose] Successfully connected to n.n.n.n port nnnn
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Input #0, mjpeg, from 'http://n.n.n.n:nnnn/?action=stream':
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Duration: N/A, bitrate: N/A
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Stream #0:0: Video: mjpeg (Baseline), 1 reference frame, yuvj422p(pc, bt470bg/unknown/unknown, center), 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 1200k tbn, 25 tbc
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Stream mapping:
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Press [q] to stop, [?] for help
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [graph 0 input from stream 0:0 @ 0x55bd7ab54e40] [verbose] w:640 h:480 pixfmt:yuvj422p tb:1/1200000 fr:25/1 sar:1/1
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [auto_scaler_0 @ 0x55bd7ab565c0] [verbose] w:iw h:ih flags:'bicubic' interl:0
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [format @ 0x55bd7ab554c0] [verbose] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [swscaler @ 0x55bd7abafbc0] [warning] deprecated pixel format used, make sure you did set range correctly
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [auto_scaler_0 @ 0x55bd7ab565c0] [verbose] w:640 h:480 fmt:yuvj422p sar:1/1 -> w:640 h:480 fmt:yuv420p sar:1/1 flags:0x4
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] using SAR=1/1
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] profile Constrained Baseline, level 3.2, 4:2:0, 8-bit
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Output #0, rtp, to 'srtp://192.168.1.119:52098?rtcpport=52098&pkt_size=1316':
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Metadata:
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     encoder         : Lavf58.45.100
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Stream #0:0: Video: h264 (libx264), 1 reference frame, yuv420p(tv, center), 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 8192 kb/s, 25 fps, 90k tbn, 25 tbc
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Metadata:
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]       encoder         : Lavc58.91.100 libx264
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Side data:
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info]       cpb: bitrate max/min/avg: 0/0/8192000 buffer size: 0 vbv_delay: N/A
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=    5 fps=0.0 q=10.0 size=     285kB time=00:00:00.16 bitrate=14586.2kbits/s speed=0.263x    
[5/23/2022, 10:17:36 AM] [Camera FFmpeg] [FlashForge Adventure 4] Getting the first frames took 1.094 seconds.
[5/23/2022, 10:17:37 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=    8 fps=6.6 q=11.0 size=     425kB time=00:00:00.28 bitrate=12444.1kbits/s speed=0.231x    
[5/23/2022, 10:17:38 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   11 fps=6.1 q=12.0 size=     564kB time=00:00:00.40 bitrate=11542.6kbits/s speed=0.221x    
[5/23/2022, 10:17:38 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   14 fps=5.8 q=12.0 size=     691kB time=00:00:00.52 bitrate=10886.5kbits/s speed=0.215x    
[5/23/2022, 10:17:39 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   17 fps=5.6 q=12.0 size=     820kB time=00:00:00.64 bitrate=10500.9kbits/s speed=0.213x    
[5/23/2022, 10:17:39 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   20 fps=5.5 q=12.0 size=     948kB time=00:00:00.76 bitrate=10222.5kbits/s speed=0.211x    
[5/23/2022, 10:17:40 AM] [Camera FFmpeg] [FlashForge Adventure 4] Received request to reconfigure: 640 x 360, 30 fps, 132 kbps (Ignored)
[5/23/2022, 10:17:40 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   23 fps=5.5 q=12.0 size=    1077kB time=00:00:00.88 bitrate=10022.3kbits/s speed=0.209x    
[5/23/2022, 10:17:41 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   26 fps=5.4 q=13.0 size=    1192kB time=00:00:01.00 bitrate=9761.9kbits/s speed=0.208x    
[5/23/2022, 10:17:41 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   29 fps=5.4 q=12.0 size=    1318kB time=00:00:01.12 bitrate=9642.7kbits/s speed=0.207x    
[5/23/2022, 10:17:42 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   32 fps=5.3 q=13.0 size=    1440kB time=00:00:01.24 bitrate=9515.9kbits/s speed=0.206x    
[5/23/2022, 10:17:42 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   35 fps=5.3 q=12.0 size=    1559kB time=00:00:01.36 bitrate=9393.6kbits/s speed=0.206x    
[5/23/2022, 10:17:43 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   38 fps=5.3 q=13.0 size=    1678kB time=00:00:01.48 bitrate=9287.5kbits/s speed=0.205x    
[5/23/2022, 10:17:44 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   41 fps=5.2 q=12.0 size=    1799kB time=00:00:01.60 bitrate=9211.8kbits/s speed=0.205x    
[5/23/2022, 10:17:44 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   44 fps=5.2 q=12.0 size=    1921kB time=00:00:01.72 bitrate=9149.4kbits/s speed=0.204x    
[5/23/2022, 10:17:45 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   47 fps=5.2 q=13.0 size=    2040kB time=00:00:01.84 bitrate=9083.9kbits/s speed=0.204x    
[5/23/2022, 10:17:45 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   50 fps=5.2 q=12.0 size=    2161kB time=00:00:01.96 bitrate=9033.7kbits/s speed=0.204x    
[5/23/2022, 10:17:46 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   53 fps=5.2 q=13.0 size=    2278kB time=00:00:02.08 bitrate=8973.3kbits/s speed=0.204x    
[5/23/2022, 10:17:47 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   56 fps=5.2 q=12.0 size=    2404kB time=00:00:02.20 bitrate=8952.8kbits/s speed=0.203x    
[5/23/2022, 10:17:47 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   59 fps=5.2 q=12.0 size=    2526kB time=00:00:02.32 bitrate=8920.3kbits/s speed=0.203x    
[5/23/2022, 10:17:48 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   62 fps=5.2 q=12.0 size=    2651kB time=00:00:02.44 bitrate=8902.0kbits/s speed=0.203x    
[5/23/2022, 10:17:49 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   65 fps=5.2 q=12.0 size=    2776kB time=00:00:02.56 bitrate=8882.6kbits/s speed=0.203x    
[5/23/2022, 10:17:49 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   68 fps=5.1 q=13.0 size=    2894kB time=00:00:02.68 bitrate=8845.7kbits/s speed=0.203x    
[5/23/2022, 10:17:50 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   71 fps=5.1 q=12.0 size=    3021kB time=00:00:02.80 bitrate=8837.9kbits/s speed=0.203x    
[5/23/2022, 10:17:50 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   74 fps=5.1 q=13.0 size=    3140kB time=00:00:02.92 bitrate=8808.1kbits/s speed=0.203x    
[5/23/2022, 10:17:51 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   77 fps=5.1 q=13.0 size=    3257kB time=00:00:03.04 bitrate=8777.8kbits/s speed=0.202x    
[5/23/2022, 10:17:51 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   80 fps=5.1 q=13.0 size=    3376kB time=00:00:03.16 bitrate=8751.9kbits/s speed=0.202x    
[5/23/2022, 10:17:52 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   83 fps=5.1 q=12.0 size=    3495kB time=00:00:03.28 bitrate=8728.7kbits/s speed=0.202x    
[5/23/2022, 10:17:53 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   86 fps=5.1 q=13.0 size=    3610kB time=00:00:03.40 bitrate=8696.8kbits/s speed=0.202x    
[5/23/2022, 10:17:53 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   89 fps=5.1 q=12.0 size=    3734kB time=00:00:03.52 bitrate=8691.1kbits/s speed=0.202x    
[5/23/2022, 10:17:54 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   92 fps=5.1 q=13.0 size=    3854kB time=00:00:03.64 bitrate=8672.6kbits/s speed=0.202x    
[5/23/2022, 10:17:54 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   95 fps=5.1 q=12.0 size=    3976kB time=00:00:03.76 bitrate=8663.2kbits/s speed=0.202x    
[5/23/2022, 10:17:55 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   98 fps=5.1 q=13.0 size=    4097kB time=00:00:03.88 bitrate=8650.7kbits/s speed=0.202x    
[5/23/2022, 10:17:56 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  101 fps=5.1 q=13.0 size=    4218kB time=00:00:04.00 bitrate=8639.4kbits/s speed=0.202x    
[5/23/2022, 10:17:56 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  104 fps=5.1 q=14.0 size=    4324kB time=00:00:04.12 bitrate=8597.5kbits/s speed=0.202x    
[5/23/2022, 10:17:57 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  107 fps=5.1 q=13.0 size=    4445kB time=00:00:04.24 bitrate=8587.8kbits/s speed=0.202x    
[5/23/2022, 10:17:57 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  110 fps=5.1 q=13.0 size=    4565kB time=00:00:04.36 bitrate=8577.4kbits/s speed=0.202x    
[5/23/2022, 10:17:58 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  113 fps=5.1 q=13.0 size=    4685kB time=00:00:04.48 bitrate=8567.7kbits/s speed=0.202x    
[5/23/2022, 10:17:59 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  116 fps=5.1 q=13.0 size=    4806kB time=00:00:04.60 bitrate=8559.5kbits/s speed=0.201x    
[5/23/2022, 10:17:59 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  119 fps=5.1 q=13.0 size=    4927kB time=00:00:04.72 bitrate=8551.7kbits/s speed=0.201x    
[5/23/2022, 10:18:00 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  122 fps=5.1 q=13.0 size=    5044kB time=00:00:04.84 bitrate=8536.8kbits/s speed=0.201x    
[5/23/2022, 10:18:00 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  125 fps=5.1 q=13.0 size=    5162kB time=00:00:04.96 bitrate=8525.5kbits/s speed=0.201x    
[5/23/2022, 10:18:01 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  128 fps=5.1 q=13.0 size=    5277kB time=00:00:05.08 bitrate=8510.1kbits/s speed=0.201x    
[5/23/2022, 10:18:02 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  131 fps=5.1 q=13.0 size=    5392kB time=00:00:05.20 bitrate=8494.5kbits/s speed=0.201x    
[5/23/2022, 10:18:02 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  134 fps=5.1 q=13.0 size=    5508kB time=00:00:05.32 bitrate=8481.8kbits/s speed=0.201x    
[5/23/2022, 10:18:03 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  137 fps=5.1 q=13.0 size=    5628kB time=00:00:05.44 bitrate=8474.8kbits/s speed=0.201x    
[5/23/2022, 10:18:03 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  140 fps=5.1 q=13.0 size=    5745kB time=00:00:05.56 bitrate=8464.1kbits/s speed=0.201x    
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  143 fps=5.1 q=12.0 size=    5869kB time=00:00:05.68 bitrate=8464.5kbits/s speed=0.201x    
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] Stopped video stream.
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=  144 fps=5.0 q=13.0 Lsize=    5907kB time=00:00:05.72 bitrate=8459.3kbits/s speed= 0.2x    
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [AVIOContext @ 0x7f8c736aac80] [verbose] Statistics: 0 seeks, 48 writeouts
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [info] video:5841kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.115654%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose] Input file #0 (http://n.n.n.n:nnnn/?action=stream):
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose]   Input stream #0:0 (video): 144 packets read (7237149 bytes); 144 frames decoded; 
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose]   Total: 144 packets (7237149 bytes) demuxed
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose] Output file #0 (srtp://192.168.1.119:52098?rtcpport=52098&pkt_size=1316):
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose]   Output stream #0:0 (video): 144 frames encoded; 144 packets muxed (5981692 bytes); 
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [verbose]   Total: 144 packets (5981692 bytes) muxed
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [AVIOContext @ 0x55bd7ab08e80] [verbose] Statistics: 0 seeks, 4936 writeouts
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] frame I:1     Avg QP:10.00  size: 81579
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] frame P:143   Avg QP:12.50  size: 41260
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] mb I  I16..4: 100.0%  0.0%  0.0%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] mb P  I16..4: 12.0%  0.0%  0.0%  P16..4: 87.7%  0.0%  0.0%  0.0%  0.0%    skip: 0.3%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] final ratefactor: 12.08
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] coded y,uvDC,uvAC intra: 80.3% 79.8% 51.1% inter: 92.9% 74.7% 35.4%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] i16 v,h,dc,p: 29% 19% 34% 18%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] i8c dc,h,v,p: 47% 21% 24%  8%
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55bd7ab04900] [info] kb/s:8307.91
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] [AVIOContext @ 0x7f8c73614dc0] [verbose] Statistics: 7238597 bytes read, 0 seeks
[5/23/2022, 10:18:04 AM] [Camera FFmpeg] [FlashForge Adventure 4] FFmpeg exited with code: 0 and signal: null (Expected)
[Garage 7F73] The image snapshot handler for the given accessory is slow to respond! See https://homebridge.io/w/JtMGR for more info.
[Yard BF77] The image snapshot handler for the given accessory is slow to respond! See https://homebridge.io/w/JtMGR for more info.
[5/23/2022, 10:18:14 AM] [Camera FFmpeg] [FlashForge Adventure 4] Snapshot requested: 640 x 360
[5/23/2022, 10:18:14 AM] [Camera FFmpeg] [FlashForge Adventure 4] Snapshot command: /homebridge/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -f mjpeg -i http://n.n.n.n:nnnn/?action=stream -frames:v 1 -f image2 - -hide_banner -loglevel error
[5/23/2022, 10:18:15 AM] [Camera FFmpeg] [FlashForge Adventure 4] Fetching snapshot took 0.405 seconds.
[5/23/2022, 10:18:15 AM] [Camera FFmpeg] [FlashForge Adventure 4] Sending snapshot: 640 x 360
[5/23/2022, 10:18:15 AM] [Camera FFmpeg] [FlashForge Adventure 4] Resize command: /homebridge/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(640,iw)':'min(360,ih)':force_original_aspect_ratio=decrease -f image2 -

Homebridge Config:

                {
                    "name": "FlashForge Adventure 4",
                    "manufacturer": "FlashForge",
                    "model": "FlashForge Adventure 4",
                    "unbridge": true,
                    "videoConfig": {
                        "source": "-f mjpeg -i http://n.n.n.n:nnnn/?action=stream",
                        "maxWidth": 0,
                        "maxHeight": 0,
                        "maxFPS": 0,
                        "maxBitrate": 8192,
                        "forceMax": true,
                        "audio": false,
                        "debug": true
                    }
                }

Environment:

Node.js Version: v14.17.4 Homebridge Version: 1.4.1 Homebridge Camera FFmpeg Version: 3.1.4 Homebridge Config UI X Plugin Version: v4.45.0 Operating System: Alpine Linux (3.12.7)

Sunoo commented 2 years ago

Do you ever see video in the Home app? Do snapshots work?

SumolX commented 2 years ago

Yes, everything is working great. I get snapshots and a video stream.... but the stream eventually stops after a few seconds in the home app.

I can see from the log the server is still streaming but the video just stops on my iPhone X and my iPad.... when this happens on my iPad it displays "No response. This camera is not responding"

Sunoo commented 2 years ago

Odd, looking at the logs, it seems like it thinks you closed the video feed and that’s why it shut the stream down.

SumolX commented 2 years ago

I will capture a new set of logs in about an hour.

SumolX commented 2 years ago

I had previously disconnected but in this log i remain connected and it would seem the stream is still being sent... but the video on my phone has stopped.

[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] Video stream requested: 1280 x 720, 30 fps, 299 kbps
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] Starting video stream: native x native, native fps, 8192 kbps
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] Stream command: /homebridge/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -f mjpeg -i http://flashforge:8080/?action=stream -an -sn -dn -codec:v libx264 -pix_fmt yuv420p -color_range mpeg -f rawvideo -preset ultrafast -tune zerolatency -b:v 8192k -payload_type 99 -ssrc 6689290 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params asdfasdfasdfasdfsdaf srtp://n.n.n.n:nnnn?rtcpport=49521&pkt_size=1316 -loglevel level+verbose -progress pipe:1
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   built with gcc 9.3.0 (Alpine 9.3.0)
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [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
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavutil      56. 51.100 / 56. 51.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavcodec     58. 91.100 / 58. 91.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavformat    58. 45.100 / 58. 45.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavdevice    58. 10.100 / 58. 10.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libavfilter     7. 85.100 /  7. 85.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libswscale      5.  7.100 /  5.  7.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libswresample   3.  7.100 /  3.  7.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   libpostproc    55.  7.100 / 55.  7.100
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [tcp @ 0x7f49cb7d4bc0] [verbose] Starting connection attempt to n.n.n.n port nnnn
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [tcp @ 0x7f49cb7d4bc0] [verbose] Successfully connected to n.n.n.n port nnnn
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Input #0, mjpeg, from 'http://n.n.n.n:nnnn/?action=stream':
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Duration: N/A, bitrate: N/A
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Stream #0:0: Video: mjpeg (Baseline), 1 reference frame, yuvj422p(pc, bt470bg/unknown/unknown, center), 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 1200k tbn, 25 tbc
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Stream mapping:
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Press [q] to stop, [?] for help
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [graph 0 input from stream 0:0 @ 0x55612b522b80] [verbose] w:640 h:480 pixfmt:yuvj422p tb:1/1200000 fr:25/1 sar:1/1
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [auto_scaler_0 @ 0x55612b524300] [verbose] w:iw h:ih flags:'bicubic' interl:0
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [format @ 0x55612b523200] [verbose] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [swscaler @ 0x55612b57d5c0] [warning] deprecated pixel format used, make sure you did set range correctly
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [auto_scaler_0 @ 0x55612b524300] [verbose] w:640 h:480 fmt:yuvj422p sar:1/1 -> w:640 h:480 fmt:yuv420p sar:1/1 flags:0x4
[5/23/2022, 9:43:28 PM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55612b4d2900] [info] using SAR=1/1
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55612b4d2900] [info] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [libx264 @ 0x55612b4d2900] [info] profile Constrained Baseline, level 3.2, 4:2:0, 8-bit
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] Output #0, rtp, to 'srtp://n.n.n.n:nnnn?rtcpport=nnnn&pkt_size=1316':
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]   Metadata:
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     encoder         : Lavf58.45.100
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Stream #0:0: Video: h264 (libx264), 1 reference frame, yuv420p(tv, center), 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 8192 kb/s, 25 fps, 90k tbn, 25 tbc
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Metadata:
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]       encoder         : Lavc58.91.100 libx264
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]     Side data:
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info]       cpb: bitrate max/min/avg: 0/0/8192000 buffer size: 0 vbv_delay: N/A
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=    5 fps=0.0 q=11.0 size=     278kB time=00:00:00.16 bitrate=14233.3kbits/s speed=0.263x    
[5/23/2022, 9:43:29 PM] [Camera FFmpeg] [FlashForge Adventure 4] Getting the first frames took 1.16 seconds.
[5/23/2022, 9:43:30 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=    8 fps=6.6 q=11.0 size=     426kB time=00:00:00.28 bitrate=12468.8kbits/s speed=0.231x    
[5/23/2022, 9:43:30 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   11 fps=6.1 q=12.0 size=     561kB time=00:00:00.40 bitrate=11483.3kbits/s speed=0.221x    
[5/23/2022, 9:43:31 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   14 fps=5.8 q=12.0 size=     694kB time=00:00:00.52 bitrate=10931.4kbits/s speed=0.216x    
[5/23/2022, 9:43:32 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   17 fps=5.6 q=13.0 size=     820kB time=00:00:00.64 bitrate=10493.5kbits/s speed=0.212x    
[5/23/2022, 9:43:32 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   20 fps=5.5 q=13.0 size=     945kB time=00:00:00.76 bitrate=10189.3kbits/s speed=0.211x    
[5/23/2022, 9:43:32 PM] [Camera FFmpeg] [FlashForge Adventure 4] Received request to reconfigure: 640 x 360, 30 fps, 132 kbps (Ignored)
[5/23/2022, 9:43:33 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   23 fps=5.5 q=13.0 size=    1065kB time=00:00:00.88 bitrate=9916.3kbits/s speed=0.209x    
[5/23/2022, 9:43:33 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   26 fps=5.4 q=13.0 size=    1188kB time=00:00:01.00 bitrate=9733.1kbits/s speed=0.208x    
[5/23/2022, 9:43:34 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   29 fps=5.4 q=13.0 size=    1311kB time=00:00:01.12 bitrate=9590.7kbits/s speed=0.207x    
[5/23/2022, 9:43:35 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   32 fps=5.3 q=13.0 size=    1431kB time=00:00:01.24 bitrate=9454.8kbits/s speed=0.206x    
[5/23/2022, 9:43:35 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   35 fps=5.3 q=13.0 size=    1555kB time=00:00:01.36 bitrate=9366.5kbits/s speed=0.206x    
[5/23/2022, 9:43:36 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   38 fps=5.3 q=13.0 size=    1681kB time=00:00:01.48 bitrate=9302.2kbits/s speed=0.205x    
[5/23/2022, 9:43:36 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   41 fps=5.2 q=13.0 size=    1803kB time=00:00:01.60 bitrate=9232.4kbits/s speed=0.205x    
[5/23/2022, 9:43:37 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   44 fps=5.2 q=13.0 size=    1926kB time=00:00:01.72 bitrate=9174.0kbits/s speed=0.204x    
[5/23/2022, 9:43:38 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   47 fps=5.2 q=13.0 size=    2049kB time=00:00:01.84 bitrate=9123.5kbits/s speed=0.204x    
[5/23/2022, 9:43:38 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   50 fps=5.2 q=14.0 size=    2158kB time=00:00:01.96 bitrate=9020.1kbits/s speed=0.204x    
[5/23/2022, 9:43:39 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   53 fps=5.2 q=14.0 size=    2276kB time=00:00:02.08 bitrate=8965.7kbits/s speed=0.204x    
[5/23/2022, 9:43:39 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   56 fps=5.2 q=13.0 size=    2400kB time=00:00:02.20 bitrate=8935.5kbits/s speed=0.203x    
[5/23/2022, 9:43:40 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   59 fps=5.2 q=13.0 size=    2523kB time=00:00:02.32 bitrate=8909.1kbits/s speed=0.203x    
[5/23/2022, 9:43:41 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   62 fps=5.2 q=13.0 size=    2642kB time=00:00:02.44 bitrate=8870.8kbits/s speed=0.203x    
[5/23/2022, 9:43:41 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   65 fps=5.2 q=13.0 size=    2765kB time=00:00:02.56 bitrate=8848.9kbits/s speed=0.203x    
[5/23/2022, 9:43:42 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   68 fps=5.1 q=13.0 size=    2890kB time=00:00:02.68 bitrate=8834.0kbits/s speed=0.203x    
[5/23/2022, 9:43:42 PM] [Camera FFmpeg] [FlashForge Adventure 4] [info] frame=   71 fps=5.1 q=13.0 size=    3004kB time=00:00:02.80 bitrate=8787.7kbits/s speed=0.203x  
Sunoo commented 2 years ago

Can you try either a lower bitrate or removing forceMax and see if it behaves any better?

SumolX commented 2 years ago

I tried lowering the bitrate with and without forceMax and saw no difference.

                {
                    "name": "FlashForge Adventure 4",
                    "manufacturer": "FlashForge",
                    "model": "FlashForge Adventure 4",
                    "unbridge": true,
                    "videoConfig": {
                        "source": "-f mjpeg -i http://n.n.n.n:nnnn/?action=stream",
                        "maxBitrate": 768,
                        "audio": false,
                        "debug": true
                    }
                }
SumolX commented 2 years ago

Just adding this tidbit of information as it maybe related depending on the version of ffmpeg is distributed with this plugin.

https://trac.ffmpeg.org/ticket/8211

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

KyokushinPL commented 1 year ago

I have similar issue.