Giter Club home page Giter Club logo

Comments (18)

Xaymar avatar Xaymar commented on August 11, 2024

Update to the latest uploaded build, I fixed a typo in the Set*Bitrate commands. I've not experienced the flickering issue myself.

Advanced Encoder will return once I've done everything necessary.

from obs-amd-encoder.

razorlikes avatar razorlikes commented on August 11, 2024

I'm already using the latest build! Tried to install it using the .zip file as well as the installer.

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

Could you upload the last log file? I'll take a look then.

from obs-amd-encoder.

razorlikes avatar razorlikes commented on August 11, 2024

There you go!
2016-08-21 22-05-41.txt

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

Hmm, 1950kbit is a little low for that resolution and framerate. AMF is most likely not capable of going that low yet. You'll have to open an issue on the AMF SDK Issue Tracker, I'm afraid.

from obs-amd-encoder.

razorlikes avatar razorlikes commented on August 11, 2024

Wait, is it using 1080p? I set it to 960x540! It should be able to handle that.

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

No it's using 960x540. But this has been an issue with hardware encoders for a long time, bitrates lower than 2500kbit are near impossible to consistently achieve. You might have better luck at 30 fps.

from obs-amd-encoder.

wazerstar avatar wazerstar commented on August 11, 2024

Tested with the latest 1.3pre? version

http://prntscr.com/c8pynh
http://prnt.sc/c8pyx2

It jumped from 16xxx to 30xxx

Took a chance to try stream too, dropped frames instantly, also the flickering is visible here.

https://youtu.be/77fZfi0bILk

from obs-amd-encoder.

dPing avatar dPing commented on August 11, 2024

Wazerstar, you cannot expect CBR to stay within range when you specified 1QP min and 39max. Set both to -1 and retest or back to default at 18min and 51max. I was planning on disabling al qp with cbr and seeing where otwent nut I got busy tonight.

from obs-amd-encoder.

wazerstar avatar wazerstar commented on August 11, 2024

dPing what are you on about? In the older version it worked fine, also did a test with 18qp and max51, same result.

from obs-amd-encoder.

kurdtkobain avatar kurdtkobain commented on August 11, 2024

in enc-h264-simple.cpp around line 308-ish you never call m_VideoEncoder->SetRateControlMethod((Plugin::AMD::H264RateControlMethod)obs_data_get_int(settings, AMF_VCE_H264_RATECONTROL));

EDIT: Nevermind you do at line 302, but it does not get set looking at the logs the rate control method is set to CQP....
EDIT2: BTW Line 680 and 682 of amd-amf-h264.cpp say <Plugin::AMD::H264VideoEncoder::GetPeakBitrate> instead of <Plugin::AMD::H264VideoEncoder::GetRateControlMethod>

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

@wazerstar Please open up a new issue for this and submit the necessary information as shown here: https://github.com/Xaymar/OBS-AMD-Media-Framework/wiki/Reporting-Issues

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

@kurdtkobain Fixed the logging lines.

from obs-amd-encoder.

kurdtkobain avatar kurdtkobain commented on August 11, 2024

@Xaymar from what I was able to tell from my tests you have to call SetRateControlMethod after you call SetRateControlSkipFrameEnabled or the value of SetRateControlMethod is not set in m_VideoEncoder for some odd reason?

EDIT: This was tested on my computer, an A8-7600 APU with a XFX Double Dissipation R7 360

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

@kurdtkobain The issue is actually here:

void Plugin::AMD::H264VideoEncoder::SetRateControlSkipFrameEnabled(bool enabled) {
    AMF_RESULT res = m_AMFEncoder->SetProperty(AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD, enabled);
    if (res != AMF_OK) {
        ThrowExceptionWithAMFError("<Plugin::AMD::H264VideoEncoder::SetRateControlSkipFrameEnabled> Setting to %s failed with error %s (code %d).", enabled ? "Enabled" : "Disabled", res);
    }
    AMF_LOG_INFO("<Plugin::AMD::H264VideoEncoder::SetRateControlSkipFrameEnabled> Set to %s.", enabled ? "Enabled" : "Disabled");
}

bool Plugin::AMD::H264VideoEncoder::IsRateControlSkipFrameEnabled() {
    bool enabled;
    AMF_RESULT res = m_AMFEncoder->GetProperty(AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD, &enabled);
    if (res != AMF_OK) {
        ThrowExceptionWithAMFError("<Plugin::AMD::H264VideoEncoder::IsRateControlSkipFrameEnabled> Retrieving Property failed with error %s (code %d).", res);
    }
    AMF_LOG_INFO("<Plugin::AMD::H264VideoEncoder::IsRateControlSkipFrameEnabled> Retrieved Property, Value is %s.", enabled ? "Enabled" : "Disabled");
    return enabled;
}

Notice the mistake? I certainly didn't until now.

from obs-amd-encoder.

razorlikes avatar razorlikes commented on August 11, 2024

So what does this mean? Will I be able to stream using this encoder?

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

Yes, once the patch is out.

from obs-amd-encoder.

Xaymar avatar Xaymar commented on August 11, 2024

Should be solved by 1.3.0pre3.

from obs-amd-encoder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.