Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Frequently Asked Questions

Michael Fabian Dirks edited this page Oct 13, 2019 · 61 revisions

Ever wondered if the question you bugged someone with has already been answered? Wonder no longer! This page is the page for questions that have been asked over and over again!

Basics

Problems & Solutions

Other Stuff

Questions and Answers

Q: What does this plugin do and why do I need it?

Q: Why does this plugin exist?
Q: What does this allow me to do?
Q: Do I need to manually install this plugin?

The AMF Encoder Plugin is meant as a replacement for the Media Foundation based AMD Encoder that often under-performed and didn't reach peak performance levels at all times. Since OBS Studio 0.16.x it has been merged into OBS Studio and has replaced the Media Foundation encoder entirely, and updates to the plugin are often merged into the next OBS Studio hotfix while also being released separately.

With this plugin you will be able to use your AMD GPU or APU to encode Video using H264 or H265, thus reducing your CPU usage drastically while also sacrificing some video quality. It is very flexible in terms of configuration and exposes all options available to developers as user-friendly and documented options to you.

Q: Is this free? Can I use this in commercial environments?

Yes, it is completely free as it is licensed under the GPLv2. You are free to modify and redistribute the software to others including commercial partners. If you're using this plugin, feel free to send me a message about what you're using it for. I'd love to see what you are using this plugin for!

Q: I have the plugin, how do I use it now?

The plugin is integrated with both Output Modes in OBS Studio, which means that for 'Simple' mode you have to select 'Hardware (AMD)', while in advanced mode you have to select 'H264 Encoder (AMD Advanced Media Framework)' for Streaming. There is also a H265 Encoder if your GPU or APU supports it. Configuring is fairly simple and the H264 Encoder even comes with presets to base your configuration on.

Q: There's too many options, what do they all do?

The plugin has help tool-tips for all options for the Encoder, which explain the very basics of what an option does. For a deeper understanding, please consider reading the H264 or H265 specification and the plugins Source Code.

For users that are for some reason stuck on 1.4.x or earlier, you can find information on this wiki page. Please be aware that those plugin versions are not supported.

Q: Is it possible to achieve x264 quality with this?

It is not possible to be exactly identical to x264, but the AMD Encoder usually has similar quality to x264 superfast. Nvidia's H264 encoder is equal or often beats x264 veryfast, and Intels QSV H264 Encoder is also equal to x264 superfast on Haswell, but may have improved since then. As hardware vendors usually keep this feature locked down we are unlikely to see any improvements from strict open source implemented in their hardware.

Q: Are other color formats than NV12 supported?

The Hardware encoder only supports NV12 at the moment, any other color format will have to be converted which usually results in less performance or outright broken experiences.

Q: Why are older Drivers no longer supported?

Due to an increase in crash reports usually from users with old or even ancient (>1 year out of date) drivers, the decision was made to no longer load the plugin on those systems. This also reduced the amount of code necessary to maintain as backwards compatability is only necessary for the UI instead of both the UI and the encoder.

Q: Why is OBS Studio crashing when i click Stream/Record?

Q: OBS Studio crashes when i click Stream/Record!

There are various reasons for crashes, most of them are from the system itself:

  • The Intel GPU Driver is known to crash, to solve this you have to uninstall the Intel GPU Driver completely using Display Driver Uninstaller.
  • Sometimes AMD optional Drivers introduce crashes, in these cases it is recommended to go back to the latest stable driver and report these crashes to AMD using their Driver tool.
  • Overclocking, hardware or software modding and other unstable configuration changes are also known to cause crashes.
  • It might actually be a bug in the plugin or the software using the plugin.

Q: What is causing my settings to be changed?

Q: My settings keep getting changed!

If you have a Preset selected in the H264 Encoder, the Preset will constantly try to keep the new value within certain limits. The exact limits of the presets can be found in code, but if you want to get rid of these limits you will have to clear the Preset option. Once you cleared the Preset option you should be free to put in whatever you wish.

If this happens without a Preset selected, it is possible that the value is outside of the valid range for your GPU. In this case the Plugin itself and OBS Studio is trying to prevent you from putting in a wrong value.

Q: Why does my stream/recording look darker or wrong?

