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 live 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 bugs 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 0x0000116
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:
- Click on the menu Start.
- Right click on Computer. Select Features.
- Choose Advanced system settings in the left pane.
- On the tab Advanced you must under Booting and restoring click on Settings.
- 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.
[contact-form-7 id="7″ title="Contact Form 1″]
About the author and Copenhagen Streaming:
Johan is an expert in live streaming and he has built and stress tested countless encoders. Copenhagen Streaming is a production company focusing on live streaming, video for business and video content for social platforms. Copenhagen Streaming has 20 years of experience with live streaming for companies like Danske Bank and Danmarks Radio.
An example of error in MemTest86. The red lines show the faulty addresses in the RAM modules.
An example of a FATAL ERROR in Prime95.
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.
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.
When Windows starts after a BlueScreen you will get a message similar to the above.