openbroadcaster/obplayer
:radio: OBPlayer Streaming Automation Playout with CAP EAS Alerting
✨ Features
- 🔹Alerts - Voice track play timing with Priority sync
- 🔹Alerts - Add dedicated prealert volume for alerts to cut off all audio during playback
- 🔹Alerts - Add queues to pipeline for stability
- 🔹Alerts - "Stream on Alert" functionality
- 🔹Security - AWS access key and key id filtered from being exported
- 🔹Security - Added JSON secrets code
- 🔹Security - Added get_password_suffixes method
- 🔹Security - Changed to a more explicit method of filtering password suffixes
- + 3 more
📦 Improvements
- 🔸Playlist settings when determining fade out at end of show
- 🔸SDR Off Air recording dongle Improvements
- 🔸Better organize station override settings in http admin
- 🔸Station override status string in summary tab
- 🔸Store last track fade out setting in db
- 🔸Check if current track exists before attempting to find associated voice track
- 🔸Pipeline and voice track refactoring
- 🔸Support old + new libraries for video caps
🐛 Fixes
- 🔺Bug where test signal not audible without scheduled media first
- 🔺Admin username not updating when changing both the username and password together
- 🔺Changed header dashboard settings file name string
- 🔺Issue where previously running fade doesn't cancel on new fade request
- 🔺LA show not properly ending at end time
- 🔺Race condition affecting return to normal levels after show fade
- 🔺Changed header dashboard settings file name string
- 🔺Changed error string for unsupported system
- + 4 more
📦 Pull Requests - Community Code
- Added functionality to fade out a show when a new show starts. @btelliot
- [https://github.com/openbroadcaster/obplayer/pull/134](https://github.com/openbroadcaster/obplayer/pull/134)
- Split the settings database data into a new file and added a more detailed settings export file name. @TroyWarez
- [https://github.com/openbroadcaster/obplayer/pull/145](https://github.com/openbroadcaster/obplayer/pull/145)
✨ Features
- 🔹Pipewire support with Interpipe
- 🔹Simplify alert pipeline, add resample to prevent issues with different sample rates (fixes missing alert message audio)
- 🔹Alert scroll refactor, add scroll speed setting, complete alert crawl before removing
- 🔹Add F11 fullscreen toggle
📦 Improvements
- 🔸Better log filters in http admin
- 🔸Fade-in after voice-track, play scheduled voice-track
- 🔸Interpipe timestamp setting for icecast/rtmp
- 🔸Add option to reload http admin after 15 minutes of inactivity (resolves issue with some browsers resource leak)
🐛 Fixes
- 🔺Pre-decode audio (workaround for stutter issue)
- 🔺Interpipe RTP timestamp issue
- 🔺Normalize audio caps, provide silent input with main on/off functions
- 🔺Fix attention signal volume, move temporary attention signal to ~/.openbroadcaster
- 🔺Fix maintenance mode enable/disable in web admin
📦 Improvements
- :small_orange_diamond: added new item for the password system
- :small_orange_diamond: error handling of media items without a file_location. Logs error, doesn't retry downloading/playing
- :small_orange_diamond: logger module only saves the same error message once every minute to keep the logs smaller
- :small_orange_diamond: requires TLS V1.2, or above for TLS connection
- :small_orange_diamond: added a check for --disable-updater flag. Disables all automatic OS updates
🐛 Fixes
- :small_red_triangle: fixed LA shows not starting
- :small_red_triangle: fixed handle users moving from the old password system to the new one
- :small_red_triangle: fixed issue with top menu buttons. One of the buttons was failing and causing other issues because of it
- :small_red_triangle: fixed pulse audio controls was being treated like settings and commands weren't being sent
- :small_red_triangle: fixed issue with long term stability variable bitrate streaming
- :small_red_triangle: fixed error in the sync code
**Player Ver 5.1.1** Stable release for production environments <details> <summary>Change Log</summary> <ul><li>Added error handling, and logging to the audio log uploader. A sample rate issue was also fixed.</li> <li>Switched from username/password for upload to app keys.</li> <li>Added settings to the internal audio logging. Users can now set OGG Vorbis quality, number of channels, and sample rate used.</li> <li>Added support for using a Icecast source username other than the default one.</li> <li>Fixed a issue where the la playlist buttons wasn't loading.</li> <li>Fixed a issue with the alert trigger for Icecast stream one. After applying this fix you should be able to have Icecast stream one activate when a alert is being aired.</li> <li>Updated sent time for the test alerts.</li> <li>Updated test alerts to all use the sender obplayer@localhost.</li> <li>Added the Joey AWS Polly voice to the list.</li> <li>Fixed a issue with AWS Polly not processing the audio. This was caused by a missing SSML closing tag.</li> <li>Changed the timing of alerts being read by AWS Polly.</li> <li>Moved the simple bilingual to be directly below the simple test option.</li> <li>Updated sync timeout to 300 seconds.</li> <li>Added a maintenance mode to the code.</li> <li>Added more video resolutions to the player.</li> <li>Added more logging for the metadata updater.</li> <li>Fixed issue with the TOS not sizing in the modal window.</li> <li>Code clean up, added station live count in the la area when remote station override is enabled.</li> <li>Added code to display album art in la.</li> <li>Fixed the audio logging upload code.</li> <li>Moved over the http port CLI flag from the WIP branch.</li> <li>Removed TOS text output in the settings file. Since this text is multi line it can't be include in the settings file.</li> <li>Removed long pauses from alert message TTS audio.</li> <li>Fixed a alert processing issue, and added +3db of volume to the AWS Polly TTS output.</li> <li>Added new settings for title streaming to the Icecast server.</li> <li>Fixed issue with using python 3.2+ removing cgi.escape. html.escape is now used in its place.</li> <li>Fixed repeating error in logs if the remote station override module can't connect to Icecast.</li> <li>**5.1.1 CAP Emergency Player**</li> <li>Auto complete SGC fields by community name</li> <li>Bilingual AWS Polly AI Voices</li> <li>Embedded dashboard media player to monitor output remotely within browser</li> <li>Improved bilingual self generated test messages</li> <li>Real time log level > Alerts only</li> <li>Cancel Alerts</li> <li>Separate alert logs >Download</li> <li>Show alert count history, by type: Advisory, Broadcast Intrusive and Self Generated Tests. >Alerts>Advance</li></ul> </details>
OBPlayer Ver 5.1.1-beta This is a beta release that has many undocumented and WIP features. The major difference is a new secure and efficient dashboard based on [Bootstrap](https://getbootstrap.com/) **Not recommended for production use** <details> <summary>Change Log</summary> <ul><li>Added error handling, and logging to the audio log uploader. A sample rate issue was also fixed.</li> <li>Switched from username/password for upload to app keys.</li> <li>Added settings to the internal audio logging. Users can now set OGG Vorbis quality, number of channels, and sample rate used.</li> <li>Added support for using a Icecast source username other than the default one.</li> <li>Fixed a issue where the la playlist buttons wasn't loading.</li> <li>Fixed a issue with the alert trigger for Icecast stream one. After applying this fix you should be able to have Icecast stream one activate when a alert is being aired.</li> <li>Updated sent time for the test alerts.</li> <li>Updated test alerts to all use the sender obplayer@localhost.</li> <li>Added the Joey AWS Polly voice to the list.</li> <li>Fixed a issue with AWS Polly not processing the audio. This was caused by a missing SSML closing tag.</li> <li>Changed the timing of alerts being read by AWS Polly.</li> <li>Moved the simple bilingual to be directly below the simple test option.</li> <li>Updated sync timeout to 300 seconds.</li> <li>Added a maintenance mode to the code.</li> <li>Added more video resolutions to the player.</li> <li>Added more logging for the metadata updater.</li> <li>Fixed issue with the TOS not sizing in the modal window.</li> <li>Code clean up, added station live count in the la area when remote station override is enabled.</li> <li>Added code to display album art in la.</li> <li>Fixed the audio logging upload code.</li> <li>Moved over the http port CLI flag from the WIP branch.</li> <li>Removed TOS text output in the settings file. Since this text is multi line it can't be include in the settings file.</li> <li>Removed long pauses from alert message TTS audio.</li> <li>Fixed a alert processing issue, and added +3db of volume to the AWS Polly TTS output.</li> <li>Added new settings for title streaming to the Icecast server.</li> <li>Fixed issue with using python 3.2+ removing cgi.escape. html.escape is now used in its place.</li> <li>Fixed repeating error in logs if the remote station override module can't connect to Icecast.</li> <li>**5.1.1 CAP Emergency Player**</li> <li>Auto complete SGC fields by community name</li> <li>Bilingual AWS Polly AI Voices</li> <li>Embedded dashboard media player to monitor output remotely within browser</li> <li>Improved bilingual self generated test messages</li> <li>Real time log level > Alerts only</li> <li>Cancel Alerts</li> <li>Separate alert logs >Download</li> <li>Show alert count history, by type: Advisory, Broadcast Intrusive and Self Generated Tests. >Alerts>Advance</li></ul> </details>
