owncast

Take control over your live stream video by running it yourself. Streaming + chat out of the box.

MIT License

Stars
8.9K
Committers
157

Bot releases are hidden (Show)

owncast - Owncast v0.1.3 Latest Release

Published by gabek 6 months ago

Changelog

[0.1.3] - 2024-04-07

Upgrade instructions from 0.1.2

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Sanitize Fediverse username #3424

  • Set content-type for customjavascript #3612

  • Added "rel-me" attribute to server-rendered bot/metadata/search page template #3290

Changed

  • Do not send a join chat event if that user is already in the chat #3487

  • chat messages and state changed events should be in aria live region #3335

  • Replace Twitter social link icon with the stupid 𝕏 one #3427

  • Chat moderators should be exempt from message rate limiting #3533

  • Improve design for offline video embed #2917

Fixed

  • Admin scrolls horizontally in a weird way on narrower screens #3260

  • panic: concurrent map write #3440

  • Bug: "Error: too many colons in address" #3419

  • Not selectable items in quality settings menu #3368

  • Sharing Owncast fediverse posts to a few thousand accounts causes video buffering #3189

  • Thumbnail not consistently generated when using S3 #3522

  • Player timestamp is sometimes shown as undefined #3652

  • Changing Log-Entries-Per-Page in Admin Console Doesn't Work #3511

  • When embedding Owncast chat via iframe the page jumps to where the iframe is #3500

  • Pagination Doesn't Work in 'Followers' Console #3510

  • Protect emoji delete API from possible path traversal exploit 1b14800c7d7f54be14ed4d130bfe7f480645076e

  • Unable to create Webhooks on 0.1.2 when "When a user leaves the chat" checked. #3524

  • mobile-chat-button is displayed for mobile users when chat is disabled. #3535

  • Video embed does not fill vertical height #3587

  • Thumbnails do not generate when using S3 path prefix #3518

Removed

  • Remove Matrix URL validation, allowing any URL #3329

Thank you to our contributors!

The contributors for v0.1.3 were:
anniepauline, gabek, varungujarathi9, DarkFalc0n, jhimanish, heavygale, yerimsong and armadi1809.
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 fantastic corporate sponsors none and generous donors Simon Michalke, Luka Prinčič, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Guest, SillySam, emacsen, Incognito, GunghoGeoduck, Rick, Didier Malenfant, Tom, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Vencabot, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear, Jnktn.tv, Denman Rooke, gravitons loves the Fediverse <3, John Brubaker, Catfish Da Man, box464, Tom Ryder and Guest.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

owncast - Owncast v0.1.2

Published by gabek 11 months ago

Changelog

[0.1.2] - 2023-11-18

Upgrade instructions from 0.1.1

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. Re-run the installer as the user you run Owncast under. For example if you are running owncast as the user "owncast": curl https://owncast.online/install.sh |bash owncast
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Log IP address when stream key is rejected #3212

  • Do not allow the use of externally API registered chat display names #3234

  • Add confirmation/conditions/agreement modal when enabling directory #3258

  • Chat user leave event #3201

Changed

  • Don't let people set private IP addresses as public url #3268

  • Revert back to using server-rendered bot pages #3253

  • Handle people trying to save invalid URLs in the admin #3297

Fixed

  • Fix typo in actions.tsx #3225

  • Cleanup local files when using object storage #3230

  • Occasional crashes, SIGSEGV #3223

  • Add support for custom object storage path prefixes #3254

  • [bug] macOS 0.1.0 release doesn't run on arm macs #3056

  • Support custom serving endpoint with local storage #3292

  • Firefox: URL adds a mysterious "#" #3240

  • Geo details in viewer list is not populated when using a CDN #3349

  • Fix embed player heights #3210

  • invalid memory address error #3331

  • Mobile action menu button does not scroll #3271

  • Client side exception in /admin/chat/users/ #3373

  • fix emojis overflowing the chat message #3228

  • Fix parsing of Authorization Bearer header #3376

  • "missing port in address" error after IP address parsing change #3371

  • fix: add additional validation before making remote requests #3398

  • Bug: "Error: too many colons in address" #3419

  • User badges need spacing between them #3247

  • Incorrect artifact timestamps on builds #3282

  • live for announcements should not be in aria live region #3334

Thank you to our contributors!

The contributors for v0.1.2 were:
t1ff4ny, kamegoro, Pranav2612000, janWilejan, alyssais, eltociear, tfunken, pjbollinger, armadi1809, gabek, jprjr and shreyass-ranganatha.
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 fantastic corporate sponsors none and generous donors Simon Michalke, Luka Prinčič, Kyle Bronsdon, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Guest, SillySam, emacsen, Incognito, GunghoGeoduck, Rick, Didier Malenfant, Markus Ressel, Kit Aultman, Mohamed Elsheiry, Tom, ETKMusic.dance, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Raymon Mens, Vencabot, James Carpenter, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear, Jnktn.tv, Denman Rooke, gravitons loves the Fediverse <3 and John Brubaker.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

owncast - Owncast v0.1.1

Published by gabek about 1 year ago

I hope everyone is enjoying all the changes and improvements from the web overhaul that came with v0.1.0. With so many changes we knew there'd be a a slew of bug fixes to come along after. And the first round of those are here.

Some changes you might be interested in:

  • Chat is now re-sizable and there's a convenient way to get the "pop-out" chat window.
  • Those who use object storage for their steams will now finally see their segments get cleaned up automatically by Owncast without having to configure lifecycle rules with their storage provider.
  • There's a handful of fixes that should improve glitchy chat performance, including a bug where people using mobile Firefox on Android couldn't use chat at all.

Changelog

[0.1.1] - 2023-07-28

Upgrade instructions from 0.1.0

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Option to prevent search engine indexing of Owncast pages #2684

  • Allow using the video serving endpoint outside of the S3 config #2785

  • Cleanup of old stream segments in S3 bucket #2646

  • Extend Webfinger response to include additional references #2851

  • Display a user flag for bot accounts #3046

  • Preload custom emoji images #3117

  • Support showing display name in each chat message via css #3077

  • Add year to chat users dates in admin #3175

  • Use VA-API hardware decoding and scaling #2976

  • pop-out chat button #2848

  • Adjustable chat width #1918

