What does BI Send to Camera?
What does BI Send to Camera?
I am evaluating BI5 for my VMS and I'm having trouble getting the most out of my old IP camera (AerecontVision 3MP AV3256) which I have on a dedicated subnet/ethernet card.
When I run via my old NVR (GeniusVision), or VLC I get 12FPS and receive~28Mbps from the camera. No data is sent to the camera. None.
When I run via BI5, I get 6FPS and receive ~18Mbps from the camera, while 250Kbps of data is sent to the camera.
My current theory is that the camera wastes a lot of time dealing with whatever BI5 is sending and this degrades its frame rate. Does anyone know what BI5 is doing here? Can I turn it off somewhere? I suppose I could setup a packet sniffer, but thought I'd ask first.
All three systems use the same rtsp://192.168.1.2/h264.sdp?res=full&x0=0&y0=0&x1=2048&y1=1536&bitrate=32000&mic=on&doublescan=0&ssn=3814
The camera was choking regularly until I disabled "Send RTSP keep-alives". I tried RTP/UDP which had a high receive rate initially, but stopped after only a few seconds.
Thanks in advance -- Bob
P.S. My system is a bit old but still pretty fast i7-4770K 4C/8T@3.5GHz with 32GB of memory running nothing but BI5 with one camera on Windows 10 Home.
When I run via my old NVR (GeniusVision), or VLC I get 12FPS and receive~28Mbps from the camera. No data is sent to the camera. None.
When I run via BI5, I get 6FPS and receive ~18Mbps from the camera, while 250Kbps of data is sent to the camera.
My current theory is that the camera wastes a lot of time dealing with whatever BI5 is sending and this degrades its frame rate. Does anyone know what BI5 is doing here? Can I turn it off somewhere? I suppose I could setup a packet sniffer, but thought I'd ask first.
All three systems use the same rtsp://192.168.1.2/h264.sdp?res=full&x0=0&y0=0&x1=2048&y1=1536&bitrate=32000&mic=on&doublescan=0&ssn=3814
The camera was choking regularly until I disabled "Send RTSP keep-alives". I tried RTP/UDP which had a high receive rate initially, but stopped after only a few seconds.
Thanks in advance -- Bob
P.S. My system is a bit old but still pretty fast i7-4770K 4C/8T@3.5GHz with 32GB of memory running nothing but BI5 with one camera on Windows 10 Home.
Re: What does BI Send to Camera?
I don't believe that BI controls the video stream formatting at all. The camera settings page will set the main stream and sub-stream formats and then BI just ingests them as is.
BI does interact with the camera via the ONVIF protocol when needed.
BI does interact with the camera via the ONVIF protocol when needed.
Re: What does BI Send to Camera?
My post above assumes that BI is set to record "direct-to-disk" which means just take whatever is ingested and write it to disk.
There is a setting (hardly ever used anymore) where BI can re-encode the stream prior to writing it to disk. With the new architecture of BI there is really never an upside to doing this anymore.
If you are using the demo version of BI then maybe d2d is not available.
There is a setting (hardly ever used anymore) where BI can re-encode the stream prior to writing it to disk. With the new architecture of BI there is really never an upside to doing this anymore.
If you are using the demo version of BI then maybe d2d is not available.
Re: What does BI Send to Camera?
Is the stream URL with the hardcoded bitrates and frame size something that BI detected when you pressed Find / Inspect?
I wonder if this is the set of instructions that is not needed and is sent to the camera a lot, and the camera interprets it every time, and tries to set the settings, and falls behind on streaming?
I wonder if this is the set of instructions that is not needed and is sent to the camera a lot, and the camera interprets it every time, and tries to set the settings, and falls behind on streaming?
Re: What does BI Send to Camera?
Thanks for your input! RE: D2D, I believe I have enabled that feature (even though DEMO):
This command increases the frame rate to about 15fps, but decreases receive data to about 5Mbps (BI still sends about 150Kbps to the camera). The image quality is noticeably worse and compression artifacts are evident.
It seems like BI is sending something unnecessary/repetitive to the camera. If I could get the same images I get in VLC I would be very happy. 28Mbps may be a lot, but I have a ton of disk space, so I can handle it, and zooming into still frames is very satisfying. That said, it could be time for a new camera, but I worry that BI has flaw if it is always sending data to the camera instead of just absorbing the stream the way VLC does.
Thanks -- Bob
P.S. It is currently sending ~400Kbps to my camera. What could it be doing???
When I use the Find/Inspect command, BI produces: /h264.sdp?profile=profile_1;sessiontimeout=0This command increases the frame rate to about 15fps, but decreases receive data to about 5Mbps (BI still sends about 150Kbps to the camera). The image quality is noticeably worse and compression artifacts are evident.
It seems like BI is sending something unnecessary/repetitive to the camera. If I could get the same images I get in VLC I would be very happy. 28Mbps may be a lot, but I have a ton of disk space, so I can handle it, and zooming into still frames is very satisfying. That said, it could be time for a new camera, but I worry that BI has flaw if it is always sending data to the camera instead of just absorbing the stream the way VLC does.
Thanks -- Bob
P.S. It is currently sending ~400Kbps to my camera. What could it be doing???
Re: What does BI Send to Camera?
So I tried RTP/UDP mode again with a few different ports. It works great for about 5 seconds. 28Mbps receive and 0 send. Then it just stops. After 20 secs or so it restarts, but then fails after 5 and the cycle repeats.
Hmmm. --Bob
Hmmm. --Bob
Re: What does BI Send to Camera?
I think that a 28MBps surge you see at times is a buffer of sorts clearing. According to this calculator (I think it is the most accurate one out there): https://www.security.us.panasonic.com/s ... calculator you only use about 4.2 Mbps for sustained 3Mpx h264 streaming at 15 fps.
If you clocked 28Mbps before with the NVR, could it be that it instantiated several streams from the same camera?
Unless we are off an order of magnitude and talk about Kbps vs kBps (which is what BI shows us).
If you clocked 28Mbps before with the NVR, could it be that it instantiated several streams from the same camera?
Unless we are off an order of magnitude and talk about Kbps vs kBps (which is what BI shows us).
Re: What does BI Send to Camera?
My current goal is to make BI work as well as VLC (https://www.videolan.org/). Is this not a standard tool for evaluating camera streaming settings?
With my rtsp command, VLC receives data from the camera at ~28Mpbs and the picture is fantastic. VLC does not send any data to the camera.
I understand that I can run my camera at lower bitrates, but the picture quality suffers and I have designed my setup for maximum quality. In that regard, my current BI setup is somewhat disappointing. I'm convinced it has something to do with the~400Kbps that BI is sending to the camera.
I guess I'll install wireshark and start comparing BI to VLC!
--Bob
With my rtsp command, VLC receives data from the camera at ~28Mpbs and the picture is fantastic. VLC does not send any data to the camera.
I understand that I can run my camera at lower bitrates, but the picture quality suffers and I have designed my setup for maximum quality. In that regard, my current BI setup is somewhat disappointing. I'm convinced it has something to do with the~400Kbps that BI is sending to the camera.
I guess I'll install wireshark and start comparing BI to VLC!
--Bob
Re: What does BI Send to Camera?
Okay, I installed wireshark and here are the reults:
VLC is extremely clean:
14 RTP PT=DynamicRTP-96 UDP packets from port 37078 to port 62432 with 1456bytes each
1 RTP PT=ITU-T UDP packet from port 37078 to port 54874 with 172bytes
Video: 850 packets per second, Audio: 50 packets/sec. There are no acks.
BI5 is much messier:
14 RTP PT=DynamicRTP-96 TCP packets from port 554 to port 49940 with 1460 bytes each
1 RTP PT=ITU-T TCP packet from port 554 to port 49940 with 176bytes
also, BI5 sends (interspersed between received packets):
8 TCP ACK from port 49940 to port 554 (54bytes)
Video: 625 packets/sec, Audio: 50 packets/sec, Acks: 350 packets/sec (also, 0.7% of packets are retransmitted)
Not sure why only half of the packets get acked, but this definitely explains what BI is sending to the camera and why everything slows down.
Obviously UDP is just a more efficient protocol. I guess the next question is why BI won't run my camera in UDP mode.
Okay, after analyzing the packets, it appears that my camera shuts down after 10 seconds and resets the connection (TCP ACK/RST)! Why doesn't my camera like BI? It likes VLC just fine!
After a little more digging, I discovered that VLC sends a "Receiver Report" RTCP packet for each source (video, audio) every 5 seconds but BI does not. The report tells the sender the highest sequence number received and some other minor details (interarrival jitter?). Apparently, the receiver report is required by my camera to continue sending the data streams.
Okay, is there a different forum I should move this information to get the author to address this issue? Thanks -- Bob
P.S. Wireshark is awesome!
VLC is extremely clean:
14 RTP PT=DynamicRTP-96 UDP packets from port 37078 to port 62432 with 1456bytes each
1 RTP PT=ITU-T UDP packet from port 37078 to port 54874 with 172bytes
Video: 850 packets per second, Audio: 50 packets/sec. There are no acks.
BI5 is much messier:
14 RTP PT=DynamicRTP-96 TCP packets from port 554 to port 49940 with 1460 bytes each
1 RTP PT=ITU-T TCP packet from port 554 to port 49940 with 176bytes
also, BI5 sends (interspersed between received packets):
8 TCP ACK from port 49940 to port 554 (54bytes)
Video: 625 packets/sec, Audio: 50 packets/sec, Acks: 350 packets/sec (also, 0.7% of packets are retransmitted)
Not sure why only half of the packets get acked, but this definitely explains what BI is sending to the camera and why everything slows down.
Obviously UDP is just a more efficient protocol. I guess the next question is why BI won't run my camera in UDP mode.
Okay, after analyzing the packets, it appears that my camera shuts down after 10 seconds and resets the connection (TCP ACK/RST)! Why doesn't my camera like BI? It likes VLC just fine!
After a little more digging, I discovered that VLC sends a "Receiver Report" RTCP packet for each source (video, audio) every 5 seconds but BI does not. The report tells the sender the highest sequence number received and some other minor details (interarrival jitter?). Apparently, the receiver report is required by my camera to continue sending the data streams.
Okay, is there a different forum I should move this information to get the author to address this issue? Thanks -- Bob
P.S. Wireshark is awesome!
Re: What does BI Send to Camera?
Hi Bob, this is the one and only official Blue Iris forum. It is however a user to user forum in the main, so I suggest you send an email to Support with your findings.
I believe licenced users are prioritised, as we are asked to add in our licence details to the email - but that could be an anti-spam filter.
I believe licenced users are prioritised, as we are asked to add in our licence details to the email - but that could be an anti-spam filter.
Forum Moderator.
- Please see Self Help Content.
- Have you checked for your issue in the built in BI5 help file ? Or online here.
- Support feedback: Startup Configuration Guide - The Solution to Most Issues