OBS branch with AMD VCE support.

Ah right, you mentioned that before.
Can actually try it myself, i got 100mbps up/down so should be easy to identify if i have upload issues.

Watched it, and it looks goods as far as i can tell.
Artifacts sure, but can't really be seen during playback, and i am uncertain were tehy are as i can't compare it to the original.
And in that case, it's pretty much transparent:)

What's the CPU load at that settings?
What's the x264 load at similar settings?

Update:

Did this while writing, i uploaded your video to my own google drive, or well i started it.
And looking at Task Manager i get about 80-100mbps on Send, which means it's working as expected.

So the problem is probably not at Google Drive.

Though, i actually have had similar problems, the solution may be to change a setting in Windows, may be worth trying.

in cmd write:

Netsh int tcp show global

This will show the settings you have, you can copy them if you want, but probably it's all default anyway.

Try change the Auto setting to something.

Netsh int tcp set globla auto = high
(you can try, high,disable,experimental,restricted) think that's the names.

Normally you want, Disable, normal or highlyrestricted (you can write high for short, it works).

try change, and try upload, no need to restart your PC, if it doesn't change anything, just go back to the default which should be Normal.
 

shaNker

New Member
Mine crashed for the first time. The output file was empty. It crashed as I tried to STOP the recording. Don't know if you want but here's the crash report. (I tried to set it as SPOILER but it wouldn't show up after I hit POST.. weird..


Code:
OBS has encountered an unhandled exception and has terminated. If you are able to
reproduce this crash, please submit this crash report on the forums at
http://www.obsproject.com/ - include the contents of this crash log and the
minidump .dmp file (if available) as well as your regular OBS log files and
a description of what you were doing at the time of the crash.

This crash appears to have occured in the 'c:\windows\syswow64\kernelbase.dll' module.

**** UNHANDLED EXCEPTION: 80000003
Fault address: 75793219 (c:\windows\syswow64\kernelbase.dll)
OBS version: Open Broadcaster Software v0.622b
Windows version: 6.1 (Build 7601) Service Pack 1
CPU: AMD Phenom(tm) II X6 1055T Processor

Crashing thread stack trace:
Stack    EIP      Arg0     Arg1     Arg2     Arg3     Address
003FF5C8 75793219 0000332C 00007530 00000000 002F0000 kernelbase.dll!0x75793219
003FF5D8 013D2C8C 00000001 013D4B90 013D4BD4 003FF650 obs.exe!0x13d2c8c
003FF620 013D12EC 0000086F 00000000 00000001 00000001 obs.exe!0x13d12ec
003FF634 013A6D0A 00000015 00000001 00000000 013F1C50 obs.exe!0x13a6d0a
003FF658 013F3851 00041BE8 00000402 00000001 00000015 obs.exe!0x13f3851
003FF748 754862FA 013F1C50 00041BE8 00000402 00000001 user32.dll!0x754862fa
003FF774 75486D3A 00000000 013F1C50 00041BE8 00000402 user32.dll!0x75486d3a
003FF7EC 754877C4 013F1C50 00000000 003FF880 754AC81F user32.dll!0x754877c4
003FF84C 7548788A 003FF91C 04E509BB 754878E2 75487809 user32.dll!0x7548788a
003FF85C 754AC81F 00041BE8 00000000 00000000 00000001 user32.dll!0x754ac81f
003FF888 013C6000 01380000 00000000 0072266D 00000001 obs.exe!0x13c6000
003FFD54 0140ED1A FFFDE000 003FFDE4 778EBF32 FFFDE000 obs.exe!0x140ed1a
003FFDA0 7596338A FFFDE000 7FFE3857 00000000 00000000 kernel32.dll!0x7596338a
003FFDAC 778EBF32 0140EC13 FFFDE000 00000000 00000000 ntdll.dll!0x778ebf32
003FFDEC 778EBF05 0140EC13 FFFDE000 00000000 00000000 ntdll.dll!0x778ebf05

Video thread stack trace:
Stack    EIP      Arg0     Arg1     Arg2     Arg3     Address
13B1FA40 74B5214E 00330000 00000000 002F0000 00000000 opencl.dll!0x74b5214e
13B1FA7C 72F37DA5 002C4958 00000000 00000000 018EBEA1 obsvce.dll!0x72f37da5
13B1FA9C 013D633E 7596338A 00000000 13B1FDC0 778EBF32 obs.exe!0x13d633e
13B1FD78 013D4DF5 00000000 6C703873 00000000 00000000 obs.exe!0x13d4df5
13B1FD88 778EBF32 013D4DF0 00000000 00000000 00000000 ntdll.dll!0x778ebf32
13B1FDC8 778EBF05 013D4DF0 00000000 00000000 00000000 ntdll.dll!0x778ebf05

Encode thread stack trace:
Stack    EIP      Arg0     Arg1     Arg2     Arg3     Address
1308F6A0 778CFD91 00000010 00000000 1308F730 013D57B6 ntdll.dll!0x778cfd91
1308F710 75794498 00000010 00FE502A 00000000 002F0000 kernelbase.dll!0x75794498
1308F720 013D57B6 C4F36412 00008BEF 00000000 00000000 obs.exe!0x13d57b6
1308F738 013D5971 7596338A 00000000 1308F87C 778EBF32 obs.exe!0x13d5971
1308F834 013D4DE5 00000000 6CC93DCF 00000000 00000000 obs.exe!0x13d4de5
1308F844 778EBF32 013D4DE0 00000000 00000000 00000000 ntdll.dll!0x778ebf32
1308F884 778EBF05 013D4DE0 00000000 00000000 00000000 ntdll.dll!0x778ebf05

A minidump was saved to C:\Users\petermg\AppData\Roaming\OBS\crashDumps\OBSCrashDump2014-05-10_2.dmp.
Please include this file when posting a crash report.

List of loaded modules:
Base Address      Module
 

Attachments

  • OBSCrashDump2014-05-10_2.dmp
    656.2 KB · Views: 27

jackun

Developer
Mine crashed for the first time. The output file was empty. It crashed as I tried to STOP the recording. Don't know if you want but here's the crash report. (I tried to set it as SPOILER but it wouldn't show up after I hit POST.. weird..

Crashes in uxtheme when calling OpenThemeHandle :S Weird.
 

jackun

Developer
Now, if you enable CBR and write max bitrate it won't vary so much, it will be about 3000-4500 if you set 3000 Kb/s,I mean in this way. But it only works for 30 and 60 FPS, when 45 it sometimes encodes with 10000 or even 20000 Kb/s.

Ok, looks like VCE actually uses fps for something then :P

E: Doesn't like 22 fps, but 23 and 29 is fine...
 

jackun

Developer
I think i have to add something like this to make 64bit work. I don't know why OpenVideo64.dll returns device id as 32bit. And with large app like OBS, shit hits the fan. Any C/C++ pros know how to manage this kind of mess? :D
struct some_struct_from_openvideo
{
unsigned int deviceId;
}

cl_device_id clDeviceID = reinterpret_cast<cl_device_id>(deviceId);
#ifdef _WIN64
// May ${DEITY} have mercy on us all.
uint64_t * ptr = (uint64_t*)&clDeviceID;
clDeviceID = (cl_device_id)((uint64_t)clDeviceID | ((uint64_t)ptr & 0xFFFFFFFF00000000));
#endif
 
I tried this thing with CMD, but it didn't help. However - I tried to stream in bitrate higher than 15k. Today I've got lower speed than yesterday, it's from local provider and it has better and worse days, and today on speed test I've got ~14 Mbps upload (yesterday was ~25 Mbps). OBS dropped a lot of frames, square was all red, but I opened NetLimiter to check speed (I don't have any limits set because it's trial that ended and limits doesn't work) to see the speed... For a while it was over 2 MBps, for the most of time it was 1-1,5 MBps... I don't know why uploading to YT is limited to 500 KB/s... maybe I have to call to my provider, maybe he set some limits for popular uploading services, I don't know :/

P.S
What's the difference between enabled and disabled CBR Padding?
 

jackun

Developer
P.S
What's the difference between enabled and disabled CBR Padding?

I think if it is enabled, with x264 it keeps bitrate from falling too low and it keeps it around entered bitrate.
With VCE, i set a setting that header comment says it generates skipped frames to meet GOP (group of pictures) target, so maybe kinda the same like x264.
 
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
I've committed a fix for the sync issue when using hardware encoders, I'll try to make a release for it soon.
 
What's better in 64-bit version? I don't really understand what's better with 64-bit versions of anything... It can use more RAM to run smoothly?

EDIT:
I tested new 32bit build and I think it's worse :/
I only tested with Desktop on fullscreen and it sometimes dropped frames while encoding (I was only recording, not streaming) and the bitrate started to vary again. Previous version was better so I'm gonna use it for now, but I can make a few recordings with new 64bit if you want me to :)
 
Last edited:

jackun

Developer
EDIT:
I tested new 32bit build and I think it's worse :/
I only tested with Desktop on fullscreen and it sometimes dropped frames while encoding (I was only recording, not streaming) and the bitrate started to vary again. Previous version was better so I'm gonna use it for now, but I can make a few recordings with new 64bit if you want me to :)

Holy noob error. Ok, download again. But you should be able to use older ObsVCE.dll with new OBS build.

E: Hm, VCE generates IDR every 30 frames no matter what keyframe interval is set.
 
Last edited:
First of all, I know nothing about all the technicalities related to this. However, I will say that I think that this is an absolutely awesome initiative. Definitely something I was hoping for, but never expected to actually become a thing. I'll definitely be keeping an eye on this thread :)
 

shaNker

New Member
First of all, I know nothing about all the technicalities related to this. However, I will say that I think that this is an absolutely awesome initiative. Definitely something I was hoping for, but never expected to actually become a thing. I'll definitely be keeping an eye on this thread :)
What's ironic about this is that just a day or two before this really got working well for me I purchased Mirillis Action! cuz I had a few bucks in my Paypal account from some hardware I sold and got it for $5 off the home/personal version. Now I'm just using OBS heh. Action! is good, don't get me wrong but OBS has more features BY FAR!!!! I'll have to donate some money to the cause ;)
 
D

Deleted member 16193

i might just be a complete novice but how do i change the quality of VCE besides just changing the bitrate?
 

jackun

Developer
i might just be a complete novice but how do i change the quality of VCE besides just changing the bitrate?
There isn't much UI yet for that. Latest build automatically selects better quality settings if VCE should be able to encode fast enough at given fps/resolution.
 

vbdkv

Member
Wow latest build is pretty amazing. Butter smooth with 60fps, no stuttering, cpu stays nice and cool and no more green line at the bottom :)
Datarate however, even when I set it to 3400, is still 6000+ so watch out when streaming to twitch.
 
There isn't much UI yet for that. Latest build automatically selects better quality settings if VCE should be able to encode fast enough at given fps/resolution.

Is it possible for you to make a UI for that later on? It'd be nice to further tweak the VCE settings. While the performance is absolutely phenomenal, it'd be pretty nice if I could get a little more quality out of my recordings.

Wow latest build is pretty amazing. Butter smooth with 60fps, no stuttering, cpu stays nice and cool and no more green line at the bottom :)
Datarate however, even when I set it to 3400, is still 6000+ so watch out when streaming to twitch.

Aye, I noticed the same thing. I won't be streaming with VCE just yet until the implementation's a bit more solid for streaming. It's awesome for recording, though :)
 

Boildown

Active Member
Since I'm sure some people will want to know: Which AMD video cards are required for this to work, or if its easier, which generations are too old / don't have the required logic?
 
It's stated in a link i provided earlier.

Pretty much, 7xxx is needed at leas, anything below that generation won't work (I got 6970:()
 
Top