0.56.04 madness build - features plus encoding changes

Status
Not open for further replies.

Jim

Jim
Developer
This build adds a number of changes mostly related to encoding, but may also yield some good performance improvements.

Also some crazy person named Extrems came around and added full color range encoding and 48khz audio encoding. Super sweet stuff. (Things which I haven't really had time to implement myself). Major shoutout to him as he is the one who changed all the shaders/code around to support those things properly.

Not entirely sure how stable this stuff is, but it all seems to check out at first glance.

0.56.04 Changes:
Download: http://sourceforge.net/projects/obsproj ... p/download
  • Made frame capture interval a bit more smooth
  • To ensure constant framerate, made it so that slower computers automatically compensate for late encoded frames by duplicating frames when necessary to speed up encoding, and log that as a problem in the log file
  • QSV fixes/adjustments (palana)
  • Made some minor adjustments to monitor capture (homeworld)
  • Made the 64bit and 32bit update checks independent (r1ch)
  • Other minor tweaks/things I can't remember at the moment
  • Added CyberGame.tv to services

Previously on batman:
0.56.03
  • Fixed a bug with frame timing (audio/video sync) with the new encoder thread, audio/video should be much more in sync
  • Fixed a potential crash when stopping stream
  • Allow down to 1 FPS to be set by user (fixed for real)
  • Some projector UI fixes (I think)
  • Removed logging of shader cache files

0.56.02
  • Fixed issues with quicksync in the new code (palana)
  • Added date/time for FLV files (palana)
  • Added a "projector" feature that allows you to preview the stream on a separate monitor in full screen while using OBS on a another monitor, can be used by right-clicking the preview window and using the "projector" option from the context menu and selecting the monitor to use. The projector window can be disabled by pressing escape on it, by closing it on the task bar, or by using the "disable" option in the context menu.
  • Made both 44.1khz and 48khz optional in encoder settings (no longer hard coded to either)
  • Reduced minimum settable FPS to 1fps (*shrugs*)
  • Added encoder thread to the profiler
  • Fixed a bug where a global source would initialize when switching to a scene with an unchecked global source

0.56.01
  • Encoding has been moved to a separate thread to prevent causing lag to the video thread. This may result in some good performance increases and smoother video for many computers.
  • Due to the encoding changes, constant framerate encoding is now default, and should now not cause extra lag like it used to.
  • When a keyframe interval is set, it will actually operate at that interval because of the encoding changes (fixes the issue where twitch would report a higher keyframe interval than you had set it to)
  • Encoding now outputs in full color range, which means more color detail is preserved. Also a number of other optimizations and quality tweaks. (by the awesome Extrems)
  • Audio is now encoded at 48khz instead of 44.1khz (again by Extrems)
 

Krazy

Town drunk
Forum Moderator
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Important edit: after a lengthy discussion, and much testing, the full color range stuff seems...off/wrong.

Direct screenshot of game: https://www.dropbox.com/s/6drp8353nv8hz3p/sc2.png
screenshot of recording made with 554b: https://www.dropbox.com/s/r112o5er9uh3k88/wmp554.png
screenshot of recording made with madness build: https://www.dropbox.com/s/y3zgaa5zc0uk0 ... adness.png

As you can see, the madness build changes things quite drastically (in several different media players, I might add). Do note that the Twitch player does not show these changes, while YouTube's player does.

Full color range stuff actually makes a quite noticeable difference, can see here in this two clips, one from 554b and one with MADNESS build: https://www.dropbox.com/s/qvazasg0x15k2 ... 0color.rar

Also, my frame times at 864p60fps with my fairly hefty custom encoder settings went from 2.867ms to 1.144ms...
 

xD4rkFire

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Reading this change log already has me super excited! Must go testing!
 

Joe33345

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

the audio change from 44100 to 48000 makes my stream incompatible with Twitch's 'requirements' so I think you might wanna add an option to switch between the two o.o
 

Floatingthru

Community Helper
Re: 0.56.01 MADNESS build - testing mostly encoding changes

This new build still works fine with Twitch's requirements for me at least.

Stream Configuration Quality: Excellent
Last Checked: less than a minute

Gotta do more testing, but so far much less duplicate and lagged/late frames for me. Hopefully a smoother looking video overall too. I only wish that the full color range was supported and on by default on most flash players.

Edit: Added log from last stream session.

Code:
21:53:00: Settings::Video: Enabling Aero
21:53:07: Open Broadcaster Software v0.56.01 MADNESS - 64bit ( ^ω^)
21:53:07: -------------------------------
21:53:07: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
21:53:07: CPU Speed: 3500MHz
21:53:07: Physical Memory:  8012MB Total, 6196MB Free
21:53:07: stepping id: 3, model 12, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
21:53:07: monitor 1: pos={0, 0}, size={1920, 1080}
21:53:07: Windows Version: 6.2 Build 9200 
21:53:07: Aero is Enabled
21:53:07: -------------------------------
21:53:07: OBS Modules:
21:53:07: Base Address     Module
21:53:07: 0000000015DB0000 OBS.exe
21:53:07: 00000000EB050000 OBSApi.dll
21:53:07: 00000000F21C0000 DShowPlugin.dll
21:53:07: 00000000F7690000 GraphicsCapture.dll
21:53:07: 00000000F59C0000 NoiseGate.dll
21:53:07: 00000000F3B60000 PSVPlugin.dll
21:53:07: ------------------------------------------
21:53:07: Adapter 1
21:53:07:   Video Adapter: NVIDIA GeForce GTX 670
21:53:07:   Video Adapter Dedicated Video Memory: 2083188736
21:53:07:   Video Adapter Shared System Memory: 2147807232
21:53:07: ------------------------------------------
21:53:07: Adapter 2
21:53:07:   Video Adapter: Intel(R) HD Graphics 4600
21:53:07:   Video Adapter Dedicated Video Memory: 100663296
21:53:07:   Video Adapter Shared System Memory: 1778384896
21:53:07: =====Stream Start: 2013-08-31, 21:53:07===============================================
21:53:07:   Multithreaded optimizations: On
21:53:07:   Base resolution: 1920x1080
21:53:07:   Output resolution: 1280x720
21:53:07: ------------------------------------------
21:53:07: Loading up D3D10 on NVIDIA GeForce GTX 670...
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/DrawTexture.pShader.blob
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/DrawSolid.pShader.blob
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/DownscaleLanczos6tapYUV.pShader.blob
21:53:07: Playback device {0.0.0.00000000}.{50e670ae-5d24-49af-b21e-29d18b5213c1}
21:53:07: ------------------------------------------
21:53:07: Using desktop audio input: Speakers (Creative SB X-Fi)
21:53:07: ------------------------------------------
21:53:07: Using auxilary audio input: Microphone (Yeti Stereo Microphone)
21:53:07: ------------------------------------------
21:53:07: Audio Encoding: AAC
21:53:07:     bitrate: 128
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/ColorKey_RGB.pShader.blob
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/AlphaIgnore.pShader.blob
21:53:07: Using bitmap image
21:53:07: Using text output
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/ColorKey_RGB.pShader.blob
21:53:07: C:/Users/WoodlesAzn/AppData/Roaming/OBS/shaderCache/shaders/AlphaIgnore.pShader.blob
21:53:07: Using Window Capture
21:53:07: ------------------------------------------
21:53:07: Video Encoding: x264
21:53:07:     fps: 30
21:53:07:     width: 1280, height: 720
21:53:07:     preset: faster
21:53:07:     CBR: yes
21:53:07:     CFR: yes
21:53:07:     max bitrate: 2000
21:53:07:     buffer size: 2000
21:53:07: ------------------------------------------
21:53:07: MMDeviceAudioSource: Frequency for device 'Speakers (Creative SB X-Fi)' is 384000, samples per sec is 48000
21:53:07: MMDeviceAudioSource: Frequency for device 'Microphone (Yeti Stereo Microphone)' is 384000, samples per sec is 48000
21:53:11: Using RTMP service: Twitch / Justin.tv
21:53:11:   Server selection: rtmp://live.justin.tv/app
21:53:11:   Interface: Intel(R) Ethernet Connection I217-V (ethernet, 1000 mbps)
21:53:12: SO_SNDBUF was at 65536
21:53:12: SO_SNDBUF is now 65536
21:53:14: RTMPPublisher::Socketloop: Increasing send buffer to ISB 131072 (buffer: 0 / 272384)
22:09:04: RTMPPublisher::Socketloop: Increasing send buffer to ISB 524288 (buffer: 27977 / 272384)
22:43:21: Total frames encoded: 90396, total frames duplicated 20 (0.02%)
22:43:21: Total frames rendered: 90401, number of late frames: 17 (0.02%) (it's okay for some frames to be late)
22:43:21: RTMPPublisher::SocketLoop: Graceful loop exit
22:43:21: Number of times waited to send: 0, Waited for a total of 0 bytes
22:43:21: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
22:43:22: 
22:43:22: Profiler results:
22:43:22: 
22:43:22: ==============================================================
22:43:22: frame - [100%] [avg time: 0.991 ms (cpu time: avg 0.672 ms, total 60781.3 ms)] [avg calls per frame: 1] [children: 99.7%] [unaccounted: 0.303%]
22:43:22: | frame preprocessing and rendering - [90.6%] [avg time: 0.898 ms (cpu time: avg 0.628 ms, total 56812.5 ms)] [avg calls per frame: 1] [children: 36.9%] [unaccounted: 53.7%]
22:43:22: | | scene->Preprocess - [36.9%] [avg time: 0.366 ms (cpu time: avg 0.342 ms, total 30953.1 ms)] [avg calls per frame: 1]
22:43:22: | GPU download and color conversion - [9.08%] [avg time: 0.09 ms (cpu time: avg 0.041 ms, total 3750 ms)] [avg calls per frame: 1] [children: 7.27%] [unaccounted: 1.82%]
22:43:22: | | flush - [4.84%] [avg time: 0.048 ms (cpu time: avg 0.024 ms, total 2203.13 ms)] [avg calls per frame: 1]
22:43:22: | | CopyResource - [2.02%] [avg time: 0.02 ms (cpu time: avg 0.009 ms, total 859.375 ms)] [avg calls per frame: 0]
22:43:22: | | conversion to 4:2:0 - [0.404%] [avg time: 0.004 ms (cpu time: avg 0.001 ms, total 156.25 ms)] [avg calls per frame: 0]
22:43:22: | Convert444Threads - [6.73e+003%] [avg time: 66.661 ms (cpu time: avg 1.163 ms, total 105141 ms)] [avg calls per frame: 1]
22:43:22: ==============================================================
22:43:22: 
22:43:22: =====Stream End: 2013-08-31, 22:43:22=================================================
 

Krazy

Town drunk
Forum Moderator
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Joe33345 said:
the audio change from 44100 to 48000 makes my stream incompatible with Twitch's 'requirements' so I think you might wanna add an option to switch between the two o.o
If you are using AAC, it will not be a problem.

If you are using MP3...er, why?
 

Absarn

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

With Quicksync enabled it just gave me a black screen and choppy sound.
 

Kharay

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Krazy said:
Important edit: after a lengthy discussion, and much testing, the full color range stuff seems...off/wrong.

Direct screenshot of game: https://www.dropbox.com/s/6drp8353nv8hz3p/sc2.png
screenshot of recording made with 554b: https://www.dropbox.com/s/r112o5er9uh3k88/wmp554.png
screenshot of recording made with madness build: https://www.dropbox.com/s/y3zgaa5zc0uk0 ... adness.png
Hmmm... that... is quite a bit off indeed. :/

Just out of curiosity I decided to confirm this with a different title, at the off chance it was somehow specific to SC2. And... it's not. Dota 2 has the same issue, it looks slightly too dark now.

Is there some way we can have this full color range an optional function instead?
 

AlderaaN

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Jim said:
0.56.01 Changes:
  • Due to the encoding changes, constant framerate encoding is now default, and should now not cause extra lag like it used to.
Hello.

If CFR is going to be on by default, then should there be a "V" mark right next to the 'Use CFR' check box when navigating to the Advanced settings window?


Or is that switch ignored until further notice and treated as 'constantly enabled' weather we use CBR or VBR mode?


Regards,
 
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Looks to me like this would work well on console captures (with the consoles set to limited colour space), since capture cards generally do not accept full RGB range. Looks like this build is attempting to correct the colour space.

In the case of monitor/desktop capture, it's trying to correct an already full RGB capture..? (which ends up crushing the blacks)

The colour problem aside, looks like a good build. Thanks. :)

- EDIT -

I had a chance to test this build out now, and it appears to be handling the colour correctly. Great! :)
 

