-
-
Notifications
You must be signed in to change notification settings - Fork 89
Frequently Asked Questions
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!
- Why does this plugin exist?
- What does this allow me to do?
- Do I need to manually install this plugin?
- Is this free? Can I use this in commercial environments?
- I have the plugin, how do I use it now?
- There's too many options, what do they all do?
- Is it possible to achieve x264 quality with this?
This plugin exists because the default Media Foundation implementation had massively varying results, often underperforming on systems or outright refusing to work.
It allows you to use the dedicated hardware inside AMD APUs and GPUs for encoding your H.264 (AVC/SVC) and H.265 (HEVC) streams with next to no impact on the system.
Definitely not, OBS Studio 0.16.* and up always contain a plugin version fairly recent. There are times when the plugin version here is newer than the one in OBS, but usually things should work. If they don't, then yes you need to manually install this plugin.
Yes, it is completely free as it is licensed under the X11/MIT License. You are free to modify and redistribute the software to others including commercial partners.
If you use this plugin for anything commercial, send me a message. I really want to see what you're using it for.
It's integrated with both Output Modes in OBS Studio. In simple mode select 'Hardware (AMD)', in advanced mode select 'H264 Encoder (AMD Advanced Media Framework)'. After you have done that, setting it up should be rather quick and easy.
Good that you asked, since starting with 1.4 you can now hover over the option itself to learn more about it in a tooltip. On versions before 1.4, this wiki page might be of help.
Unfortunately not yet. Hardware encoding is primarily meant for speed instead of quality, so it will be a long time before any vendor can match the quality of x264. If AMD, Intel or NVidia ever were to fully open source their encoder and allow outside people to create their own kernel/runtime, then we might see improvements in the future. At the moment, no vendor currently has their encoder fully open sourced.
- My settings keep getting changed!
- Colors in my Stream/Recording are wrong/too dark!
- I want to get the same quality as x264!
- The output isn't in the same Framerate I set OBS Studio to!
- I have an APU, how do I use the latest Runtime?
- My stream/recording doesn't start!
- I only have green blocks in my stream/recording!
- OpenCL does not work!
- My stream/recording is pixelated!
- The quality doesn't match the bitrate set!
- The encoder isn't using my settings!
You probably have a preset selected, which will constantly overwrite your settings with the ones from the preset. Some presets allow you to change the Bitrate within certain limits while others are more strict about that.
- Twitch: Bitrate within 1 and 4 mbit
- YouTube: Bitrate within 1 and 25 mbit
- Recording: Bitrate must be above 10 mbit
The AMD encoder relies on OBS to feed it the proper color range and space, so you must make sure that YUV Color Range is set to Partial and YUV Color Space is set to .601 or .709, depending on resolution. The plugin actually tells OBS Studio what to use, but there are rare cases where it doesn't work right.
It's not possible to get the same quality as x264, but you can get closer by increasing the bitrate slightly. An increase of ~200-500kbit over what you would have used for x264 should get you closer.
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.
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.
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.
Set Coding Type to 'Default'.
OpenCL relies on your systems opencl.dll, which can exist multiple times if you have a multi-GPU system (example: Intel CPU with dedicated AMD GPU). Uninstall any other GPU-Driver installed in your system so that only the critical ones remain. Ideally you will only have AMD GPU-Drivers installed.
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.
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.
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.
When everything else fails and you still experience issues with the AMD encoder, a full clean uninstall and reinstall will often help. Here's how to do it:
- Uninstall the AMD driver normally.
- Reboot to Safe Mode.
- Navigate to C:\Windows\System32\DriverStore\FileRepository
- Search for ativce, amdave or ATIOD.
- If you get any results, right click on them and click "Open file location".
- Go up one directory, you should now have the directory selected that contains the file.
- If the directory starts with "c030", change the Security settings to allow "Everyone" full control.
- Delete the directory.
- Repeat 3-8 until no more results show up.
- Reboot to Normal Mode and hope you didn't mess up.
- Install the AMD Driver normally again.
Then continue on with the Troubleshooting guide!
Copyright (c) 2016 Michael Fabian Dirks
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.