Changed

  • Visually split up chat messages slightly even when user is collapsed. #3062

  • Admin S3 configuration form - Change secret input to be a password type #3013

  • Chat name will auto-close after changing name #3083

  • Increase width of volume slider #3155

  • Improve overflow behaviour in chat input #3167

  • Add current stream status in webhooks #2881

  • Chat - Pass along custom emoji names in raw chat data #1803

  • Improve iOS Browser notifications UX #2992

Fixed

  • Fix federation info modal text colors #3010

  • Docker releases have a double "v" in the version number #3066

  • Admin established user mode toggle switch reverts to previous state after changing it #3070

  • Chat automatic scroll to bottom is buggy #3029

  • Image opengraph tag has double slashes creating an error #3075

  • Android + Firefox results in duplicated characters when typing in chat #3094

  • fix TitleNotifier crash #3100

  • Inputting text into the chat can cause page scroll #3110

  • Deleting all stream keys causes client-side errors #3114

  • Fix for potential external actions crash when there are no actions #3116

  • Video Embed: /embed/video introduces scrolling #3104

  • Emoji markup is cut off when hitting character limits, breaking the images #3120

  • Improve chat scrolling performance #3165

  • ChatBox Error - SelectAll + Delete does not work if input is text + emoji #3121

  • External actions no longer receive username url params from 0.1.0 frontend #3130

  • If chat is disabled an exception is thrown trying to use the displayName #3138

  • Admin message page have oddly shaped emoji images #3126

  • UI crashes when no codecs are found. #3141

  • Appearance Settings resetting after page reload #3170

  • Don't IP ban localhost #3172

  • Hidden messages are not hidden unless the page is refreshed #3166

  • Sharing Owncast fediverse posts to a few thousand accounts causes video buffering #3189

  • s3Storage: fix slice bounds out of range error #3208

  • Mobile web action button menu not displaying #3216

  • Sending an invalid stream keys payload to the admin API causes issues with the admin #3082

  • Bottom content on mobile does not span full width in some cases #3073

  • Chat is creating links for invalid TLDs #3107

  • Improve video player settings menu appearance #2760

  • Emoji: missing alt tag #3106

  • Chat: unable to insert line breaks #3108

  • Scrolling: scrolling down on chat can cause video to scroll #3109

  • When the action buttons wrap there should be spacing between the rows #3122

  • Fediverse post URL is broken on calkey / firefish #3195

  • Notify popup misses the button sometimes #3191

Removed

  • Remove animation of chat sidebar #3089

Thank you to our contributors!

The contributors for v0.1.1 were:
janWilejan, abhipanorian, mohibkay, yk-jp, mrsoong, gabek, jerinthomas1404, hagn, dev265545 and jprjr.
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 fantastic corporate sponsors Okta, Noblestreet and generous donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Jnktn.tv, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito, Michał Sidor, 2000staFM, Guest, SillySam, ruut, Ozoned, emacsen, Incognito, Jeff Moe, GunghoGeoduck, Patrick, Chris Heino, Didier Malenfant, Markus Ressel, Kit Aultman, Mohamed Elsheiry, Tom, Michael, Theodore Jones, Alex O'Carroll, Alex O'Carroll, Raymon Mens, Vencabot, James Carpenter, Vince, Robert Wolniak, Nullcasting, Martijn, Incognito, Fred Luetkemeier, Kev Mul, Hamish The PolarBear and Denman Rooke.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

owncast - Owncast v0.1.0

Published by gabek over 1 year ago

Note: Please read these release notes in their entirety. There are many changes and it's important for you to know what has changed and how it will affect you.

Three years of Owncast!

The first commit to Owncast was May 23, 2020. It's been a wild ride seeing what everyone has been streaming and all the creative use cases people have come up with. Thank you to everyone who has contributed to the project, and to everyone who has been using it. I won't use this place to talk about how awesome you all are, but here's to many more years of your streams!

A big update!

Owncast v0.1.0 is a large update with many changes to the web interface. It is a complete rewrite of the frontend and like any rewrite it results in many improvements, but also room for bugs and regressions. Please report any issues you find to the issue tracker.

This release is made up of over 380 completed tasks. That's not 380 commits, 380 standalone tasks. That's so much stuff. If you're interested in some behind the scenes there's blog posts about Owncast design and the web project.

It may make sense for some who relied on heavy customization in previous versions to test out this release outside of your production install of Owncast to make sure any visual customization you previously made can be moved over.

A special thank you to the contributors for this release

This release was a large undertaking and would not have been possible without the help of all the people who pitched in their skills to make it happen. A full list is at the bottom of these release notes.

Goals of this release

With all the future features that we want to add to Owncast it was required to take a step back and rebuild the web frontend from scratch so it would be easier to add to and maintain. This release is the result of that work.

The goals of this release were:

  1. Make it easier to work on and contribute to, especially first time contributors to Owncast.
  2. Make it load faster.
  3. Be more accessible.
  4. Be more mobile friendly.
  5. Be easier to customize.
  6. Set us up for future features.

Web source code is no longer included in releases

One side-effect of these changes is we no longer ship the raw web source code with each release. This was previously the webroot directory. While most people didn't take advantage of this in the past, some did. If you find there are things you can no longer do that you once did there are two options:

  1. Download the Owncast source code and build it yourself, editing what you need.
  2. Open an issue on the issue tracker and let us know what you used to be able to do that you no longer can.

We hope the addition of additional customization options in the admin will make up for this change.

Webroot directory

While the webroot directory will not be automatically deleted, and any files you had previously manually put there will be safe, it will no longer be used for anything and you are free to delete it yourself when you're ready.

Appearance customization

The new appearance section under General settings in the Owncast admin allows for an easier approach to customizing your instance. While you could, and still can, write your own CSS, the new options allow you to customize the appearance of your Owncast instance without writing any CSS by selecting colors other miscellaneous options.

While not every single individual component or element can be customized via point-and-click, we hope this at least gives most people a simpler to customize right out of the box. Via CSS you can still customize anything you want and CSS variables can be set manually.

Note that any CSS you had written for previous releases of Owncast will not be compatible with the new version, as the entire web frontend changed.

Read more about the appearance customization page in the Appearance customization guide.

Insert custom Javascript

Under the General settings page you can add custom Javascript to your Owncast instance's web page. Read more about this in the documentation.

Streaming keys and admin password

