rse / vingester

Ingest Web Contents as Video Streams
https://vingester.app
GNU General Public License v3.0
185 stars 16 forks source link

Grouping browser enteries and assigning custom colours #12

Open JBraddockm opened 3 years ago

JBraddockm commented 3 years ago

I think to be able to separate OBS.ninja links into multiple groups with custom labels and colours would be a nice option, especially for multisession events where guests don't connect at the same time but only join in when it is their turn in the running order.

If this is a sensible feature request, I think it also makes sense to make entries draggable to move them around easily. And finally, to be able to toggle sources and sort them automatically by their toggle status. This would, for example, make the inactive ones faded and move them to the bottom.

rse commented 3 years ago

The custom labels and colors can be easily done, of course. The drag & drop is complicated with the underlying technology, but possible. The sorting according to status is also possible. I'll see what I can do in the next versions. Currently my focus is still on the performance for NDI...

rse commented 3 years ago

BTW, there is no drag & drop currently. but you can use the icons on the left to move an entry up and down, of course. Just in case you perhaps overlooked them...

JBraddockm commented 3 years ago

Yes, those buttons are handy but if I have 4 sessions/groups with 4-5 speakers in them, moving up and down one step at a time may not be convenient, which is why I've mentioned this as part of the grouping. I think it makes more sense with the existence of grouping.

Thank you.

rse commented 3 years ago

In Vingester 1.6 there is now at least an "Info" field where one can add arbitrary user information (which is not used by Vingester internally at all). This field at least can be used to document/describe the browser instances and/or to add some textual tags. Yes, I know, there is still no drag & drop or sorting, but at least a way to tag browsers...

JBraddockm commented 3 years ago

Normally, I was planning to raise the question of custom CSS as my next feature request but I see that you've already implemented that. My only suggestion is to be able to add local .css files rather than typing custom CSS in the text field, which seems more convenient, especially in the of where tracking changes.

But my real suggestion is this: In addition to grouping browser entries, assigning custom colours and custom CSS, it also makes sense to have a canvas/surface option where I can define a background colour/image if not a looping video - though this might come with a performance hit - onto which I can place multiple browser entries.

Let me explain:

  1. I define a background - or maybe a foreground with a transparent cutout since the transparency is supported- image i.e for a group - though this feature may not necessarily require groups, and project it onto a display of my choice. The resolution for this entry is 1920*1080. PIN option is selected so that the background image covers the display completely, including the menu bar and docks. So rather than the default desktop wallpaper, I now have a custom image in this display.
  2. I also have two browser entries in this group. The first one has the size of 1280*800 and projected onto the canvas above with custom position values. Similarly, the second one has a different size and position values but projected onto the same canvas. Now I have a composition that I would normally do in OBS or Supersource in ATEM. If the image selected for the group is foreground then these entries would be placed underneath it.

Since the app has already had position and pin options, it seems that it makes sense to have this canvas feature, as well. I can for example see scenarios where this feature would come in handy, not least the limited number of inputs in ATEM Mini Pro. So receiving a pre-composed scene with multiple sources is a lifesaver.

I tried to do this by using the QLab as the background and then place Vingester on top but QLab always takes precedent so it is not possible to place items above what it projects.

Hope this makes sense.