OBS 33 is here

OBS Studio Logo

Whats that OBS did a big point release? It did indeed. (OK OK it’s 33.0.1 now…)

For the most part for streamers the key changes as a bunch of UI overhaul and a update to browser sources. This should really trip anyone up but it so make sure to drop your developer a line so they can update.

This one is a mix of “just catching up to the lastest browser engine” as well as “plugging security holes from the old engine we had”, so it’s an important update/change.

The same goes for OBS Plugins, for some plugins an API command or two was removed and plugins might not graceful catch that and crash out, but thats rare. Most developers will have caught up and updated already, but you should check for plugin updates anyway.

As a Plugin Developer

For plugin developers OBS has started the 6 month or so period of “we are makign a big change” warning period.

Notably is changes to how images are loaded for use. (specifically the removal of gs_image_file which to my knowledge should be replaced with image_file)

So if you a Streamer and you see plugins marked as “legacy” in the Plugin Manager, don’t worry about it). But maybe check/drop a line to the plugin developers, they may also have patched already for this change and a update is available.

As a Streamer

If a streamer, you should not take it upon yourself to move plugins around yourself. OBS will auto handle this itself when they complete the deprecation cycle, if a plugin developer doesn’t update the plugin themself in the mean time.

Quick Change Summary

  • Updated Browser Source engine to something MUCh newer
  • Many changes to how PLugins load to ensure the sanity of plugins and OBS going forwards
  • Improved Source Snapping when moving sources around
  • Improved checks for removed encoders
  • Support for latest NVIDIA Broadcast SDKs (don’t forget to update those)
  • Fixes/improvements to game capture
  • All the usual bug fixes tweaks and improvements across the board

Known issue if you use a “controller inputs overlay” can be tracked here the joys of fixing security bugs is you introduce security blocks.

Summary

You can find the full change log for OBS v33 over on github and plugin developers can check the details for legacy over on the OBS Knowledge base.

And don’t forget to file OBS bug reports with OBS to help us all AND talk to your plugin devs so they can update their plugins!

And don’t forget to backup profiles and scenes collections before hand, in case you need to roll OBS back if v33 and the plugins are not ready for you and your work flows yet!

Twitch Launches 2k/1440p and Dual Format for most!

A screenshot from the Twitch Dashboard, showing Advanced Broadcast Features

Twitch has released today:

Pop over to Stream Settings on the Twitch Dashboard to see which of the features are available to you!

Heres the Tweet:

Getting Started

Assuming you meet the hardware requirements (this is for 1440p AND vertical together), which briefly is:

  • OBS v32.0 or newer
  • NVIDIA 2000 or newer, AMD 6000 or newer (check the help guides for in depth)
  • The upstream internet to support this, either 9Mbps with Improved Server Side Transcode 20Mbps otherwise

    Assuming you meet those requirements, to get Dual format going you just need to utilize a plugin for OBS and the easiest to get going is Aitum Vertical.

You can find that here or if you need the Zip for installing to portable OBS, or just don’t like installers, you can find Github Releases here. It works well with Aitum’s Multistream platform, to say, send Vertical to YouTube for example.

Once that plugins installed and active, it’s just a matter of in OBS do the following:

  • Open Settings
  • Visit Stream
  • Check “Enable Enhanced Broadcasting”
  • Leave the two “Maxium” fields set to Auto, should never need to touch those
  • Under “Addtitional Canvas” select “Aitum Vertical”
The settings dialog of OBS showing the relevant Multitrack Video settings

Now all thats left to do is under docks enable if not already:

  • Vertical
  • Vertical Sources
  • Vertical Scenes

Places those docks as needed, heres my layout for example:

A screenshot of OBS showing Docks layout

Here I put my Vertical Scenes with Horizontal and Vertical Sources with Sources.

Scenes and Sources

Then all that is left to do is to Setup your Vertical scenes and sources, which you should be familar with, having done it horizontally already and Vertical will present your existing horizontal sources if needed!

Take time in vertical to consider the layout, generally on mobile the lower 1/3 will be where chat is (to viewers) so consider there when choosing you layout. And be aware viewers on mobile can resize chat to take up more/less space how they feel (from the bottom up)