Previously the admin password and stream key were the same. Due to requests these have been split up, and you can now create any number of streaming keys. Most people will continue to not need this functionality, but if you have a specific use case where you have multiple streamers, and you don't want any of them to access the admin for some reason, this is now possible.

By default the admin password and single stream key are both the same, however. So you should see no difference when upgrading to this new release.

Custom emoji

The default custom emoji set has been replaced with images that we are confident can be shipped with Owncast due to their license. Those who have been using Owncast from previous versions, however, will keep their images and only new users will get the new emoji set.

A new emoji page has been added to the Admin under Chat & Users -> Emojis where you can add and remove your own custom emoji images without having to access your server's filesystem. If you do want to manually manage these files, however, they can be now found in the data/emoji directory.

Read more details about custom emoji in the documentation

Chat colors

As a participant in the chat you can now change your color, not just your name. The selection of colors can be customized via the appearance customization page. Additionally as an admin you can change the set of colors available to your users to match your preferences.

Hide viewer count

Some people prefer to not display a viewer count, and now that can be accomplished by turning it off in the admin under General settings.

Offline banner

When your stream is not live a new "Offline Banner" is displayed with either a default or custom message. This can be customized in the admin under General settings. This is a good way to leave a message such as when you normally stream, or if you're taking a break.

Write HTML for external action buttons

You've always been able to link to external URLs to display when you press action buttons on the page, but now you can choose to write your own HTML to display instead. Visit Integrations -> External Actions in the admin.

Host your own public assets

If you need to host your own images, fonts, css files or anything you need to make publicly available you can do so via the new data/public directory. Most people will not need this, but if you previously used to put assets in your webroot directory to make them publicly accessible, this would be the replacement of that.

Admin pages

Some admin pages have been combined and some URLs have changed. Particularly have a look at the "General" and the "Server config" pages to find additional sections like S3 Object Storage and custom CSS.

Built-in Twitter notifications have been removed

Primarily due to Twitter removing external API access to their service, but also due to Twitter being Twitter, this feature has been removed and will no longer be internally supported. If you still require this specific functionality you can use Webhooks to build something custom.


Changelog

[0.1.0] - 2023-05-30 aka "Gabe's Birthday Release"

Upgrade instructions from 0.0.13

  1. 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.
  2. Change to the directory where Owncast is installed on your server. If you're using a pre-installed image through a hosting provider you it's likely Owncast is located in /opt/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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. If you are running as a different user, run the upgrade as the same user you're running Owncast as.
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • New setting: Allow hiding viewer count #1939

  • Add support for optional public web assets directory #2234

  • New admin page for customization #1915

  • Allow uploading custom emoji through the admin #2378

  • Option to mute embed by default #2420

  • Add support for arbitrary Javascript in page #2604

  • Auto-generate a complex, stream key when adding #2631

  • Allow providing HTML instead of a link for external actions #1718

  • Webhook for stream title change #2795

  • Feature Request: Sortable social media links #1818

  • Ability to edit external actions #1884

  • Implement WCAG 2.1 compliance #1826

  • Support brotli encoding #2697

Changed

  • Do not allow Federation if running on a non-standard port #2008

  • Make streaming key and admin password different values #2320

  • Enforce username requirements at register (API or headers) #2527

  • Player "Live" indicator circle should use the action CSS variable color #2890

Fixed

  • Admin message moderation errors #2020

  • Admin only allows selecting 24fps or 120fps, nothing in between #2159

  • I get an error about 40 seconds into launching the server --> "panic: runtime error: index out of range [0] with length 0" #2423

  • fix minimum bitrate detection for system health report #2455

  • Admin logo upload UI sending empty payloads #2524

  • Android: Page doesn't scroll when keyboard is displayed #2595

  • Fix Owncast Avatar URL for discord webhooks #2748

  • Give friendlier error in the admin when it cannot connect to Owncast service #2698

  • Crashes on 32-bit ARM (likely a bug in Metrics dependency) #2746

  • Nitpicky detail: resolution placeholders aren't 16x9 #2799

  • Hardware info screen empty after start #2805

  • Viewer graph should always use 0 as minimal value #2806

  • Set correct content-type and cache-control for S3 uploads #2771

  • Loose div in Utilities > Stream health screen #2804

  • Video variant admin interface should start with the default setting values #1946

Removed

  • Remove Twitter notification support #2597

Thank you to our contributors!

The contributors for v0.1.0 were:
LBBO, dorj222, heller, Rishav1707, prachurjya15, vwallen, xarantolus, dev265545, mehrdadbn9, juliana-mol, unclebinary1001, gingervitis, t1enne, stnfrd, elonyavist, JacobWrenn, bennett1412, mattdsteele, americobarros, Rehan-stack, andrew-secret, thisprojects, Pranav2612000, pippo, hsingh124, silksow, gabek, dhanusaputra, CutestNekoAqua, azyklus, jackgris, Yasir761 and MFTabriz.
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 fantastic corporate sponsors Noblestreet and Okta and generous donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Raffael Rehberger, Jnktn.tv, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Ole, PlayBox Technology, Guest, Incognito, Aqaba and Michał Sidor.

In-kind support

A special thank you to the organizations that offer services to help Owncast build, test and support and distribute the software.

Fastly, Cypress, BrowserStack, Chromatic, Docker and Rocket.Chat.

owncast - Owncast v0.0.13

Published by gabek almost 2 years ago

Owncast v0.0.13 is a very small release targeting mostly bug fixes.

Since v0.1.0 is taking longer than hoped, this allows some updates to get out between now and then. But all the work for the new Owncast interface is coming along well and I look forward to getting it finished and putting in everyone's hands.

Changelog

[0.0.13] - 2022-11-26

Upgrade instructions from 0.0.12

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Added

  • Add Fediverse, Matrix and XMPP social links #2044

Changed

  • Do not log inactionable Federated resolution/verification errors #1992

  • Improve chat input accessibility #2353

  • Treat fediverse usernames as case-insensitive #2155

  • Sanitize user submitted values before logging #2134

  • Username length is now validated server-side #1919

  • Do not allow multiple Fediverse auth attempts. #2000

Fixed

  • Manually authored social posts are always set to followers-only #2112

  • Fix superfluous response.WriteHeader call error #2157

  • Fix possible security exploit for those with Moderator access. #2257

  • Messages table fixes to improve query performance #2026

  • Fix possible crash with Federated Undo request #2317