Q: Colors in my Stream/Recording are wrong/too dark!

The plugin itself only supports what your currently installed driver also supports, which most often means NV12 in terms of Color Format. Color Conversion for Color Space and Color Range is done automatically, however depending on what your target is this can look different than expected:

  • For streaming, most sites do not support anything else than NV12 601 Partial. Streaming in a different color format, space or range will result in wrongly displayed colors, clipped bright and dark colors or even outright being dropped from the platform. Additionally the different color format, space and range might look worse for streaming.
  • For recording, some playback software ignores the color information written to the file (VLC, Windows Media Player, Video Player, ...).

Q: The output isn't in the same Framerate I set OBS Studio to!

Make sure that you have disabled 'Frame Skipping' and that you don't get any 'Encoding overloaded!' messages, otherwise you might end up with a Variable Framerate file. The steps to solving the 'Encoding overloaded!' message usually include reducing the load on the encoder.

Q: I have an APU, how do I use the latest Runtime?

You should no longer do this, instead install the latest stable driver from AMD and use it. Do not rely on the find driver for my hardware function, as it is often outdated and not actively maintained by AMD.

Q: My stream/recording doesn't start!

That means that one or more settings you have configured aren't supported on your system. The log file OBS Studio creates should give you an idea which option it is.

Q: I only have green blocks in my stream/recording!

Set Coding Type to 'Default'.

Q: FFMPEG shows an error that avcodec, avutil and avformat are missing after enabling OpenCL features!

Q: OpenCL does not work!

The OpenCL support in the Plugin and AMF rely on your Systems OpenCL.dll, which is usually provided by the AMD Driver but there are rare exceptions. A known cause of these errors are the Intel GPU Drivers, which replace the AMD and Nvidia libraries with its own version that is extremely broken and causes all applications using it to experience very strange bugs. The only known fix is to run Display Driver Uninstaller and have it completely remove all traces of the Intel GPU Driver.

Q: My stream/recording is pixelated/blocky!

If you are using an APU with the stable (16.9.2 at the time of writing) drivers, make sure to set B-Pictures to 0, there is a bug with them which has been fixed in the latest drivers. Select View Mode 'Advanced' and then set B-Pictures Pattern to 0, then your stream/recording should be fine again.

Q: The quality doesn't match the bitrate set!

You most likely have a VBV Buffer Strictness set too high or a VBV Buffer Size set too low, ideal values are around 70-85% or Bitrate/(FrameRate/4) kbits.

Q: The encoder isn't using my settings!

If you don't have a preset selected, you might have a broken AMD Driver install. These can happen and the simplest solution is to do a full clean uninstall. See the entry for this in Other Stuff.

Q: I can't seek in the recorded file!

Q: The output doesn't play back properly!

Depending on what codec you chose to encode with there are different reasons for this. With H264/AVC encoded content it means that for some reason OBS failed to mux the output properly and it needs to be remuxed for it to work. With H265/HEVC content it is due to AMD not providing VUI headers which would contain the necessary timestamps for proper seeking.

Q: The message 'Encoding overloaded!' shows up even though it used to work correctly!

The primary reason for this is an unstable overclock which you will have to remove. Other reasons for this are that the system bus is overloaded (too many devices, for example capture cards love doing this), an application is currently using 100% of the GPU leaving no room for other applications or a broken card that you should have sent in for replacement way earlier.

Q: How do I perform a full clean uninstall of the AMD Driver?

  1. Download and Install Display Driver Uninstaller from here.
  2. Download all GPU and Chipset drivers that you will need for your system to work from the manufacturers (AMD, Intel, Nvidia).
  3. Reboot into safe mode, see here for a guide for Windows 10.
  4. Once in safe mode, launch Display Driver Uninstaller.
  5. Run the cleaning for Intel without restarting.
  6. Run the cleaning for Nvidia without restarting.
  7. Run the cleaning for AMD with restarting.
  8. Once back in Windows, first install any chipset drivers, then install the AMD GPU Driver.
  9. Reboot again.
  10. (Optional) Install any Nvidia GPU Driver that is needed.
  11. Test out the AMD Encoder without the Intel GPU Driver installed.

This didn't help!

Then continue on with the Troubleshooting guide!

Clone this wiki locally