<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://blueirissoftware.com/forum/app.php/feed/topic/2462" />

	<title>Blue Iris</title>
	<subtitle>Blue Iris User Group</subtitle>
	<link href="https://blueirissoftware.com/forum/index.php" />
	<updated>2021-07-19T19:33:33+00:00</updated>

	<author><name><![CDATA[Blue Iris]]></name></author>
	<id>https://blueirissoftware.com/forum/app.php/feed/topic/2462</id>

		<entry>
		<author><name><![CDATA[varghesesa]]></name></author>
		<updated>2021-07-19T19:33:33+00:00</updated>

		<published>2021-07-19T19:33:33+00:00</published>
		<id>https://blueirissoftware.com/forum/viewtopic.php?p=9742#p9742</id>
		<link href="https://blueirissoftware.com/forum/viewtopic.php?p=9742#p9742"/>
		<title type="html"><![CDATA[Performance: Blue Iris Tuning]]></title>

		
		<content type="html" xml:base="https://blueirissoftware.com/forum/viewtopic.php?p=9742#p9742"><![CDATA[
<span style="font-size:150%;line-height:116%">Introduction</span><br><br>This article helps explain the levers that are available to setup your BI server to run optimally.  If your CPU usage is high, &gt;80%, this article can help identify optimizations.  Ideally, BI should be running less than 50%.  <br><br><span style="font-size:150%;line-height:116%">BI Optimizations</span><br><br>First, walk through the <a href="viewtopic.php?f=12&amp;t=2080" class="postlink">Windows Tuning article</a> just to make sure Windows is not in conflict with BI.  <br><br>Below are the general steps to tune your system if you want to confirm everything is setup optimally.<ul><li>For all the cameras you need to have healthy video streams and setup dual streams for the high res cameras(2MP+).  <br>Follow the Connect cameras correctly section of the <a href="viewtopic.php?f=11&amp;t=2426" class="postlink">Checklist</a>.</li><li>Record direct to disk not re-encode.  Camera settings -&gt; Record tab -&gt; Video file format and compression.<div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=1496" class="postimage" alt="D2D2.png" onclick="viewableArea(this);" /></dt></dl></div><br><br>Confirm all video paths still work.  See <a href="viewtopic.php?f=11&amp;t=2424" class="postlink">Blue Iris Streaming Overview</a> for all video paths.  For example, Live view to console, Playback to console, Live view to remote endpoint (UI3, Mobile app), etc.</li><li>Hardware Video Acceleration:  Turn on hwva for various parts of the video path for your cameras.<br>As stated above, confirm all video paths still work.<br><br>Enabling Hardware Acceleration is very dependent on how well the hardware performs with YOUR cameras.  Only way to know for sure is to test.<br><br><span style="font-size:150%;line-height:116%">Legacy settings</span><br><br>With dual streams and D2D recordings, the need for "Limit decoding unless required" is largely no longer needed since you get such HUGE CPU savings with these two new features. They remain in the software for backwards compatibility for those users that have not upgraded their hardware or updated their software.<br><br>Limit decoding gotcha: Limit decoding to save CPU usage tells BI to only decode key frames and ignore the rest. <br>Keep in mind if you have a key frame ratio less than one, you will notice artifacts with the Limit decoding setting. In particular, a common key frame ratio of 0.5 means a key frame is sent to BI every 2s. By doing so, the camera stream will only update every 2s in the live view. You many not notice this, unless you have the clock overlay. You will suddenly notice the clock increments every other second instead of every second!<br><br>Also BVR gotcha: Hardware acceleration is great when you are encoding / decoding steady streams.  It is often turned off in playback mode (Also BVR setting) because in playback, users are frequently stopping, rewinding, skipping forward in order to find the point of interest.  This use case is not conducive for hardware acceleration. <br><br><span style="font-size:150%;line-height:116%">Final thoughts</span><br><br>This article progressively moves you through the steps needed to optimize camera connections.<br><br>Camera settings -&gt; D2D Recordings -&gt; Hardware acceleration.<br><br>When troubleshooting, work backwards, simplify the problem and see if the streams improve.  By working backwards, you can identify the issue.<br><br><span style="text-decoration:underline">Turn off hardware acceleration -&gt; Switch recording back to re-encode -&gt; Adjust camera settings</span><ul><li>Turn off hardware acceleration.  Camera settings -&gt; Video tab -&gt; Hardware decode.  Set to No.  Does the live video / streams improve?</li><li>Switch back to Re-encode in recording settings.  Does playback improve?</li></ul><span style="font-size:150%;line-height:116%">Hardware Acceleration Gotchas</span><br><br><strong class="text-strong">Example 1:  GPU improves quality.</strong><br><br>You never know if your hardware acceleration will work in your environment until you test with your cameras.  For example, observe the image from this high resolution camera from the camera's app.  The colors and contrast are very vibrant.  <br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=1497" class="postimage" alt="camera app.jpg" onclick="viewableArea(this);" /></dt></dl></div><br>Below is a side by side comparison of BI software decode vs Nvidia decode.<br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=1498" class="postimage" alt="hardware-decode_optimized.png" onclick="viewableArea(this);" /></dt></dl></div><br>The color and contrast looks equivalent to the camera app from the Nvidia decoder!  Because the Nvidia card provided a better stream, the customer also turned on Video settings -&gt; Also BVR.  This was a case where the Also BVR setting was enabled because the quality and thus user experience was improved, not because the customer was hoping for CPU savings.<br><br><strong class="text-strong">Example 2:  GPU leads to artifacts.</strong><br><br>Sometimes, the GPU decoding can lead to artifacts.<br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=1499" class="postimage" alt="gpu artifacts.png" onclick="viewableArea(this);" /></dt></dl></div><br>Because the hardware acceleration was decreasing the quality and user experience, this customer chose to turn off hardware acceleration for this camera.  The server could handle the additional CPU load and the customer was more concerned about the quality of the user experience.</li></ul><p>Statistics: Posted by <a href="https://blueirissoftware.com/forum/memberlist.php?mode=viewprofile&amp;u=521">varghesesa</a> — Mon Jul 19, 2021 7:33 pm</p><hr />
]]></content>
	</entry>
	</feed>