Thank you to our contributors!

The contributors for v0.0.13 were:
brokenintuition, gabek, jprjr, cooliscool and cellularnetwork.

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 Okta and Noblestreet.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Flaki, Joel Bradshaw, Paul Lindner, TargetedVisitors, Incognito, nebunez, Merlin, Teklynk, Marius Hoel, Incognito and Michał Sidor.

owncast - Owncast v0.0.12

Published by gabek over 2 years ago

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
  • Twitter

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.

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

  1. 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.
  2. Change to the directory where Owncast is installed on your server. On pre-installed environments it may be in /opt/owncast/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. 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.

owncast - Owncast v0.0.11

Published by gabek over 2 years ago

Welcome to The Fediverse!

With Owncast v0.0.11 your server can optionally become a part of the Fediverse, an interconnected, but completely independent network of servers where people can discover your stream and get notified of when you go live. Some popular Fediverse services are Mastodon and Pleroma but many services that make up the Fediverse can start to receive posts from your Owncast server.

With this ability, it gives you something pretty cool: the ability for people to follow your server, share it with their own followers. Your followers now show in a new "Followers" tab in the interface, and as people interact with your server by following, sharing and liking, it will show up in the chat so your biggest supporters get highlighted.

You'll automatically let your followers know each time you go live, and you can send them messages from the admin letting them know about your future streaming plans.

This functionality, of course, is disabled by default, as Owncast always wants you to be completely private out of the box. It's up to you to enable this in the admin under the new "Social" config section. But if you'd prefer, you can turn on social "Private Mode" where you have to manually approve each follower that wants to know about your streams, and in that case they will be unable to share your server with others.

We look forward to continued features being built now that federation with Owncast is enabled.

A huge thank you to NLnet for funding the development of Owncast Federation through the NGI0 Discovery Fund.

Note: The Fediverse is the wild west, and while people have been running with this functionality for some time in testing, we don't know what you'll run into. Please let us know if you discover any issues or any services that are not being compatible with Owncast or causing problems with your server.

Moderators

Long requested, and now finally here. You can assign moderator privileges to yourself, and any of your chat members and they will have the ability to remove chat messages and ban users directly from the chat, without having to go into the Admin.

Of course this relies on people keeping their identity between visits to your chat, so those that use private browsing to visit your server will be seen as a completely different chat participant each time, and will no longer have their moderator privileges unless you re-grant them.

Changelog

[0.0.11] - 2022-03-05

Upgrade instructions from 0.0.10

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Promote chat participants to moderators #499

  • Additional target framerates #1138

  • Support path-based S3 storage #1495

  • Inline UI to allow people to perform moderation actions within chat #1291

  • Add a recommendation in the admin to add a second, lower quality if only one is set #1491

  • Add support for checking the local filesystem for static resources #1507

  • Add list of moderators in user admin #1511

  • New admin section for managing ActivityPub settings. #1210

  • Set a short cache expiration on some APIs #1530

  • Add Matrix chat client(s) user agent to our bot list #1581

  • Return user scopes as a part of the chat history API #1586

  • Add admin support for manually composing a post to fediverse followers #1610

  • Set username via optional request headers #1365

  • Add Rocket.Chat to our bot user-agent list #1639

  • Add user icon in header next to user name change form #1655

  • Add alternative configurable list of default usernames #1497

  • Add steam as a Social Platform #1501

Changed

  • Replace redirect of /embed URLs to random html files and instead return content directly #1281

  • refactor: move from io/ioutil to io and os packages #1546

  • Increase the number of HLS segments in a playlist to increase stability #1552

  • Increase the max size of the chat welcome message #1595

  • Change styling for chat message links #1551

  • "Disable chat" setting is confusing #1330

  • Build outbound webhook execution queue #1510

  • Limit "external site requested your logo" warning message #1668

Fixed

  • Binding to ::1 fails: too many colons in address #1398

  • Fix possible crash on stream disconnect #1439

  • Fix hashes for standalone video/chat #1472

  • Fix Windows support #1377

  • When a ban occurs not all messages by that user are visibly removed #1350

  • OMX codec no longer showing friendly name and description in admin #1521

  • doing a ctrl+c to copy something closes the chat panel #1201

  • Messages Sent column in admin should either center the value or make column narrower #1580

  • Fix where banned user cannot be added back #1518

Thank you to our contributors!

The contributors for v0.0.11 were:
jeyemwey, krashanoff, controlfreakstudio, gingervitis, f35f0ef9d0e827dae86552d3899f78fc, UXShawrk, MFTabriz 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 and Okta.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Robin, Flaki, Joel Bradshaw, Paul Lindner, Real Targeted Traffic, TargetedVisitors, Tom Hansen, pwxlwrk, Incognito, Niels Digital, nebunez and Merlin.

owncast - Owncast v0.0.10

Published by gabek about 3 years ago

This is a hot fix to resolve an issue using external S3 compatible storage in v0.0.9: #1455

There are no other changes and this only impacts those using that feature. See the release notes for v0.0.9 for details around the previous release.

Upgrade instructions from 0.0.9

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.
owncast - Owncast v0.0.9

Published by gabek about 3 years ago

Owncast v0.0.9 is a smaller release with a handful of tweaks and fixes. There's not a lot of user-facing changes this time around, but take a look through the below changes and see if there's anything that might impact you.

One thing that might make your life more convenient going forward is instead of putting in the full video URL /hls/stream.m3u8 when viewing an Owncast stream in an external video player (MPV, Quicktime, VLC) you can just put your root URL to your Owncast server.

Changelog

[0.0.9] - 2021-09-26

Upgrade instructions from 0.0.8

  1. 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.
  2. Change to the directory where Owncast is installed on your server.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Major updates

Added

  • Add support for loading the root owncast URL directly in 3rd party video applications. #1356

  • Add proper landing page for browsers without the JS support #1139

  • Create external API to enable sending a message directly to a client instead of publicly #1316

Breaking Changes

  • No longer exit after successful stream key change via the CLI argument #1355