Linking Scenes

Once you have made your Vertical Scenes and sources, make sure to LINK your Vertical and horizontal sources together, so that when horizontal changes scenes, vertical follows!

A screenshot of OBS showing how to link a Vertical scene to a Horizontal one so the outputs follow the scene selections!

To do that, right click a vertical scene, go to linked scenes and select the matching horizontal scene. Here my vertical and horizontal are called the same so Vertical “Pause” is linked to Horizontal “PAUSE”.

Thats it, now when you go live on Twitch you’ll be sending both Horizontal and Vertical feeds. Viewers on mobile can easily switch between the two by JUST rotating their phone, and you can check your own Vertical feed in the dashboard stream manager!

Quality Check

Want to check your feed qualities? Pop over to the Twitch Inspector and check whats going on. Heres my last stream! Can easily see that I’m doing horizontal and vertial and the speeds that I’m sending!

A screenshot of a stream from Twitch's Inspector tool!

I think that about covers it. Go forth and dual format and check out the help guides if needed!

BUT WAIT THERES MORE

Check out the LIVE demo of Mary Kish doing the Setup here on Today’s Patch notes (a successful live tech demo no less!)

New Tool Release: Bluesky Live

Bluesky Logo

Somewhat recently Bluesky added the ability to mark/set yourself as Live on Bluesky and link out from Bluesky to a given service. At the moment that is a short list of services, but includes Twitch and Stream.place among others.

If you were to set yourself as Live manually on Bluesky, you are maxed to 4 hours, so you would need to remember and come back to bump your time or manually remove the status if you ended before 4 hours.

Given Bluesky oAuth is a thing, and because App Passwords are not tooooo much fun with work with IMO, so I built a tool to implement Bluesky oAuth as an adventure in how Bluesky does oAuth (thats likely gonna be a separate post as it’s pretty interesting and in depth).

I’m still tweaking/optimising how my code runs as there are some caching layers that could be added to speed up operations, but I digress!

AND SO via the powers of Twitch oAuth and Twitch eventsub, pair the two services together to do Bluesky Live AUTOMATICALLY! (Anyone using Stream.place it’s native to the platform)

MAGIC!

The only drawback is that Bluesky oAuth is a smidge brittle, as outlined in this Issue on GitHub I authored, even when you have your Client configured as confidential. And understanding how scopes work is FUN! (Follow up post soon)

Well what does it do?

First of all it handles the 4 hour max issue, by “bumping” the expiration time automatically whilst the Twitch channel is live. As well as:

When you go live on Twitch

  • Mark your Bluesky as live with a link to your Twitch
  • Applies your stream title as the title as Bluesky live entry
  • Applies your stream thumbnail to the Bluesky live entry

When you change your Title or Category

  • Applies your new stream title as the title as Bluesky live entry
  • Applies your new stream thumbnail to the Bluesky live entry

When you go offline on Twitch

  • Delete the live status

Periodically/every 15 minutes

  • Updates the thumbnail from Twitch to Bluesky
  • Updates the title from Twitch to Bluesky
  • Rebump the expire timer
  • Sanity check and remove the status

But wait, there’s more

Yes there is MORE!

Kylo Ren yelling MORE on loop
MORE!

Since this tool pairs your Twitch account with a Bluesky Account, when the job runs to maintain Bluesky live status, it can see if you are live elsewhere (manually set or auto set by another service), if that elsewhere is not Twitch then I won’t overwrite or attempt to manage it.

But, if it IS Twitch, then I’ll maintain the live status (and the thumbnail), so if you manually marked yourself as live on another channel, the tool will maintain the thumbnail and expire timer till that channel goes offline (or you manually remove it) which is great if you are guesting on another stream, or doing a Dungeons and Dragons show for example elsewhere on Twitch when it’s not dual streamed to your own channel.

Why 4 Hours

No idea, but on the upside it does mean that if the oAuth breaks due to the brittleness or other reasons, and the tool cannot write to your Bluesky account any more, the status will self disappear on its own.

Then you just need to reauthenticate to the tool and away it goes

