OBS branch with AMD VCE support.

Corinarh

New Member
having 0 issues has nothing to do with why we need to see logs; something OBS might not report since this is a custom build of OBS



did I ever say this? I stream at 3500 right now, I said that your stream was peaking 17,000 bitrate (i.e. 17Mb/s) and averaging 5,000 bitrate which twitch does not like. OBS and VCE will stream whatever bitrate your PC can handle

http://www.twitch.tv/d2_ricci/b/587516476 this is me streaming at 720@48fps. its not perfect but its a work in progress.

Last edit, I promise: your game that you are streaming has A LOT of shrubbery (plants, grass, trees), video deciders have a lot to decode when small particles are being encoded so dont expect a perfect picture from that game.

your video looks pretty good, what was your settings? if my stream was 17k bitrate that can i lower that somehow with amd vce? Do you know how to fix my issue with Amd VMF because i'm completely lost in that regard. I just want my stream to look acceptable or look like other people stream like lirik or total biscuit, they stream at 1080p/60fps and their video looks very good for 3500bitrate
 

dping

Active Member
your video looks pretty good, what was your settings? if my stream was 17k bitrate that can i lower that somehow with amd vce? Do you know how to fix my issue with Amd VMF because i'm completely lost in that regard. I just want my stream to look acceptable or look like other people stream like lirik or total biscuit, they stream at 1080p/60fps and their video looks very good for 3500bitrate

The reason why you were streaming up to 17,000 bitrate was because OVE overrides the bitrate set, switch to AMF. Ensure that http://www.microsoft.com/en-us/download/details.aspx?id=40784 you get the version of MS CV++ that your OBS is set to, i.e. 32bit, 64bit. having one doesn't mean you have the other.

I already posted my settings above. https://obsproject.com/forum/threads/obs-fork-branch-with-amd-vce-support.13996/page-55#post-110219

Also, would you mind please posting a log file after you change your settings?
 

Corinarh

New Member
The reason why you were streaming up to 17,000 bitrate was because OVE overrides the bitrate set, switch to AMF. Ensure that http://www.microsoft.com/en-us/download/details.aspx?id=40784 you get the version of MS CV++ that your OBS is set to, i.e. 32bit, 64bit. having one doesn't mean you have the other.

I already posted my settings above. https://obsproject.com/forum/threads/obs-fork-branch-with-amd-vce-support.13996/page-55#post-110219

Also, would you mind please posting a log file after you change your settings?

i already reinstalled VS2013 and it didn't help to fix my issue