Changed

  • Auto expand the "Utilities" menu item in admin if an Owncast update is available #1299

  • Increase the sensitivity of the chat rate limiter #1349

  • Make the emoji directory configurable #1174

  • Stop logging 404s to the admin logs #1341

  • Mark viewer as active when downloading an HLS playlist #1343

  • Simplify where HLS segments live on the filesystem so they always live in data #875

  • In the admin don't show the connected client count if we're not showing a list of the clients #1306

  • Do not show user joined chat message if user has recently joined #1406

Fixed

  • Chat disables when stream ends instead of 5 minutes later #1268

  • GeoIP support not working with 0.0.8 #1304

  • Previous display names are not being displayed in the admin user modal #1277

  • Re-joining chat in the 5min window after disconnect shows the chat as disabled #1311

  • Set a value for player maxPlaylistRetries in the player #1335

  • Markdown rendering ends up with excessive spacing with lists #1315

  • Improve chat auto-scrolling #1324

  • Fix Windows tests #1376

  • Fix transcoding error text #1381

  • Potential local client security problem(s) when pasting DOM elements into chat #1357

  • Fixed USER_JOINED webhooks to have the correct event type name. #1302

  • Fix building on FreeBSD #1243

Thank you to our contributors!

The contributors for v0.0.9 were:
MFTabriz, unclearParadigm, gabek, RhnSharma, sytranvn and ooa113y.
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 and Okta.

And our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Robin, Flaki, Joel Bradshaw and Paul Lindner.

owncast - Owncast v0.0.8

Published by gabek about 3 years ago

Owncast v0.0.8 features a rewrite of the chat system to improve performance, stability, and user moderation along with changes intended to reduce unauthorized access to chat and its history.

As with all updates it also includes many fixes and improvements to continue improving the self-hosted streaming experience. Please read through the below release notes and let us know what you think about this release. Your feedback drives the roadmap of Owncast, and we want to build the things that are most useful to you.

Here are some notable chat updates you may be interested in:

Moderation

While Owncast has had existing support for hiding chat messages, this new release is the first time you can ban an entire user from chat. By visiting the new Chat -> Users admin page and seeing the list of currently connected chat users, you can press the "Ban" button to disconnect them from chat, hide all their messages, and ban that user from reconnecting.

Disabling chat

Turning off chat in the settings previously would hide the chat UI from your viewers, but the chat functionality still was enabled behind the scenes. Now if you turn it off chat is no longer supported. Because you can turn off chat completely the number of viewers is no longer counted by the number of people connected to chat, instead it is counted separately.

Chat usernames

Under the new Chat settings page in the admin you can add a list of names or words you don't want to allow people to use in their chat usernames. This way you can stop people from having fake names like "Admin" to mislead people.

Also, default usernames are no longer "UserXX", but instead a randomly generated string.

Chat connection limits

Previously we didn't suggest more than 1,000 people to be connected to the Owncast chat, but with this revision it's been tested to many times that, though you may see more or less depending on your server and how it's configured. In general most people should no longer be limited in chat capacity.

Custom chat emoji

You can now input, and autocomplete, custom emoji in chat by typing :emojiname:. Hover over emoji in the chat to see the name of it. By typing part of an emoji, such as :dancing and hitting tab it will attempt to auto-complete it for you just like it does with usernames when you type @user and tab.

New standalone embeddable chat

There's now a standalone chat interface located at /embed/chat/readwrite that you can embed in an iframe anywhere you like, allowing you to easily have the full chat in a custom interface that you design.

This is also useful for streamers who just want to bring up a full-screen chat to use when streaming.

Changelog

[0.0.8] - 2021-08-11

Upgrade instructions from 0.0.7

  1. 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.
  2. Change to the directory where Owncast is installed on your server. In a pre-installed hosting scenario it's likely in /opt/owncast.
  3. If you’ve customized your web interface in any way you will want to back up the files you’ve changed or customized.
  4. 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
  5. Restart the service. If you're running under systemd systemctl start owncast.

Breaking changes

As noted previously, two APIs will no longer be available:

  • /api/integrations/chat/user is no longer supported, removing the ability to send a chat message as arbitrary users. #1092

  • /api/chat is no longer publicly available. #1085

Major updates

Added

  • Allow binding the web server port to a specific address #981

  • Add Linux ARM64 release #1053

  • Add send button for the chat in mobile environments #1081

  • Add support for blocking specific chat usernames #782

  • Allow the customization of the logging path #1040

  • Chat refactor + persistent backing chat users #1163

  • Add support for blocking a chat user #1096

  • Update API to send chat messages as a specific bot/integration via their access token #1092

  • add target="_blank" to custom user content before rendering #1220

  • Support text input of :emoji:, and show the title of emoji in title attribute #480

  • Provide command line option for setting the RTMP listening port #1001

  • Offline Web UI: Display when the last time there was a stream #1111

  • You can specify the directory to save backups to #1099

  • Add standalone chat with ability to send messages #531

Changed

  • Replace viewer counting with a simple ping instead of websocket connections #790

  • Remove blank space when no external actions are rendered #1119

  • Don't show the viewer count in the embed player when offline #1088

  • Collapse news content in the admin home page #1137

  • Don't send user joined notification if chat/stream is disabled #1224

  • Hide viewer count when offline #1091

  • Do not keep an unlimited backlog of chat history in the database #1152

  • Lock down /api/chat from external access #1085

  • Do not try to connect to the websocket if chat is disabled #1135

  • Keep persistent logs on disk #908

  • Hopefully be able to run on Windows now #390

  • Atomically save the thumbnail and preview Gif #1279