Ok, let me use it

You can find the tool over at https://bluesky.chatbot.barrycarlyon.co.uk/ and it comes with the bonus of listing who is live using the tool! FREE DISCOVERY!

Starship Discovery care of https://memory-alpha.fandom.com/wiki/Star_Trek:_Discovery

And yes it works with custom Bluesky handles, like mine barrycarlyon.co.uk and should work with ANY PDS (personal data server).

Support can be found via my Discord, check the site for the invite link down the bottom right, and/or support the tool via my ko-fi! Or drop me a line thru the usual channels.

Free support methods? Well retweet/repost the Twitter or Bluesky posts about it! (or the ones about this blog post that I don’t have the links to yet!)

A screenshot of the Tool showing a handful of live streamers on Twitch whom are using the tool.

Twitch App Access Tokens – YAY ANNOUNCEMENTS!

You may have read the previous post about Twitch App Access Tokens doing more, and my sadness about Send Chat Announcement not being supported, well yesterday that was rolled out!

A screenshot of an announcement in Twitch Chat with the wording "BarryCarlyon: I made this using an App Access Token"

But Wait, theres MORE

Yes, there is more to the MORE!

Send Chat Announcement includes the same control/ability that Send Chat Message has, the ability to control if that Announcement goes to all Channels if the channel is in shared chat mode, with the default being true/send only to home channel.

So broadly this means you can run a Twitch chat bot off JUST the App Access token, as most functions a chat bot will do day to day in the primary function thread can use the Token.

Which has the added benefit of not having to juggle tokens, user refresh tokens, saving those, as to get a new App Access Token, it’s just load ClientID and Secret from env and go get a new token! And of course App Access Tokens has a longer life time of around 60 days or so, which means less refresh operations overall!

To also note there are no additional permission/scope changes here! You should be all good to go if already using conduits and were user token-ing to send announcements.

So What Else?

The Change Log offered the following:

  • channel.chat.notification now emits Watch Streak events! No longer will a bot need to listen to IRC for this single event (oooooh wait first-msg maybe that soon…), also payloads for announcements updated in line with the Send Chat Announcement change, notably as it’s not a breaking change it’s added to V1,
  • channel.bits.use has been updated to support “Custom Power-ups” whatever those are…
  • AND FINALLY: Theres a RSS Feed for the change log now!

Help?

If you need further help please join as over on the Twitch Dev Discord or Support Forums! And for anything Feature Request – Uservoice!

OBS 32.1’s new SHINY

OBS 32.1 is out and comes with some shiny stuff.

Aside from partial Canvas support into OBS Websocket, which is handy now that dual format streaming (and/or sending horizontal one place and vertical to another) is a thing. So WebSocket consumers can have some idea whats going on, but I need to sit down and play with that a little more before I comment further.

But what I have already been playing with is the new Audio Mixer, (I had some tester access to a build with the Audio Mixer in thanks to Warchamp whose leading the work on tweaking/updating the OBS UI)

So what does the new Audio Mixer do? Well in a nutshell:

  • Clearly shows which sources in the audio Mixer are Global (or pinned), Active in this scene or hidden (either due to manually hidden or not on the active scene)
  • Easy access to “monitor this source” without having to open the Advanced Audio Settings UI (and see the monitoring state)
  • Pin an audio source (to move it from the local to global list)
  • AND THE BIGGEST USEFUL THING: Ability to Rename Audio Sources! (and to some degree sort sources in the dock as it’s Alphabetic)

In Pictures

So your Audio Mixer can go from

to

Summary

So here on the new UI, you can see I already renamed my global sources, no more Mic/Aux 2/3/etc it’s closer to the Windows Device name for the source as set in main settings -> Audio.

But what else does it do? Bottom right you can see a new monitoring status button/icon, you no longer have to go into Advanced Audio Settings to toggle monitor on/off and you can much easily see which sources are montored!

So left to right, the global/pinned group then the scene active group. And then sources are alphabetic sorted instead those groups.

So get renaming after updating today!

Check out the full change log for OBS 32.1.0 over on Github or check your OBS today for the update!

And you can offer feedback via the OBS Discord!