H.265 encoding is supported on certain Illustra cameras which have been added as model specific. It is configured using Cloudvue (Settings > Device > Edit > Video > Archive Video Codec).
All other cameras, including Illustra cameras added as ONVIF must be configured to use H.264.
H.264 (MPEG-4 AVC) and H.265 (MPEG-4 HEVC) are MPEG video standards. H.265 is the newer of these standards.<br><br>
What is Motion JPEG?
Motion JPEG is a compression format that is older than H.264/H.265 and was created as a version of the still image JPEG format for video use. It is often shortened to just JPEG in video applications.<br><br>
Why choose H.264/H.265 over Motion JPEG?
Motion JPEG ignores frame-to-frame data redundancy. When using Motion JPEG, each video frame is compressed using JPEG. The Motion JPEG video stream is then presented by displaying each frame in order.
H.264/H.265 improved upon this by using compression algorithms that compare frame-to-frame data to help eliminate the transmission of redundant data.
Both provide video compression far greater than Motion JPEG without sacrificing image quality.
Greater compression means big savings in terms of your network’s bandwidth consumption and the amount of space required to store recorded video on an NVR over Motion JPEG. Decreasing the amount of storage space needed will lead to longer retention times without increasing storage capacity. This aspect is even more important when considering use cases that require high numbers of cameras, high frame rates, and long retention times.
The following graph shows a comparison of three identical model 2MP cameras set to 15 frames per second, running the same firmware version. However, each camera is set to a different recording format. The camera set to Motion JPEG is shown at the top, in red. Below, the H.264 stream is shown in blue, and the H.265 stream just under that in green. The changes in data correspond with a person walking through the scene.
ExacqVision records files in 5 minute increments. Examining the files created from these 2MP cameras recording continuously for 5 minutes and then extrapolating their file sizes over the course of 24 hours, and 1 year, the amount of storage space saved is considerable.
5 minutes (KB)
24 hours (GB)
1 year (TB)
Motion JPEG
705,453
203.17
74.2
H.264
32,132
9.25
3.4
H.265
21,966
6.3
2.3
<br><br>
How does H.264 work?
As mentioned Motion JPEG compresses each frame individually and all frames are essentially equal. H.264 and provides for multiple types of frames.
I-frames are somewhat similar to a Motion JPEG frame. An I-frame contains all the data needed and can be decoded without reference to any other frames. H.264 always begins with an I-frame, and you’ll learn why in a moment. These I-frames occur at regular intervals in the video. A camera’s GOV, or GOP, rate sets the distance between each I-frame.<br><br>
P-frames lie between the I-frames. P-frames reference the previous I-frames and are smaller because they only include the regions which have changed. This provides a huge benefit over Motion JPEG because you are not retransmitting data that hasn’t changed.
Imagine a scene in which a building is in the background and a person enters the field of view. The camera is not moving, nor is the building, so the pixels making up the part of the image where the building stands do not need to be sent again. Instead, only those pixels representing the person that entered the scene are sent and these replace the pixels in the image displayed to you.<br><br>
B-frames are not provided by all applications or video devices. B-frames occur in between I-frames and P-frames, or between multiple P-frames. B-frames are predictive in nature. They refer not only to previous frames but to future frames as well. For this reason implementing B-frames is not always used in live video applications since there is a slight delay introduced due to the need to wait for additional frames to arrive before the B-frame can be created. When only I-frames and P-frames are used, it is referred to as an H.264 baseline stream.
H.264 compression is performed by processing and compressing the frames in regularly sized ‘macroblocks’ of 4 to 16 pixels, which are further broken down into smaller blocks for compression. The main takeaway is that the image frame is divided up in very regularly sizes areas.<br><br>
How does H.265 work?
H.265 includes the same types of frames as mentioned above, but it improves over H.264 by providing the ability to dynamically size the regions the frame is broken up into. Rather than the macroblocks, transform blocks, and prediction blocks of H.264, these dynamically sized areas are named Coding Tree Units (CTUs). This usually translates into more efficient compression than H.264 because the frame can be compressed more heavily in some areas than others when needed.
Illustrated below, H.264 on the left breaks up the image into equal blocks for compression. Whereas, on the right, H.265 divides the image into dynamically sized regions to better compress those regions based on what is in them.
Some cameras are capable of creating large frame sizes. There are two issues that can be encountered by unreasonably large frame sizes.
As frame size increases the likelihood of the exacqVision recorder throttling increases.
A frame size > 4MB will cause exacqVision to display “Acquiring Video” message instead of the actual video stream. This has been known to be an issue with certain Arecont Cameras which are capable of producing large frame sizes.
<br>
Resolution
To reduce frame sizes:
Use H.264 encoding
Reduce the image quality level
Ensure lighting is adequate, (natural or IR)
For Arecont Cameras check the following settings:
Increase the low-light noise filter from the default (50) to the maximum (100). This setting can be changed on the Image tab for a single-sensor camera, or the Settings window for panoramics. (http://{IPADDRESS}/set?spacialfilter=100 works for both types)
Change the exposure mode from the default (Balanced) to Quality. This setting can be changed in the same location as the low-light noise filter. (http://{IPADDRESS}/set?lowlight=quality for single-sensor cameras, or http://{IPADDRESS}/set{n}?lowlight=quality, where “{n}” is a setting from 1-4, for panoramics)
Turn on binning mode in night mode. This setting can be changed on the Image tab for a single-sensor camera, or the Settings window for panoramics.
H.264 compression uses a Group of Pictures (GOP) or Group of Video (GOV) to define how many P-frames are sent between each I-frame. (I-frames are complete pictures, whereas P-frames are partial frames reconstructed based on the last I-frame and all the P-frames in between.) Time-lapse recording stores I-frames. If time-lapse recording is configured at short intervals (about 30 seconds or less) on H.264/MPEG-4, time-lapse scheduling might not be able to record as fast as desired.
To ensure time-lapse records at the desired rate, the camera must be configured for a GOP/frame rate setting equal to or less than the time-lapse setting, in seconds. For example, suppose you have a camera with a GOP of 30 configured to record 5 frames per second (fps), which produces an I-frame once every 6 seconds (30 divided by 5). In this case, time-lapse recording cannot capture I-frames more than once every 6 seconds. Thus, the time-lapse interval must be greater than 6 seconds. If you want to record time-lapse video at shorter interval, you must reduce the GOP setting.
When a Panasonic camera is configured for Internet mode (over HTTP) when using H.264 or MPEG-4 compression, the camera’s trigger inputs do not work correctly. The triggers are in a normally open state by default, but they do not enter an alarm state when the circuit is closed.
Yes. eDVR systems use MPEG-4 Advanced Simple Profile by default, and sDVR systems use H.264 by default. To configure the system, complete the following steps for your system type.
<br>
eDVR Systems
Stop the exacqVision Server in Service Control Manager or by running sudo /etc/init.d/edvrserver stop.
Open c:\windows\XDVAPI.ini in Notepad or run sudo nano /usr/local/xdvapi/etc/XDVAPI.ini.
Add MPEG = 0x2C00 in the [config] section. The default value, if missing, is 0x0C00.
Save and exit.
Restart the exacqVision Server.
<br>
sDVR Systems
Stop the exacqVision Server in Service Control Manager or by running sudo /etc/init.d/edvrserver stop.
Open c:\windows\stretch.conf in Notepad or run sudo nano /etc/stretch.conf.
Find the board in your system and add MPEG4=”1″ to the XML element. The default value, if missing, is 0.