Stability is everything and more

The article focuses on how to fix stability problems by helping you interpret error codes.

The article helps you fix instability issues so you can live stream events without worrying unnecessarily about system crashes on your live encoder. Live streaming uses a lot of system resources and it is therefore crucial that you have stress-tested your livestreaming encoder thoroughly. Copenhagen Streaming's tips for a stable live encoder can be used whether you use Wirecast, vMix, OBS, or hardware integrated with solutions from Digital Rapids, Imagine Communication or ATEME. To fully benefit from the article, it would be beneficial to ally with an IT-savvy colleague or friend.

In the previous article "How to test encoder stability" we looked at how to identify problems with instability on a live encoder running Wirecast or similar encoding software. In this follow-up post, we look at how to use the errors to identify the underlying problems and how to overcome them.

We start with errors reported in Memtest86. If your MemTest86 presents you with red lines with address errors, then your RAM is either configured incorrectly or one or more modules are defective. You can change the RAM settings in the system BIOS/UEFI. You should also check if the RAMs in the system are compatible with the motherboard. Most manufacturers have a Qualified Vendor List (QVL) that you can use as a reference.

When you stress-test in Prime95 you may encounter error messages like these:

"rounding was 0.5 less than 0.4"

"hardware failure detected consult stress.txt file"

It is usually associated with a misconfigured CPU (too high frequency or too low voltage) or RAM that is not configured correctly. It may also be due to a hardware failure of the CPU or RAM, in which case it must be replaced.

How to troubleshoot a "Blue Screen" (BSOD)

Are you presented with a blue screen (BSOD)  when testing in Prime95 or AIDA64, the source of error is most likely still a CPU e/RAM. If, on the other hand, you can successfully run both MemTest86, Prime95 and AIDA64 for about 24 hours each, but get an error in FurMark or Dota 2, then this indicates a fault with the graphics card or its driver.

If a BSOD occurs in more general use of the live encoder, it is necessary to make use of the error code as an indication of what the problem is. An error code like this might look like this:

  • BSOD 0x00007B
  • BSOD 0x000001
  • BSOD 0x000024
  • BSOD 0x000000116

Unfortunately, Windows is set to restart automatically after a BSOD, and this gives you poor conditions for troubleshooting. To turn this off, you can follow this procedure in Windows which is more or less the same for Windows 7 - 10:

  1. Click on the menu Start.
  2. Right click on Computer. Select Features.
  3. Choose Advanced system settings in the left pane.
  4. On the tab Advanced and then under Booting and restoring click on Settings.
  5. At System error you must uncheck the Automatic restart .

Now you have time to note the error code and the driver that may be mentioned along with the encoding. A Google search for error code and driver will often help you figure out what is causing the problem and what it will take to fix it. If your system is a closed system like a pre-built computer or laptop, there may be others with the exact same hardware who have had the same problem. Combine the error code with the laptop model e.g. "0x0000007B dell inspiron 2200" and see what others have done to solve a similar problem.

Poor performance of live encoder may be due to limited thermal conduction

If you find that the speed of CPU or GPU is consistently slowed down, also called "throttling", it is often a sign that the cooling of the system components is deficient. If the live encoder generates more heat than it can dissipate, the speed will be automatically slowed down. This can be a significant problem if, for example, you have only been testing the execution of a Wirecast 7 project for a short time. After a longer period of time, you might notice that the encoder's speed slows down and that the CPU load increases dramatically. It is not recommended to try to bypass CPU throttling. Instead, the problem should be solved by providing better cooling for the actual components. This may be difficult in a laptop, but in a desktop computer there is ample opportunity to install better cooling profiles and fans.

If you make sure that the cooling is sufficient, you don't risk that Wirecast suddenly goes from 50 % CPU-load to 80 % CPU-load, due to less available resources, in the middle of the live-streaming of an event.

Copenhagen Streaming is ready to help with your live encoder

We have years of experience in building stable live encoders and stability testing hardware. If you would like our help testing or building live streaming encoders, please reach out to us and send us a message below.

MemTest86

Error in MemTest86. Copenhagen Streaming uses MemTest86 to stability test RAM in live encoders. The picture shows MemTest86+ (plus) which used to be very popular but unfortunately is no longer maintained.

An example of error in MemTest86. The red lines show the faulty addresses in the RAM modules.

Prime95

Error in Prime95. Prime95 one of our favorite tools for stability testing encoders. It stresses both CPU, RAM and motherboard.

An example of a FATAL ERROR in Prime95.

Furmark

Errors in FurMark often appear as artifacts. This is often a sign of incorrect settings on the graphics card, but can also show up in hardware failures.

The black, blue and brown squares and triangles are graphic errors in Furmark. They are also called artifacts. In this case, the graphics card manufacturer has overclocked the graphics card so that it is running at too high a frequency by default.

Dota 2

Dota 2 excels at revealing driver-level instability, and at Copenhagen Streaming we see it as a great way to get away from work in a fairly effective way.

BlueScreen's on a live encoder often show up due to driver instability. In this case, nvlddmkm.sys refers to an unstable Geforce driver version.

Games can be an excellent way to test the stability of a system and in particular the graphics card.

In this case, Dota 2 has been a good tool for detecting graphics card-related driver errors. The BSOD error above relates to nvlddmkm.sys. A Google search shows that this file is from the Nvidia Geforce driver package. A further search shows that version 353.30 is causing this error and that the previous driver 350.12 is more stable.

 

After a BlueScreen, Windows will display this dialog box on the encoder.

When Windows starts after a BlueScreen you will get a message similar to the above.

About live streaming

Read more about livestreaming in general here and how companies use it for communication.