Owncast v0.0.12
This release has a handful of features, big and small, to improve the overall Owncast experience, primarily around the core streaming and chat functionality.
Chat User Menu
This new dropdown menu should help clarify how you change your name, as it was not always clear to all viewers how to do so.
Stream Notifications
To assist streamers in automating their live stream announcements, some new ways to notify your viewers and your community have been added.
- Browser push notifications
- Discord
Of course the existing “Follow” Fediverse functionality still is the more robust way for a viewer to be notified when you’re streaming, as it allows you to send out messages to your followers and allow them to perform some “social” functionality, but with the goal of meeting viewers where they already are, these channels have been added.
Stream Health and overall Playback Performance
Using the new Stream Health page in the admin you can monitor the overall playback performance of your stream. While it can’t be guaranteed to detect all issues with all players, it should be able to give you relative confidence when things are going well, and help you identity specific issues that you can resolve when troubleshooting.
It should be noted that only those who are viewing your stream via the Owncast web interface, and only those not using Webkit-based browsers, will have their detailed metrics available. The page will tell you what percentage of the viewers are represented in the numbers.
Authentication
Some options for chat user authentication have been added. This allows people to reclaim their identity when people move between browsers, devices, or prefer to use Owncast using private browsing features. This is especially useful if you are a moderator and want to reclaim your moderation role, but in general it’s for anybody who wants to have a stable identity in chat. It’s not required, and most casual viewers should probably never have to take advantage of it unless they especially want to.
As a secondary benefit, those who choose to authenticate will have their chat display name locked to their identity and others cannot use it. This should hopefully be a good compromise between locking all display names and locking no display names. However this is still just a display attribute and there’s nothing stopping people from creating names that may look similar to yours.
Authenticated users will have a checkmark next to their name in chat.
There are two different ways you can authenticate with Owncast chat, allowing you to restore your identity between browsers.
IndieAuth
IndieAuth is a decentralized identity protocol that allows an individual’s web site to become its own identity provider. Owncast itself, is now an IndieAuth provider you can use to authenticate against Owncast instances, or any other site that supports IndieAuth.
The clear use case is using your Owncast instance to authenticate with chat on other Owncast instances. Alternatively you can test this functionality by logging into The IndieWeb Wiki, Telegraph, or This IndieAuth test page. Simply put in the URL of v0.0.12+ Owncast server when logging in.
Keep in mind this is just for Owncast instance admins, and you use the same username/password as you do when logging into the Owncast Admin.
Fediverse Auth
For Owncast instances with Fediverse functionality enabled you can be sent a one-time-password that works similarly to when you log in with your phone number on different services. You can use this code to authenticate with Owncast chat. You must allow direct/private messages on your Fediverse account from the Owncast instance.
Chat Banning via IP
Users that have been banned from chat will now have their IP address automatically blocked. You can remove IP address blocks from the admin separately from the user ban.
Established chat user mode
Enabling this mode will stop newly created chat users from being able to chat. It should be seen as an “anti-troll mode” that you can turn on if some new people drop by your chat just to harass and annoy.
Prometheus Metrics
You can now optionally use a Prometheus metrics server to monitor your Owncast instance. You can add /api/admin/prometheus
to your Prometheus configuration to consume the metrics.
Experimental Lower Latency Playback
Some viewers may enable a new, experimental, feature in the player settings for streams that can benefit from lower latency playback. If you find yourself getting excessive buffering or playback issues with your stream after turning it on it’s suggested you not use it at this time. It would also be appreciated if you find issues to let us know what stream you’re using this with so we can continue to improve the feature.
Only viewers using the Owncast web interface and not using a webkit-powered browser will have this feature available. A stable and fast stream is required for this feature to perform its intended function.
What’s next?
If all goes according to plan this will be the last update before releasing a rewrite of the Owncast web interface. This will allow the project to move faster on the frontend going forward, so big features on the roadmap can be worked on.
Work is already in progress, but it’ll be a long road to feature parity. I hope you’ll be patient as the frontend is focused on this next time around.
This update will impact most users, so as time goes on I’ll make sure to update everyone on what to expect, and optionally how to prepare to take advantage of the new features.
Changelog
[0.0.12] - 2022-07-09
Upgrade instructions from 0.0.11
- Stop the service from running. If you’re using a pre-installed image through a hosting provider, or setup Owncast to run under systemd you can probably just simply run
systemctl stop owncast
. - Change to the directory where Owncast is installed on your server. On pre-installed environments it may be in /opt/owncast/owncast.
- If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
- Re-run the installer as the user you run Owncast under. For example if you are running owncast as the user “owncast”:
su -c "curl https://owncast.online/install.sh |bash" owncast
- Restart the service. If you’re running under systemd
systemctl start owncast
.
Major updates
Added
Option to disable join messages in chat #1582
Can set separately set the chat server host #1378
Prometheus compatible metrics endpoint #1303
Opttionally show geo location data from video viewers #1477
Extend the viewers timeline #1478
Add a small indicator visually showing a message is from a bot/external service #1172
IP banning of users #1534
Add videotoolbox codec for macOS #1771
Video playback health and performance metrics #793
Experimental lower latency playback mode #837
Auto-poster for some 3rd party notification channels #1609
Web push notifications #1656
Owncast can function as an Indieauth provider. #1272
Authenticated users’ display names are no longer available to others. #1810
Add “services” and “metadata” to NodeInfo/2.0 #1922
manifest - Add fullscreen mode/change name #1934
Troll/Established chat user Mode (like +m on IRC) #1587
Chat auth using the Fediverse #1774
Breaking Changes
- API endpoint rename: “integrations/chat/updatemessagevisibility” -> /api/integrations/chat/messagevisibility #1966
Changed
Auto-select old text when changing display name. #1754
Change cachebust param to random string to support CDNs #1781
Change CMD to ENTRYPOINT in Dockerfile #1831
Replace hide chat toggle and username change form with chat user dropdown #1648
changed followers tab to 24 per page #1855
Fixed
Selecting an emoji immediately when visiting page without focusing text input ignores selection #1419
Fix exception when using emoji input in chrome #1782
Framerate slider is broken. Can only select lowest and highest values. #1791
Fix stat components in hardware admin page #1815
The “no” button in the codec confirmation popup does nothing #1809
Issue: chat unscrollabe on some resize operations #1830
Fix datastore cache warming not firing #1889
fix the server name in nodeinfo/2.0 #1907
“invalid cross-device link” error when running on a different filesystem #1768
[bug] Follow request from GoToSocial causes nil pointer exception #1955
Fix API documentation “integrations/chat/updatemessagevisibility” -> /api/integrations/chat/messagevisibility #1966
Remove doubled paragraphs around stream title for Fediverse messages. #1927
Prevent CSS class injection and directory traversal via custom emojis #1772
HLS segment name collision when using the lowest latency buffer option #1778
Remote Fediverse servers are caching the instance logo even after its changed, add a cachebust. #1776
Remote Fediverse preview images get cached, add a cachebust #1777
Viewer chart Y axis strings are formatted weird #1816
Cursor when composing chat message appears on the right-hand side of the text field in Firefox #1561
Unable to follow an Owncast account from Misskey #1690
Removed
- Remove support for uploading SVG logos #1773
Thank you to our contributors!
The contributors for v0.0.12 were: funkyhippo, tsmethurst, MFTabriz, t1enne, cr0ax, hufman, zerodytrash, lfuelling and gabek. We also thank all of the fantastic people helping out in the Owncast chat answering questions, testing and providing feedback.
Thank you to our financial supporters!
A huge thanks to those giving us to the resources to run servers, have testing environments, host collaboration tools, pay for 3rd party services to test with and the means to experiment with new ideas we wouldn’t be able to do otherwise.
Our project sponsors Noblestreet, Okta and hexploitation.
And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Raffael Rehberger, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Ole, PlayBox Technology, Guest and Guest.