DESOSA 2021

OBS - Product Vision

Open Broadcasting Software (OBS)1 Studio is an open-source cross-platform streaming and recording program. Instead of being a high-priced subscription program or a free program that is toned down in its capabilities unless you pay some fee, OBS Studio is free to use, with no strings attached. The mission of the developers is to become the leading software for live streaming and video recording. The team actively listens to its users and tries to tailor a product that fits everyone’s needs. OBS Studio is also equipped with a powerful API, enabling plugins and scripts to provide further customization and functionality specific to the users' needs1.

Domain concepts

In this day and age, the concept of video recording and live streaming has become normalized. However, not everyone is technically advanced enough to do so. OBS Studio provides accessibility for these people. It is made in such a way that it is simple and straightforward. The basic steps would look like this:

  • A user can create a scene, which is the layout of the screen that will be recorded, i.e the placement of the camera
  • The scene can be made up of multiple sources, i.e screen, camera, figures
  • The user can record the scene for as long as the user wants, this can then be downloaded in different formats (mp4, mkv, etc)

For the people that want to do extra stuff and let their imagination go loose, there are a lot of other options for them as well. Other options that are provided can be the following:

  • The user can also opt to display the scene in real-time on a platform such as Twitch or YouTube.
  • Other means of customization are also available to the users such as adding all kinds of things to the layout, have multiple scenes with transitions between them, the exact audio input, the resolution, and the bit rate.

Main capabilities

OBS Studio’s main capabilities are video recording and live streaming1. It does so on different operating systems with different languages to meet more users' needs.

Figure: Figure1: OBS Studio user interface

For video recording, users need to set the recording path and enable the replay buffer. As a default, the encoder of recording is the same as live streaming, however, if users decide to select a recording quality other than preset of live streaming, they can select other available hardware encoders at the user interface2.

For live streaming, users can record video/audio, capture screen, and cursors, and stream the video/audio to the live streaming platform he/she selected. The video/audio bitrate is set by users according to upload speed and the limitation of the user’s service2.

  • As input, OBS Studio supports multiple types of data, such as video, image, screen capture, and camera, etc.
  • During the stream, OBS Studio provides filters for video and audio. In the same scene, the user can also add multiple resources and the features of each resource can be adjusted. The stream output resolution of the video can set as well, for example, if users are willing to output a stream with a lower resolution than video sources, they can set output resolution according to their needs.
  • As output, OBS Studio provides formats for streaming, local data like mp4, and raw data. Therefore, when users are live streaming, they can also record the video at the same time.

For audio recording, OBS Studio supports up to 2 desktop audio devices and up to 3 microphones/auxiliary devices, for each audio device, hotkeys can be used to enable push-to-mute or use the push-to-talk function2.

Some general settings of the user interface like changing dark/light themes are provided as well. Basic commands such as enabling/disabling recording or live streaming are displayed as buttons on the user interface2.

OBS Studio provides other hotkeys as well. Users are allowed to set these hotkeys for various functions, for example, start/stop recording, switching scenes, etc.2 to make this software more convenient and customized.

Besides these, OBS Studio offers various third-party plugins. These plugins can be mainly divided into three types: sources, tools (such as scene switcher), and filters (both for video and audio). All of the official plugins can be found at the website of the OBS Studio forum3. The supporting platform and install instructions of each plug-in are displayed on the individual web page. Users can download these plug-ins according to their needs.

The Context

OBS Studio is meant to be used by individuals. The user downloads the software on their operating system and runs it as an application. It supports Windows 8 and later, macOS 10.13 and later, and Linux1. Within the product, the user can allow OBS Studio to make use of their screen, camera, and so on.

Third-party tools such as video capturing cards for capturing external resources are also supported1. This allows the user to record, for example, their console.

The partnerships they have with Twitch and YouTube and other platforms4, allow them to add features so that connecting to these platforms is easier when using OBS Studio.

When using OBS Studio to stream, it serves as a streaming client, thus it needs to transmit data with a streaming server. For example, if the user chooses RTMP as the streaming protocol, then the streaming needs to communicate with an RTMP server.