Fixed

  • Description text with a URL doesn't auto linkify #1010

  • System messages with URLs aren't auto-linked #1009

  • Default stream output name is longer than the maximum allowed length #1037

  • Admin viewers table doesn't wrap properly and exceeds width of the window #1024

  • Width of the admin viewers page adjusts with the content of the viewers table #842

  • "other" social handle URL doesn't appear in admin view #998

  • Error editing "other" type social handle #1008

  • Instability when using Restream #999

  • Typing in the emoji search box triggers player keyboard shortcuts #1025

  • Player video quality setting icon is sometimes not centered #1044

  • Fix rtmp secret validation to allow / (#1069) #1070

  • Fix crash in datastore cache #1067

  • Narrow screens break 3rd party content modals #1020

  • The sort order of player video qualities is buggy #1132

  • Change to Configuration → Storage → Optional Settings does not enable Save button #1108

  • Don't allow people to set their instance name to an empty string (or only whitespace) #967

  • og:description tag is blank in HTML headers when sharing an Owncast link #1184

  • Stop the chat from animating away when chat is disabled #1007

  • Don't remove non-existing files if video config changed while online #1147

  • Admin hardware values default to "undefined", should just default to zero #874

  • Better feedback when Storage Endpoint is invalid #1000

  • Cache-Control header is wrong when using S3 #1047

  • Streaming URL on main admin page is missing the port #1049

  • Admin chat message moderation UI selected state is a bad color #1120

Removed

  • Remove config file migrator #1023

  • Remove YouTube embedding in the chat #1079

  • Remove the unnecessary websocket connection from the embed player #1164

  • /api/integrations/chat/user is no longer supported, removing the ability to send a chat message as arbitrary users. #1092

  • /api/chat is no longer publicly available. #1085

  • Websocket is no longer publicly available.

Thank you to our contributors!

The contributors for v0.0.8 were:
muesli, jeyemwey, rAcHekLoS, geekgonecrazy, gingervitis, gabek, Patil2099, thilobillerbeck, soham4abc, leuc, tomleb, RhnSharma, MFTabriz, jyggiz and nodomain.
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 our fantastic donors Simon Michalke, rootbeerdan, Luka Prinčič, Kyle Bronsdon, Guest, Robin, Flaki, ha2tim Gye-Nyame, Raffael Rehberger, Chaim Krause, Guest and Jnktn.tv.

owncast - Owncast v0.0.7

Published by gabek over 3 years ago

This release focuses on a handful of things that should improve the day to day usage of Owncast. The biggest being the ability to use hardware accelerated video codecs and free up your CPU if you're running on dedicated hardware. This is great for people who are hosting from home, even on things like a Raspberry Pi. Other additions people have asked for such as being able to upload your logo directly from the admin, hiding chat, custom CSS, being able to manually select a video stream quality from the player and more are included in this update. Read the below changelog for more details.

Upgrade instructions from 0.0.6

  1. Stop the service from running via whatever method you have Owncast running.
  2. Download the updated Owncast release for your platform.
  3. Move the zip file of 0.0.7 to your previous install location.
  4. If you've customized your web interface in any way you will want to back up the files you've changed or customized.
  5. Unzip the file, allowing it to overwrite old files.
  6. Restart the service.

Beta: The Owncast installer has support for upgrades, but this functionality is new. So feel free to give it a try by re-running it in your Owncast directory.

For installing from scratch, see the Quickstart.

Breaking changes

  • Remote images will no longer be supported in chat. There were more cons than pros to have this, so it has been removed.
  • Values around the Latency Buffer have been changed and a setting you selected in a previous release may not result in the exact same functionality as we continue to tweak the values for best performance.

Major updates

Hardware + Additional Codec support

This release adds initial support for using different video codecs in your encoding. If you have hardware, drivers, and software that supports it, you might be able to use VA-API, NVENC (nvidia) or OpenMAX (Raspberry Pi) codecs. Read more about the effort involved and the requisite software you will need to have installed in our documentation.

News in the admin

We added a general purpose place to put information that may be of interest to people operating Owncast instances. Since we're not focused on having a social media presence, we wanted a simple way to reach out to people running Owncast if there's anything useful or important. This simply pulls a static RSS feed from our web site that is hosted on Github pages, so we have no logs of this request. Additionally we wipe out the referrer value in this request. Feel free to reach out if you have any concerns.

More detailed logging

To assist people in troubleshooting things that go wrong, this release offers more detailed logging around video. You may see more warnings than you're used to seeing, and generally if your server is functioning properly you can ignore them. However, feel free to reach out if you are seeing warnings that you're finding unhelpful and we will make sure those warnings are cleared up in future releases.

Others

  • You can now give stream output variants names and they'll be displayed in the player for viewers to manually select.
  • 3rd party content modal for building your own simple UI that can be popped up within the Owncast web page.
  • Chat can be hidden.
  • You can upload your logo via the admin.
  • You can do some basic CSS overrides via the admin.

Changelog

[0.0.7] - 2021-05-15

Added

  • Multiple codec selection for hardware accelerated encoding #892, #336
  • Ability to select quality from web player #655
  • Add name to stream output variants #743
  • Allow system messages to utilize full html for styling #747
  • Allow admins to disable the chat #472
  • 3rd party actions + content modal #679
  • Add noreferrer to all Owncast and Owncast-admin links to owncast.online documentation #822
  • Add ability to upload logo via the admin #716
  • Show initial loading spinner on the player #848
  • Show news/updates in the admin #865
  • Provide RTMP URL in the admin page next to the stream key #861
  • Detect if ffmpeg is installed via snap #762
  • Add more user-facing helpful error messages from the transcoder #763
  • Add css page styling form in the admin #718
  • Add explicit FLoC opt-out headers in all http responses #939
  • Running OwnCast with webserverport will save that port in the config #860
  • Page loading background/splash image #849
  • Extend keyboard controls #670
  • Make transparency of message bubbles overridable via CSS #910

Fixed

  • Guard against instance continuing to ping the directory API after stream has ended #600
  • Changing the Sever URL in the admin should not appear to reset Name and About #854
  • Chat message type check can cause crash #856
  • Admin development: Broken images #798
  • Admin social handles interface can span wider than its container #845
  • Use a unique path for the fifo pipe to allow multiple copies to run on a single machine #883
  • Resolve an issue impacting chat moderation not hiding messages #809
  • Fix issue where local hls storage may not exist if number of output streams changed #940
  • Play button would display over the header bar when scrolling #951

Changed

  • Chat welcome message is now customizable, but empty/disabled by default #723

Removed

  • Limit image loading to only come from the local server. No more remote images in chat. #756

Notes about future releases

This will be the the last release to allow external access to the websocket. If you have built tools or utilities that utilize getting chat events it is recommended that you migrate to supported 3rd party APIs instead. If you have a use case that doesn't fit these APIs please let us know and in the future we may find a safe way to support the features you require.

Thank you to our contributors!

Thank you to the contributors for v0.0.7: nebunez, gabek, thilobillerbeck, aral, gingervitis, controlfreakstudio, MFTabriz as well as all of the fantastic people helping out in the Owncast chat answering questions, testing and providing feedback.

Thank you to our financial supporters!

Thank you to those financially supporting Owncast. The project sponsors Noblestreet, Okta and our awesome donors incognito, Guest, Simon Michalke, GoMage, rootbeerdan, GTX, John DeAscentis, Luka Prinčič, Kyle Bronsdon, Guest and Alan Peterson.

owncast - Owncast v0.0.6

Published by gabek over 3 years ago

0.0.6 has quite a few changes that impact you, so please take a moment to read about the changes in their entirety.

Upgrade instructions from 0.0.5

  1. Stop the service from running.
  2. Move the zip file of 0.0.6 to your previous install location.
  3. If you've customized your web interface in any way you will want to back up the files you've changed or customized.
  4. Unzip the file, allowing it to overwrite old files.
  5. Restart the service.

Breaking changes

  • The config file has been removed.
  • The "server title" value has been removed and the "server name" is used everywhere instead.
  • Audio transcoding settings have been removed to simplify configuration as we haven't been encouraging people to convert audio, and as far as I can tell people haven't been using it. Audio will pass through the source audio as it has previously.
  • Peak viewer counts have been removed from the public-facing status API. #771

Major updates

Admin

Beginning with 0.0.6 you will configure your Owncast server via the admin at /admin. You'll be able to make changes faster, easier, and without restarting your server. We hope with this updated interface that you'll be able to make simpler and more informed decisions about how to configure your server and video settings.

Please share any feedback you have as we want to continue to improve and make it easier and faster for you to run and manage your streams.

Stream title

You'll now see in the admin a text field for adding an optional "Stream Title", a way to describe what your current stream is. This is especially useful for people who may stream multiple different things in one session, or every day have new content that you'd like to call out. So you can set it to "Playing Assassin's Creed", and then change it to "Doing some live coding".

Third party integration & add-on APIs

Owncast now has the ability for you to build your own add-ons and integrations on top of it. Some good examples are chat bots, video stream overlays, and sending external actions into chat such as notifying people when somebody has donated or followed.

Learn more about these APIs and you can start building on top of your Owncast server. Feel free to ask us any questions as this is brand new, and we want to give you what you need to build great things.

Backups

The backup directory will include a periodic backup of your Owncast server data. Save this with other system data you backup and you'll be able to restore this data later if it's ever needed.

Owncast Directory

The directory can now be easily enabled on your General settings page. We look forward to seeing everyone's streams show up there if you're looking for viewers, or are streaming something that's publicly available.

Changelog

[0.0.6] - 2021-03-08

Added

  • Show a user-facing error when setting ffmpeg to an invalid path #691
  • New WYSIWYG page content markdown editor #546
  • New config file to 0.0.6 migrator #576
  • Owncast database gets backed up hourly #549
  • New admin page for managing access tokens #603, #575
  • Outbound webhooks for 3rd party integration #556, #574, #602
  • Toggle visibility of a single message for chat moderation #568
  • Add support for current stream session title #391
  • Create command line flag to reset the stream key #665
  • Enable Spacebar key to pause/play video #579
  • Add support to set web server port via command line #674
  • New "user joined" message in chat if you have previously saved your username. #268

Changed

  • Completely manage your Owncast instance using the web admin.
  • Reduce the amount of chat backlog we return #548
  • Change the offline visual state of admin viewers page #662
  • Log hardware utilization messages as warnings instead of errors #640
  • Do not count connected clients when a stream is not active #422
  • Change logo to live in data instead of webroot #699

Removed

  • config.yaml has been removed and is no longer supported for configuration.
  • Remove showing the stream key in admin home page dashboard #615
  • Peak viewer counts have been removed from the public-facing status API. #771

Fixed

  • Under very high load fix a fatal error that can be thrown when file limits are reached #623
  • Fix pinch zooming on mobile Safari affecting the responsive site behavior #594
  • Remove a crash on certain RTMP disconnects #673
  • Some specific RTMP hardware is resulting in an admin error, work around that until we can get access to the hardware. #635
  • Return the optional scaled height and/or width value in admin serverStatus API. #769.

Contributors

Thank you to geekgonecrazy, gabek, nebunez, petersveter108, thilobillerbeck, gingervitis, jeyemwey, felix-engelmann, earnestma, graywolf336, ForestJohnson as well as all of the fantastic people helping out in the Owncast chat answering questions for people trying out Owncast for the first time.

Support the future of Owncast

We've been asked to support donations so people can help support the project, so now we are! We're ready to go on OpenCollective and would love you to check it out.

owncast - Owncast v0.0.5

Published by gabek almost 4 years ago

Owncast v0.0.5 focuses primarily on some basic chat moderation, enabling the admin to remove chat messages

Upgrade instructions from 0.0.4

  1. Stop the service from running.
  2. Backup your config.yaml and any other files you may have customized and want to save or refer to later.
  3. Move the zip file of 0.0.5 to your previous install location.
  4. Unzip the file, allowing it to overwrite old files.
  5. Restart the service.

Changelog

Owncast Core:

  • Feat: Basic chat moderation, allowing removal of messages #524
  • Feat: Limit how quickly people can send chat messages to guard against chat message flooding #484
  • Feat: Use "new" style S3 hosts #497
  • Feat: Verify version of ffmpeg at launch #587
  • Fix: Exit if no version of ffmpeg can be found #554
  • Fix: Limit caching of HLS playlists #570
  • Fix: Fix possible crash in S3 performance monitoring #578

Web Interface:

  • Feat: Social links now have the rel="me" attribute #511
  • Feat: Social links use SVG icons #515
  • Feat: Added Ko-Fi platform to social links #525
  • Feat: Added KeyOxide platform to social links #510
  • Feat: Do not auto-close emoji picker after selecting an emoji #612
  • Feat: Workarounds for AdBlockers blocking social links to external profiles #529

Web Interface:

  • Fix: Fix layout issues that can take place on iPads #572

Admin Interface:

  • Feat: Allow sorting viewers table by connected time #540
  • Feat: Add help section with links to documentation #541

Breaking changes

There have been no breaking changes in this release.

APIs

The features regarding chat message moderation brought new endpoints:

owncast - Owncast v0.0.4

Published by gabek almost 4 years ago

v0.0.4 comes with several small updates and bug fixes.

Upgrade instructions from 0.0.3

  1. Stop the service from running.
  2. Backup your config.yaml and any other files you may have customized and want to save or refer to later.
  3. Move the zip file of 0.0.4 to your previous install location.
  4. Unzip the file, allowing it to overwrite old files.
  5. Restart the service.

Changelog

Owncast Core:

  • Feat: Add build support for ARM computers like the Raspberry PI. #470 #471
  • Feat: Add option to change the port of the RTMP server. #454 #475
  • Feat: Add sanity check for ffmpeg when launching Owncast. #490

Web Interface:

  • Fix: Show a more detailed error message if websocket cannot connect. #468
  • Fix: Layout of tags if there are too many for the width of the window. #500
  • Fix: Problem where in some rare cases the player can get into an infinite loop trying to update the HLS playlist. #415
  • Feat: Hide viewer count when offline. #428
  • Feat: Display notification in the title if a message comes in or a stream starts and you've navigated away. #426
  • Fix: Rename social icons Javascript file so uBlock Origin doesn't block it. #491

Admin Interface:

  • Fix: Remove possible duplicate rows in viewer table. #452
  • Fix: The wrong month may be displayed in the admin viewers graph. #459
  • Fix: Case where old users may continue to show up in admin viewers table after they are gone. #421

Breaking changes

There have been no breaking changes in this release.

APIs

There are no API changes in this version. You can find the complete set of APIs by visiting the API documentation.

owncast - Owncast v0.0.3

Published by gabek almost 4 years ago

Installer

There is now a quick installer you can use to install the latest release. See a demo of it in action.

curl -s https://owncast.online/install.sh | bash

Owncast Admin

v0.0.3 introduces the web admin dashboard that you can use to get an overview of your owncast server.

Visit /admin and login with admin as the username and your stream key as the password.

We will continue to add functionality to this over time, so please let us know how it works for you and if you have any feedback.

Upgrade instructions from 0.0.2

  1. Stop the service from running.
  2. Backup your config.yaml and any other files you may have customized and want to save or refer to later.
  3. Move the zip file of 0.0.3 to your previous install location.
  4. Unzip the file, allowing it to overwrite old files.
  5. Edit your config.yaml file and change the logo entry to be a single item, no longer a small and large. If you're using the default then it should look like the following: logo: /img/logo.svg. Take note the old logo images have been changed to logo.svg.
  6. Move the stats.json file to data.
  7. Move your content.md file to data if you have one.
  8. Restart the service.

Breaking changes

  • How your logo is set in the config file has changed. See upgrade instructions.
  • chat.db has been renamed to owncast.db and moved to the data directory. You should delete your old chat.db file.
  • content.md has moved to to /data.
  • stats.json has moved to /data.
  • Optional chatDatabase command line flag is moved to database. chatDatabaseFile in config changed to databaseFile.

Changelog

  • Fixes for possible bugs in username highlighting in chat. #156
  • Logo requirements have been simplified to only require a single logo to be specified in the config. #373
  • Viewer counts are now limited to the number of people viewing from the owncast web interface. #323
  • Stream length can now specify "days". #307
  • Fix for the video thumbnail flickering as it updates. #205
  • Placing a copy of ffmpeg into the same directory as owncast will now use that copy. #276
  • Updated chat message design with removed avatars. #253 #222 #119
  • Removed need for client-side markdown parsing. #235
  • Fix for an exception being thrown when zero socialHandles are supplied. #202
  • Video player volume is now saved when changing it. #175
  • The web app Javascript assets are no longer being pulled from a remote CDN. #189
  • Fix for video getting cut off on Firefox. #210
  • Large play button is re-displayed when the video player is paused. #201
  • Seek bar has been removed from the player. #171
  • Fix for crash when some RTMP sources send unexpected payloads. # 340
  • An internal refactor of the video pipeline. #151
  • offlineContent is no longer specified in the config file.

APIs

This release added some basic read-only APIs for use in the new admin dashboards. They are authenticated against your stream key just like the admin site is.

You can find the complete set of APIs by visiting the API documentation.

API Documentation

owncast - Owncast v0.0.2

Published by gabek about 4 years ago

This release brings a major refactor of the web UI along with the ability to embed Owncast into your own site easier, add custom emoji in chat, and more!

Visit the documentation to read more about how to take advantage of embedding and custom emoji.

Available on docker: docker pull gabekangas/owncast:0.0.2

Upgrading from v0.0.1

This release has a rewrite of the web frontend, so any customization you made previously will need to be re-applied to this new web app. The simplest way to upgrade is just overwrite the old version with the new version, but it won't delete any old files that are no longer used.

However, you're free to upgrade any way you like, but make sure your chat.db, config.yaml, webroot/static/content.md and stats.json files are saved.

  1. Stop the service from running.
  2. Move the zip file of 0.0.2 to your previous install location.
  3. Unzip the file, allowing it to overwrite old files.
  4. Restart the service.

Changelog

  • Rewrite of the web interface with Preact, removing Vue.
  • Add support for embedding chat externally.
  • Add support for embedding the video player externally.
  • Your username will get highlighted in chat when mentioned.
  • Emoji picker w/ custom emoji support.
  • Autocomplete usernames in composing chat messages by hitting tab.
  • Improve support for autolinking, and embedding YouTube or Instagram links in chat.
  • Server alerts to the console when there is excessive hardware utilization.
  • Updated version of Video.js and associated http-streaming library.
  • Improve max bitrate compatibility with HLS spec.
  • Stop jumping to bottom of chat when scrolling and reading previous messages.
  • Username colors are tweaked to be easier to read.
  • Improved mobile layout in the web UI.
  • Remove Cache-Control header when sending to external S3 storage to support Digital Ocean Spaces.
  • Stream gets cleaned up after 5 minutes of being disconnected.
owncast - Owncast v0.0.1

Published by gabek about 4 years ago

In honor of @mattdsteele and @JCake live streaming their wedding using Owncast tomorrow, here's the first release version.

We've been testing, doing events and enjoying using Owncast, so I think it's time to have a release version that others can start using as well.

Still lots of exciting updates going on, but here's finally something that you can start using. Feel free to reach out and let us know what you're using Owncast for, or if you have any questions.

This release is also on Dockerhub if that's convinient for you.

docker pull gabekangas/owncast:0.0.1

image

On Dockerhub

Congratulations Matt and Jessica!

Package Rankings
Top 2.6% on Proxy.golang.org
Badges
Extracted from project README
Good First Issue