Good Morning Everyone,

After a fair amount of feedback regarding OSP running on Python 2.7, I’ve moved the code to run on Python 3 and incremented the version to Alpha 4.

https://gitlab.com/Deamos/flask-nginx-rtmp-manager

Anyone who tried out Alpha 3 and want to upgrade to Alpha 4 will need to run an update script which was added to the /opt/osp/setup/other directory.

Again, thank you for the feedback and if you would like to see something added/changed/fixed, please let me know via the Gitlab page.

Good Evening! I have officially set the Alpha 3 release in Gitlab to a released status. See below for some of the improvements and changes:

  • API has been changed to a Swagger API, including self documentation of endpoints and authenticated API functions.
  • Improvements to the Mobile Layout
  • Docker Support with provided DockerFile
  • Restructured Directory Structure to allow for easy updating using “git pull”
  • Added Channel Names to Video and Stream Cards
  • New Streams are now Titled with the Date and Time of the Start of the Stream
  • Social Sharing and Video Embedding
  • Set a New Thumbnail Photo from the Video Playback Page
  • Video Playback Backend change from hls.js to videojs
  • Pop-out Chat Windows
  • Backend improvements to allow for easy future Database Upgrades

With this upgrade, anyone moving from Alpha 2 will need to make a few manual changes to incorporate the new file structure and format:

Upgrading from Pre-Alpha3

  • If you are updating from pre-Alpha3 and use SQLite, save a backup copy of your database.db, config.py, and /usr/local/nginx/conf/nginx.conf files in a safe location outside of /opt/osp.
  • Remove the /opt/osp directory and perform a fresh install then move your database.db file to /opt/osp/db and your config.py to /opt/osp/conf.
  • Adjust the /usr/local/nginx/conf/nginx.conf to match your environment (TLS/etc)
  • Edit your config.py file and change the dbLocation variable to be the following:
dbLocation = 'sqlite:///db/database.db'
  • Restart the OSP Service
sudo service osp restart

In the coming days, I will start working on the Beta 1 release which will include improved Mobile Layouts, Chat Channel Muting, Password Protected Channels, and more.

I am also looking for someone who is willing to develop a new logo for the Beta 1 release. If you are interested, please feel free to get in contact with me here.

I’ve been hard at work to add what will be full implementation of the API for OSP. I wanted to create something that was easy to document for users to build applications which use OSP..

I am planning on implementing a Swagger API for self-documentation using Flask RestPlus which should be make future development and documentation easier. The goal is to start with a few simple endpoints for the Alpha 3 release and expand during the Beta releases.

If you have any ideas on needed API endpoints or on future features, please let me know.

With the Holidays coming up, the time I’ve had to work on OSP has been a bit reduced. However, I have had the opportunity to add a few new useful features.


Migration from HLS.js to Video.js

Changed the Sorting of Videos to Newest to Oldest

Added an Argument for all Videos/Streams for Embedding Layout and Auto-play

  • Enabled by adding arguments to Videos and Streams
    • embedded=(True/False)
    • autoplay=(True/False)

Added Social Sharing to Facebook / Twitter or via Embedded iFrame or Link


I plan on adding a few more features after the new year. There has been some interesting in providing a Dockerfile for container-based deployment. In addition, I am looking at adding html5 based subscriptions and authenticated API functions for channel owners.

Finally, I am still looking to get a new logo for OSP. If anyone is artisitically inclined and would like to submit a logo, please contact me here in a comment or on the OSP Gitlab Page.

I’ve been working to add a few important features for Alpha 3.  These additions should help with quality of life and future plans.

First, I have added in the ability to set Likes for Streams and Recorded Videos.  The framework is also in place for Likes for Channels, but will be implemented in the future.

In addition, I have also created the ability to set the current recorded video Thumbnail.  You can do so by clicking on the camera icon in the Video Information Panel when you are the video owner.  I hope to add the ability to let you preview this thumbnail prior to saving it, but it may also take some time and may not be until Beta 1.

Finally, I have added a Public side API.  The API can be reached from the following locations:

  • /api/v1/channels/ – Lists all Channels on the server
  • /api/v1/streams/ – Lists all Streams on the server
  • /api/v1/vids/ – Lists all Recorded Videos
  • /api/v1/topics/ – Lists all Topics

For all Public API Endpoints listed above, you can add a specific ID to show information for one entry, based on the ID

  • ex: /api/v1/vids/14 – Will show just the information for the Video with ID #14

It has been a bit since I’ve done and update, but I’d like to note that I have completed and released what would essentially be Alpha 2. Here are some notable changes:

  • Refactored code to separate all classes out of the main app.py file
  • Created a Streamer Role which allows the Server Admin to Define who has the rights to Stream.
  • Added a “Streamers” page showing all Streamer Users which have rights.
  • Users now have the ability to reset their passwords
  • Mobile View has been formatted to look better on Login Screens
  • Admins can now setup the SMTP settings with blank usernames and passwords, if their SMTP server allows it
  • Basic Admin Page Functionality has been completed, more coming in future Alpha releases.

More will be coming as I have time to work on the next Alpha release.  I am planning on adding a subscription system, as well as a public and private API.  If you have any features you would like to see, please let me know.

You can pull the current release from https://gitlab.com/Deamos/flask-nginx-rtmp-manager

Much work has been put in lately and I believe that 90% of the functionality is now complete.  While I am not ready to call for an official Alpha release yet, I have deployed a low quality “Alpha” out to the web at http://osptest.divby0.net.

Some of the most recent changes:

  • Topics Page is now working
  • Chat has been stylized and animations added
  • Custom Channel Topics have been added and allow for custom images to represent them

Today, I started work to make the interface more responsive for Mobile Devices.  After a bit of trial an error, I think I found a format that I may settle on.  The live stream portion will still allow for chat, as well as the UI for performing edits if needed.