Stakeholder analysis

This section is focused on the stakeholders of OBS Studio. The role, needs, and benefits of these stakeholders are explained. The stakeholders of the software can be divided into 5 groups: end-users, business, customers, domain experts, and developers5.

End users

The end users are the people who record their screen or other forms of input to eventually download or stream it live on a platform. OBS Studio keeps the product simple so that almost anyone can make use of it. If an end-user has requests for additional features or has encountered problems within the product, then these can be posted on their Github, website, or discord. As the product is completely free, the powerful tool is easily accessible for the end-users.

Developers

OBS Studio started as a small project created by Hugh “Jim” Bailey in 20126. So far over 400 contributors volunteered to work on this project since it was released in 2013. The product is now mostly community-driven in terms of development. They pick up the requests made by the end-users. If the developers want to add specific features for themselves, they are also free to do so.

Customers

Customers are companies or enterprises who have embedded the software into their products. Specific services are offered to them to extend the open-source software. In turn, these companies or enterprises make use of these services to offer extra services to the end-users.

Business

Enterprises, companies, and end-users can opt to support the OBS Studio development team by being a sponsor and making monetary contributions. These contributions go to a communal fund, used to support the core members of the development team.

Domain experts

There is an overlap between domain experts and developers. Those who contribute to the architecture of OBS Studio can be seen as domain experts. Except for the solution domain, people who have a clear understanding of problems are also experts.

Key Quality Attributes

This section will focus on the key quality attributes of OBS Studio and its system.

Maintainability: During the rework of OBS Studio a lot of focus was put on the maintainability of the system. The core of the system is already in place with additions through means of plug-ins. That is why OBS Studio has the ability to be retained in or restored to a specified condition, namely the core of the system.

Modularity: The use of plug-ins enforces the option for modular components. Apart from the core, the components can be decoupled and restructured.

Customizability: The users are able to customize their own settings and scenes. They can arrange them in millions of unique configurations.

Extensibility: By means of additional plug-ins and scripts that can both be found on the OBS forum7, or even created by the user themselves, the functions of OBS Studio can be extended to the users' desire

8. Ethical Considerations

It’s obvious that the main ethical consideration of OBS Studio users is the violation of their privacy, because of the accessibility to all the video/audio capture devices (like cameras and microphones) assigned to OBS, which means theoretically, OBS Studio can record video/audio or send video/audio stored in local documents to a server without user’s permission.

OBS Studio did not violate privacy regulations during its existence. This is because after recording, all the videos are saved locally instead of transmitting to any website. During the usage of OBS, live streaming is the only chance to transmit video/audio to another platform, however, OBS Studio requires users to select a specific live streaming platform by logging in. In this case, users are aware of the transmission by logging in to a certain platform and allowing the privacy policies of live streaming platforms8.

Roadmap

The developer’s website does not show any official roadmap. There are, however, milestones on Github for the yearly releases, which is their version of a roadmap. The next release (OBS Studio 27.0) will be the 31st of March with 9 issues left open. The next version (OBS Studio 28.0) already has open issues as well.

For now, there are no new big features planned for either of those versions9. The general roadmap is focused on improvements to the system. These can be quality of life improvements or bug fixes. This does not however that the community is content with OBS Studio and its position in the market. Some developers have created Streamlabs, which is built upon OBS Studio and primarily focuses on streaming and taking advantage of all the best that those platforms have to offer. So this shows that the community is always looking on improving.

Reference


  1. OBS Website ↩︎

  2. OBS guide ↩︎

  3. OBS plugin ↩︎

  4. Partnerships ↩︎

  5. Coplien, J. O., & Bjørnvig, G. (2011). Lean architecture: for agile software development. John Wiley & Sons. ↩︎

  6. OBS Development Blog ↩︎

  7. OBS Forum ↩︎

  8. Privacy ↩︎

  9. A discussion with the developers on Discord. ↩︎

OBS Studio
Authors
Jeroen van Dijk
Chakir el Moussaoui
Jing Zhou
Huishun Zhang