caffeinetv / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com/
GNU General Public License v2.0
6 stars 1 forks source link

COBS-12: Add Stream Utility Window #26

Closed Xaymar closed 5 years ago

Xaymar commented 5 years ago

Adds the requested stream utility window to update rating and title, and eventually display viewers and credits, and links to where the web panel might be.


This change is Reviewable

Xaymar commented 5 years ago

Storing notes for implementation:

Xaymar commented 5 years ago

The title and rating are stored in the obs main config, but i seem to have no way to go from there into the output or service. In fact, both the output and service don't seem to exist until way after the start of obs.

Additionally updating the rating and title with libcaffeine does not work at the current time. I am not sure why, but the caffeine.tv stream will always have the same title even if updated during the stream.

Xaymar commented 5 years ago

According to Jim, retaining dock state and position is managed by the auth provider, which is unusual, but not impossible. For now this is not included.

Title and Rating updates now work and are sent correctly to the service, which then begins streaming correctly as expected.

Xaymar commented 5 years ago

I don't think HTML should be in the localization file. This should just be the translatable string "View on web to see credits, viewers,\nand chat with your audience".

\n is just shown as \n for some reason. And adding a new line converts the whole thing into Qt HTML. So no idea how I should fix that.

Xaymar commented 5 years ago

There should be an if(CAFFEINE_ENABLED) that appends the caffeine files to these lists. Otherwise it breaks CI when caffeine isn't present. I don't think this is supposed to be here. Only the obs.qrc exists and cmake fails for me unless I remove this.

Fixed.

The default title should be in the localization file and LIVE should be all-acps.

Fixed.

I don't think HTML should be in the localization file. This should just be the translatable string "View on web to see credits, viewers,\nand chat with your audience".

Tried and it literally shows "View on web to see credits, viewers,\nand chat with your audience". Not sure if QLabel understands \n.

Xaymar commented 5 years ago

Tried and it literally shows "View on web to see credits, viewers,\nand chat with your audience". Not sure if QLabel understands \n.

Somehow works now? It now correctly shows as two lines, whereas it before only had one and showed the \n as normal text. Guess there was a hidden/invisible unicode character in there.

RoastyToast commented 5 years ago

Adds the requested stream utility window to update rating and title, and eventually display viewers and credits, and links to where the web panel might be.

  • [x] Panel is dockable and shows up in the menu.
  • [ ] Panel retains dock state and position across OBS starts.
  • [x] Set Rating for Broadcast.
  • [x] Get Rating for Broadcast.
  • [x] Set Title for Broadcast.
  • [x] Get Title for Broadcast.
  • [x] View on Web button opens Browser to correct URL.

This change is Reviewable

Really cool changes for the OBS chat. I am a software developer and was thinking to support the development as well as possible.

One of things I hear hundreds of streamers about is the option to have a chat overlay for streamers with a single monitor that can overlay the game just like the Caffeine app does.

If we look to an example company who did this succesfully as well with other streams is restream.io/chat

I think its good that this becomes available to the OBS client as well let's take a simple example and go for a chat window that can be moved to a spot within the studio by the user and can be undocked which gives it the skills to change its transparency, fonts for chats and notifications and size of the letters within a chat.

If this could be implemented either by your team or with support of me than there can be an option to streamers to have the chat opened overlaying there game without the need to have a second monitor that needs to open the stream to watch the chat.

Overal is this really bad as Caffeine is all about zero latency and quick interactions what is barely to not possible due to the current features.

So these are things I would suggest.

Xaymar commented 5 years ago

The instance owned by the auth service is not the one managing the broadcast. This means the calls to caff_setTitle and caff_setRating need to happen in caffeine-output.c. The simplest way to do this is probably to rename game_detection_thread to something more general (periodic_update_thread?) and put the settings check in there.

That would explain why it didn't update the title and rating. Adjusted it now and it seems to work fine.