Code:
1:14:30: CLR host plugin strings not found, dynamically loading 4 strings
21:14:30: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
21:14:30: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
21:14:30: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
21:14:30: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
21:14:30: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
21:14:30: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
21:14:30: CLRHost:: Could not find/load browser settings at location C:\Users\Cori\AppData\Roaming\OBS\pluginData\browser.json
21:14:30: CLRHost:: Exception: System.IO.FileNotFoundException: Could not find file 'C:\Users\Cori\AppData\Roaming\OBS\pluginData\browser.json'.
21:14:30: File name: 'C:\Users\Cori\AppData\Roaming\OBS\pluginData\browser.json'
21:14:30:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
21:14:30:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
21:14:30:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
21:14:30:    at CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
21:14:30: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
21:14:32: Open Broadcaster Software v0.637b - 32bit (´・ω・`)
21:14:32: -------------------------------
21:14:32: CPU Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
21:14:32: CPU Speed: 3300MHz
21:14:32: Physical Memory:  4095MB Total, 2446MB Free
21:14:32: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
21:14:32: monitor 1: pos={0, 0}, size={1920, 1080}
21:14:32: Windows Version: 6.2 Build 9200
21:14:32: Aero is Enabled
21:14:32: -------------------------------
21:14:32: OBS Modules:
21:14:32: Base Address     Module
21:14:32: 01370000         OBS.exe
21:14:32: 0FF30000         OBSApi.dll
21:14:32: 0FC00000         CLRHostPlugin.dll
21:14:32: 0FED0000         DShowPlugin.dll
21:14:32: 0CDC0000         GraphicsCapture.dll
21:14:32: 0F770000         NoiseGate.dll
21:14:32: 0F4E0000         PSVPlugin.dll
21:14:32: ------------------------------------------
21:14:32: Adapter 1
21:14:32:   Video Adapter: AMD Radeon HD 7800 Series
21:14:32:   Video Adapter Dedicated Video Memory: 2128781312
21:14:32:   Video Adapter Shared System Memory: 2166120448
21:14:32:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
21:14:32: =====Stream Start: 2014-11-17, 21:14:32===============================================
21:14:32:   Multithreaded optimizations: On
21:14:32:   Base resolution: 1920x1080
21:14:32:   Output resolution: 1920x1080
21:14:32: ------------------------------------------
21:14:32: Loading up D3D10 on AMD Radeon HD 7800 Series (Adapter 1)...
21:14:32: ------------------------------------------
21:14:32: Audio Format: 48000 Hz
21:14:32: ------------------------------------------
21:14:32: Audio Channels: 2 Ch
21:14:32: Playback device {0.0.0.00000000}.{9da9d9ba-b012-40ca-8d82-5db6e79d0bcc}
21:14:32: ------------------------------------------
21:14:32: Using desktop audio input: Line 1 (Virtual Audio Cable)
21:14:32: Global Audio time adjust: -60
21:14:32: ------------------------------------------
21:14:32: Using auxilary audio input: Microphone (Realtek High Definition Audio)
21:14:32: Mic time offset: 0
21:14:32: ------------------------------------------
21:14:32: Audio Encoding: AAC
21:14:32:     bitrate: 128
21:14:32: Using Monitor Capture
21:14:32: Scene buffering time set to 60
21:14:32: VCE encoding with MFT.
21:14:32: Successfully loaded ObsVCEAMF.dll
21:14:32: ObsVCEAMF.dll initialized successfully
21:14:32: Possible support for AMD VCE.
21:14:32: Build date Nov 16 2014 15:17:15
21:14:32: DX11: List of adapters:
21:14:32:     0: Device ID: 6819 [AMD Radeon HD 7800 Series]
21:14:32: AMF DX11 : Using device 0: Device ID: 6819 [AMD Radeon HD 7800 Series]
21:14:32: InitDX11() created HW DX11.1 device
21:14:32: InitDX11() created HW DX11 device
21:14:32: CL Platform Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
21:14:32: CL Device Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event
21:14:32: AMFCreateComponent(encoder) failed. 35
21:14:32: Couldn't initialize encoder
21:14:32: ~RTMPPublisher: Packet flush completed in 0 ms
21:14:32: Number of times waited to send: 0, Waited for a total of 0 bytes
21:14:32: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
21:14:32: Number of bytes sent: 0
21:14:32: =====Stream End: 2014-11-17, 21:14:32=================================================
 

Fawkes

Member
hey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitratehey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitrate and sharp image (not much blockyness)
let me know what you think.
settings are in the description
https://www.youtube.com/watch?v=BdcbV4XQb2A&list=PLbjri73c_pnYdtxQad-tY8XiV8JDfuQfW&index=1
in the video there is very much smoke, so hard to encode. that can be very blocky but i tried minimize it hence these settings
 
Last edited:

dping

Active Member
i already reinstalled VS2013 and it didn't help to fix my issue

Code:
21:14:32: Open Broadcaster Software v0.637b - 32bit (´・ω・`)

21:14:32: Scene buffering time set to 60

21:14:32: AMFCreateComponent(encoder) failed. 35
21:14:32: Couldn't initialize encoder

Are you using windows 8.1 32bit or 64? if 64, have you tried the 64bit version?

Scene buffering: change to recommended 400ms. this isn't at fault but will cause some AV sync issues or dropped sounds IME.

for "AMFCreateComponent(encoder) failed. 35" Jackun said to a post a while back to make sure you have the most recent drivers, uninstall AMD drivers using DDU and reinstall the most recent version you can get DDU from here:http://www.guru3d.com/files-details/display-driver-uninstaller-download.html

http://support.amd.com/en-us/download/desktop?os=Windows 7 - 64 I use 14.9, not the beta since this one works great.



Sepay, I am still reading through this, TY sir, I will EDIT this post later for you :D

If you are doing 30fps then set IDR to 60 (or 0 with newest version of OBS-VCE) and GOP to 15
If you are doing 60fps then set IDR to 120 (or 0 with newest version of OBS-VCE) and GOP to 30
If you are doing 48fps then set IDR to 96 (or 0 with newest version of OBS-VCE) and GOP to 24
etc...

I was watching your stream, no lagg at all, but a bit of bitrate variance, it was dipping down a bit but you seemed like you were alt tabbed
 
Last edited:

Sepay

New Member
hey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitratehey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitrate and sharp image (not much blockyness)
let me know what you think.
settings are in the description
https://www.youtube.com/watch?v=BdcbV4XQb2A&list=PLbjri73c_pnYdtxQad-tY8XiV8JDfuQfW&index=1
in the video there is very much smoke, so hard to encode. that can be very blocky but i tried minimize it hence these settings

