I am pleased to announce the release of Beta 4 from Development to the master branch. As always, this update brings many changes which improve the functionality and stability of the OSP Platform.

Multiple Service Workers

OSP has expanded the number of workers from 1 to 10, allowing OSP to handle more concurrent users. Users are automatically split between the workers to improve responsiveness and stability. This change also requires that the command to stop/start/restart OSP has been moved to:

systemctl start/stop/restart osp.target

Reworking on Authentication Handling

Authentication of protected streams has been changed to use Nginx and an API endpoint to speed up the handling of those permissions.

This will require a recompile of Nginx and can be performed by running the setup script and updating of the osp-redirects.conf and nginx.conf files.

Redis for Asynchronous Processing

The use of Redis has been added as a requirement for OSP. This is due to the way multiple workers need to communicate with each other. In the standard setup script, Redis has been included in the install, but can be run on a separate system

Note: Redis is not included in the Docker image and a Redis instance will be required to be setup by the user and configured prior to OSP working. The following Docker Environment Variables have been added to support Redis:

  • REDIS_HOST: Sets the Redis Instance IP/Hostname (REQUIRED)
  • REDIS_PORT: Sets the Redis Instance Port – Default: 6379
  • REDIS_PASSWORD: Sets the Redis Instance Password, if needed

New Channel Management Interface

OSP’s My Channels UI has been revamped to include new functionality. You can now edit videos, clips, and other settings across all of your channels on the same page. We have also added the ability to Publish/Unpublish videos, allowing you to determine when you want a video displayed to your audience. Settings have also been added to allow a channel to no longer automatically publish a new video when it has been recorded or uploaded

Stream Card v3

Stream Cards have been changed to be more compact and uniform across the Default Theme. Stats have been moved to the edges and corners of the thumbnails

And many other changes and fixes…

We have added in the ability to have notifications displayed for channels that you follow. In addition, there have been a number of fixes to bugs which have been discovered. See the full changelog below

Full Changelog

Beta-4
==============================================
- Added Worker Services on local ports (5000-5010) for OSP Gunicorn to handle multiple concurrent users
    * Note: OSP must now be started and stopped using systemctl start/stop/restart osp.target
- Passed Authentication Validation to Nginx instead of passing through Gunicorn First.
    * Note: This will require a new recompile of Nginx by using the setup script or compiling manually as well as updating the osp-redirects.conf and nginx.conf
- Moved Async Processing to use Redis.
    * Note: New Configuration Variables have been added to the config.py file which are required.
    * Note: Redis is not included in the Docker Image and must be installed in a separate container or server for OSP to work
- Added Stream Chat Restriction of 1 Message / 2 Seconds to prevent chat spam or flooding
- Added Notifications for Various Events such as New Streams, New Videos, New Comments, Likes, etc
- Added Video, Clip, Channel, and Stream Sorting
- Added the ability to Publish and Unpublish Videos and Clips
- Added an option to Channels to Autopublish Videos (Enabled by Default)
- Added Recommended Profile Picture Resolution
- Added Switch to Enable/Disable the Channel Protection system due to the slight overhead on pulling videos and images. System default on new installs will be disabled. Existing installs will be enabled on upgrade.
- Switched from Flask Security to Flask-Security-Too
- Fixed Issue where Themes would not load properly after changing in settings, but would work on a restart
- Reformated Display Cards to v3
- Reworked User Channel Screen
- Added Per Channel Video Control from the User Channel Screen
- Fixed issue where Defaultv2-Dark's Popout Chat retained the Defaultv2-Light's theme
- Moved Gunicorn Logs to /opt/osp/logs
- Updated Flask-SocketIO to 4.2.1
- Fixed Issue where Channel Subscriptions were not being restored from backups
- Fixed Variables causing Type Confusion
- Fixed Issue where Video and Clip Thumbnails were being generated based on the current video player timestamp, instead of the timestamp of the last captured screenshot
- Movement of References to Prevent Calls before they are Referenced
- Fixed Issue where Creating a Channel via APIv1 caused an error
- Fixed an issue where Video Comments may cause an error preventing the video from being viewable

Conclusion

We have been humbled by the OSP community and appreciate everyone who has dropped in to the Discord channel giving suggestions, providing to support to others, and giving their appreciation.

Up next will be Beta 5 where we will be continuing our polish and adding a few more features before we hit the big version release 1.0.

You can find more information on the Open Streaming Platform at https://openstreamingplatform.com. We also accept contributions at https://openstreamingplatform.com/contribute which helps us keep the demo site and the main site up.

Thank you again and we look forward to kicking out the next version for you all.