Good evening! Since the release of Beta 1, I’ve been hard at work building the next version of OSP. One of the major themes of this version is cleaning up some of the issues from Beta 1 and adding some polish to the system. As part of that polishing, we will be including a new Default UI. This UI aims to be much simpler and clean.
In addition, I’ve included a few concept pictures of what the Video Player and Live Channel Pages will look like:
While the final result may not look exactly like the above pictures, it is representative of the direction I am heading with the design.
This rework will also simplify the templates making it easier for other to build their own themes.
Finally, I had added a few additional changes, which include the following:
Added the option to not require email validation on new users
Added the ability to change the Top Header Icon to your own custom image
Added the ability to move a recorded video from one channel to another
This is not a comprehensive list and there will be additional features to come with Beta 2.
While I know I have been pretty silent here on the blog, between life and work I have been busy jamming away on OSP’s Beta 1 release.
Here is a preview of some of the things coming, based on the feedback of the issue contributors on Gitlab.
Server and Channel Viewing Statistics
Many have asked for a method to see over time how they can see viewing trends for their videos and live streams. With Beta 1, basic server wide and channel wide stats will now be available for you to see when people have viewed your server or your channels.
Updated Admin Interface to Work Better on Mobile
As you can probably see in the last feature, the Admin Interface has been updated to better handle being managed or viewed on a Mobile Phone or Tablet
Some work has been done behind the scenes to finally allow for adaptive streaming. Adaptive streaming allows users who have lower bandwidth than the live streaming quality to be able to view the stream. Server Administrators can enable Adaptive Streaming for their entire sites. Streams will be transcoded to allow for videos to be watched at 1080p, 720p, or 480p. However, this will cause a high cpu load and for instances of OSP that are running on slower hardware or cheap VPS’s, it is recommended to leave Adaptive Streaming off.
Redesigned User Channel Page and Chat Themes
The user channel page has been to work with mobile devices as well. Furthermore, we have incorporated the ability to have different chat themes (Backgrounds, Animations, and Text Colors). These themes can be set on a per-channel basis so each can be unique.
Channel Descriptions, Video Descriptions, and Comments
With Beta 1, we are adding the ability to set a description on a per channel and per Recorded video basis. Also, recorded videos can now have comments added to them by users. The ability to enable comments can set on the entire OSP instance and on a per video basis. In addition, channel owners and admins can moderate comments.
Server Wide Theme Support
Beta 1 will be the first version to support full user custom themes. With the release of Beta 1, we will include a base theme template that will act as a base for themes you can customize and run on your own site.
More to Come!
OSP Beta 1 is not finished yet and there will still be a few more features to come before release:
Event Hooks: Perform an outbound webhook api call on Live Stream Start/End and other events
Upvoting of Video Comments
Password / Authorized User Only viewing of channel videos and streams
Thank you to everyone who have supported the OSP project and I encourage everyone to try out the Development build and provide feedback and suggestions. In addition, we now have a Discord channel available and a Subreddit to find others running OSP or if you need any assistance setting up or running the system. Finally, I also have been slowly working on an official website for OSP at https://openstreamingplatform.com. If you would like to support the project, I am always looking for someone to assist in the site development or contributing to the OSP project.
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
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.
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.