Why there is a tveak in cpu area, doeas it really matter?
 

dping

Active Member
hey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitratehey guys i was tweaking a lot with the settings and i found the (pretty much) perfect settings.
1080p with stable bitrate and sharp image (not much blockyness)
let me know what you think.
settings are in the description
https://www.youtube.com/watch?v=BdcbV4XQb2A&list=PLbjri73c_pnYdtxQad-tY8XiV8JDfuQfW&index=1
in the video there is very much smoke, so hard to encode. that can be very blocky but i tried minimize it hence these settings
Not bad.

x264 CPU preset medium - this does nothing with VCE by the way. might as well set it back to normal

using VBR, interesting....

IDR period 30 I would set to 60, you have to many I frames and not as many P frames with IDR set to 1 second; it will probably improve quality if set correctly at 2 seconds (i.e. double your fps)

Why there is a tveak in cpu area, doeas it really matter?

Not with VCE, if you are talking about the CPU x264 set to Medium
 
Last edited:

Fawkes

Member
Not bad.

x264 CPU preset medium - this does nothing with VCE by the way. might as well set it back to normal

using VBR, interesting....

IDR period 30 I would set to 60, you have to many I frames and not as many P frames with IDR set to 1 second; it will probably improve quality if set correctly at 2 seconds



Not with VCE, if you are talking about the CPU x264 set to Medium
somewhere in the first builds of obs vce the cpu preset did work for me so thats why i changed that ;p
i wil try that with idr period.
however this is a very good start, veel free to tweak and let (us) know what you did, with a youtube video please ;)