Gol D. Ace

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

This will only affect your settings when you don't have settings.

Fresh Installation = CFR enabled by default
You already have a installation = CFR setting stays the same

AlderaaN said:
Jim said:
0.56.01 Changes:
  • Due to the encoding changes, constant framerate encoding is now default, and should now not cause extra lag like it used to.
Hello.

If CFR is going to be on by default, then should there be a "V" mark right next to the 'Use CFR' check box when navigating to the Advanced settings window?


Or is that switch ignored until further notice and treated as 'constantly enabled' weather we use CBR or VBR mode?


Regards,
 

AlderaaN

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Gol D. Ace said:
This will only affect your settings when you don't have settings.

Fresh Installation = CFR enabled by default
You already have a installation = CFR setting stays the same
Thank you.

Since it wasn't a fresh installation, I have indeed enabled it manually and then went on to stream a bit.

Here's something I've finished streaming just a few minutes ago:
http://www.twitch.tv/alderaanstreams/c/2853323
CBR (+ Padding + CFR) 2,080Kbps 30FPS 800p Video + 128Kbps AAC audio.

Twitch reports the stream quality as 'excellent' (I've logged into my channel's Dashboard a couple of minutes after I've started streaming).
 

Joop

New Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Looks like its to dark but I think it looks better than to bright!!
 

Muf

Forum Moderator
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Concerning full range: you say the Twitch player is fine, then that means the Twitch player properly reads out the colour space tags and decodes the full range correctly. If MPC (well, more specifically the decoder filter used) decodes it incorrectly, then that means it's not reading the colour space tag properly. I'd suggest trying CoreAVC, which should have support for full range H.264.

I do agree however that full range (0-255) / broadcast range (16-235) should be a configurable option in OBS, regardless of player support.
 

Jim

Jim
Developer
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Woopsies, I broke quicksync, palana's going to kill me
 
Re: 0.56.01 MADNESS build - testing mostly encoding changes

I just tested this build now, and I agree with everything Muf had to say. Though, as a previous CoreAVC user, I'd like to suggest checking out LAV Filters. I stopped using CoreAVC a while back, since they were taking a long time to fix their problems/implement features. LAV Filters has really good quality and it's completely free.

Back on topic, this build looks great! Thanks again to all involved! :)
 

ball2hi

Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Just tested this build with 480p30 (My usual) and the stream was pretty pixelated, in comparison to my usual quality. Would it happen to be because I'm using the strict CBR method + tune=animation while having CRF enabled with this build?

Edit: Yeah, it's a bit too pixelated for my taste. Have to go back to stable until this one is fixed.
 

ZenVolta

New Member
Re: 0.56.01 MADNESS build - testing mostly encoding changes

Messing around with the update. And something does seem off about the color. Like it has to low of a contrast. I run game mode with +10 gama and that doesnt seem to change in this update. Other than that everything seemed fine on my end. I might just up the gama a bit more to help brighten up shadows and such.
 
Status
Not open for further replies.
Top