Why there is a tveak in cpu area, doeas it really matter?
not anymore so you can leave it default
running obs on 2 cores did gain me quite a few fps in game tho (again not sure if that's still the case (but worth trying!))
 
Last edited:

dping

Active Member
@Sepay

If you are doing 30fps then set IDR to 60 (or 0 with newest version of OBS-VCE) and GOP to 15
If you are doing 60fps then set IDR to 120 (or 0 with newest version of OBS-VCE) and GOP to 30
If you are doing 48fps then set IDR to 96 (or 0 with newest version of OBS-VCE) and GOP to 24
etc...

I was watching your stream, no lagg at all, but a bit of bitrate variance, it was dipping down a bit but you seemed like you were alt tabbed


EDIT: do you have CBR badding enabled? also, set your custom buffer size to same as bitrate just for S&G

http://r-1.ch/analyzer/results/brickorange.3bb621 I would ignore what it says about audio, it was probably because I analyzed it while you were alt tabbed
 
Last edited:

Sepay

New Member
@Sepay

If you are doing 30fps then set IDR to 60 (or 0 with newest version of OBS-VCE) and GOP to 15
If you are doing 60fps then set IDR to 120 (or 0 with newest version of OBS-VCE) and GOP to 30
If you are doing 48fps then set IDR to 96 (or 0 with newest version of OBS-VCE) and GOP to 24
etc...

I was watching your stream, no lagg at all, but a bit of bitrate variance, it was dipping down a bit but you seemed like you were alt tabbed


EDIT: do you have CBR badding enabled? also, set your custom buffer size to same as bitrate just for S&G

http://r-1.ch/analyzer/results/brickorange.3bb621 I would ignore what it says about audio, it was probably because I analyzed it while you were alt tabbed

ok, so i was discusing thes problems with guys on live chat, they said that it will not be wachable for many people, becouse of buffering issue, for me it buffers more than shows actual footage. Most important for me is to not get grain on my stream. Oh, there is a strange thing happening, in game, there apears like colorful pixels on my screan usually in sape of cubes, but in streamand alttabed they dont show, happened today couple of times.
 

dping

Active Member
ok, so i was discusing thes problems with guys on live chat


Oh, there is a strange thing happening, in game, there apears like colorful pixels on my screan usually in sape of cubes, but in stream and alttabed they dont show, happened today couple of times.

I watched your stream for 20 minutes, live. it looked fine minus your IDR was set to low, seem like it was set to happen once a second (i.e. IDR = FPS), set it to double

looks like reinstalling my drivers worked and i can record/stream with AMD AMF but still my stream/recorded vid looks pixelated

http://r-1.ch/analyzer/results/corinarh.e1c55b

http://www.twitch.tv/corinarh/b/589950049 i recorded that few min ago with AMD AMF + 60fps and 30 GOP and 128 IDR and speed settings DX11 min QP 18 max QP 51

the fuzzing on your video is the IDR frame refreshing which is needed for streaming, only 1080@60 needs more bitrate for that IDR (since its an unreferenced frame).

I dont know where you got IDR 128 from, its set to double the fps, i.e. 120. as for QP settings, I set mine to min:18, max 38. I get a bit more over the max bitrate but it looks better to me and others.

If you are doing 1080@60fps, your bitrate needs to be around 5000 minimum, and is why it is not advised to do 1080@60fps, twitch doesn't support over 3500 bitrate, so you've been advised. Do 720@60 or 720@48 which is what I use. lastly, try (just for S&G, balanced preset, then use r1ch's stream analizer, should be better, but I still would set your bitrate to at least 3500
read the notice you get from R1ch's site:
Streaming at 1080p60 or higher is not recommended as viewers may be unable to watch your stream due to the high decoding requirements.

720 is watchable on most mobile devices plus doesn't stress out the viewers computer while he watches/decodes your stream.

1080@60 fps will tax both the CPU and the majority of internet connection with the bandwidth/bitrate needed to decode it.
 

jackun

Developer
somewhere in the first builds of obs vce the cpu preset did work for me so thats why i changed that ;p

Ultra fast/medium etc are not used, but x264's main/high profile are and you can manually set it to base profile even from ini file, hehe.
 

Fawkes

Member
Ultra fast/medium etc are not used, but x264's main/high profile are and you can manually set it to base profile even from ini file, hehe.
must have been a placebo effect on me then hahaha.
but running obs on 2 cores did/does work to gain fps in games
 

sneaky4oe

Member
I see that there's a newer version, but when I was streaming with a previous one (profiling code removed) I still had random bitrate spikes from 6 to 8mbit/s and even to 14 at some points.
And a few times something crashed, and I had to restart the game and OBS to start streaming again.

Also, OVE still doesn't work for me. HD7870
 
Last edited:

dping

Active Member
Will higher fps result bad quality?

Yes and no. higher framerates at the same resolution at the same bitrate will look smoother, but for that smoothness, you lose quality. often that quality is made up for because the eye has more frames and tends to blend the moving picture together.

this is comparing actual x264 (veryfast preset)
Lets take 720@30 and 720@60 both with 2000 bitrate.

The 720@30 will looks great (since this is the "quality" bitrate for that resolution), but not as smooth since 1 of 2 frames is dropped (like a youtube video).

While 720@60 will obviously looks super smooth yet will be pixelated since 2000 bitrate is super low for this resolution.

Know though when going from 720@30 to 720@60, you do not need to double the bitrate due to the above affect. I would say 1.5x when doubling the fps.

Lets take that same calculation with 1080@ 30 and 60. 1080@30 needs 3500bitrate (twitch's "max") to look somewhat quality. so that will mean that 1080@60 will need 5250 bitrate to look similar. and that is on x264.


More to come...

I see that there's a newer version, but when I was streaming with a previous one (profiling code removed) I still had random bitrate spikes from 6 to 8mbit/s and even to 14 at some points.
And a few times something crashed, and I had to restart the game and OBS to start streaming again.

you using OVE still?

Anyway, read two pages back, I had to slightly underclock (using default clockspeeds) and set power limit to 20% which helped with any all crashes. OCCT was showings errors during stress tests almost a few seconds outside of testing with default clocks. those errors are often correctable and not always visible in game, but could easily crash a driver when to many occur. I would do the same baseline as me. I think CCC tends to try and overclock everycard to get "max performance" but doesn't check to ensure the overclock is 24/7 stable.

.
 
Last edited:

Sepay

New Member
So this,I believe, is the best posible what i can get out of my baby. 30 fps resolution 1366/768
Twich stream vod

Setings:
Encoding tab
  1. Use CBR, (enable)
  2. Enable CBR padding, (enable)
  3. Use Custom bufersize(3450 max bitrate and buffer)
Advanced tab (I think these doesnt matter much but what the heck, calling out what might matter)
  1. Use multithread Opt. (enable)
  2. Process priority class (above normal)
  3. Scene bufering 400
  4. Use CFR (disabled)
  5. Network: Automatic low latency mode (enable) Bind to interface-default, Latency tuning factor 20
AMD VCE encoder tab
  1. Use custom parameters (enable),
  2. CABAC (enable)
  3. GOP (15) IDR (60)
  4. Do NOT use blahblah (uncheck)
  5. AMD AMF settings (quality, DX11, minQP 18, MaxQP 51)
 
Last edited:
Top