github Zibbp/ganymede v1.1.0
v1.1.0 - Chat Playback & New Frontend

latest releases: v3.1.0, v3.0.2, v3.0.1...
24 months ago

v1.1.0 is the largest update to date with many new features. Check them out below.

New Features

  • New Frontend!

    • The new frontend has been released. It is published under the same image tag, simply pull down the latest containers. The frontend is now written in React using NextJS.
      image
  • Chat Playback

    • A new chat playback mode has been added. This mode displays the message in real time, similar to watching a Twitch VOD. More information can be found below. If you want to stick to the rendered video chat playback, there is an option in the "profile" page.
      brave_gF3XxIPnS4
  • Watch Channels for new videos

    • Similar to watching a channel to archive live streams, a feature has been added that allows you to watch a channel for new videos to archive.
      image

What's Changed

  • feat: VOD Chat Playback by @Zibbp in #55
  • feat(cache): cache chat requests by @Zibbp in #62

Chat Playback Details

By default, the method of chat playback is now the "experimental" real time chat playback system. If you wish to use the rendered video chat playback, a setting can be found in the "profile" page. Every archive will still render the chat into a video as Ganymede is primarily an archiving platform. A video of the chat will outlast Ganymede by many many years.

How it works

When navigating to watch a VOD Ganymede will first check if there are embedded emotes in the VOD's chat file. If so, those emotes will be exclusively used. If no emotes are not found, Ganymede will fetch global and channel emotes from Twitch, BTTV, FFZ, and 7TV. This same process occurs with badges.

When playback starts the frontend will request 10 second segments of the chat. While doing this, the API will cache the chat json to improve response times of this request. Caching is being used as some of the chat files can grow to hundreds of megabytes depending on the number of embedded emotes. Caching the chat significantly speeds up the chat requests for playback.

When a skip (seek) in time is detected, the chat is cleared and different chat request is called before the typical 10 second segment api call. This api call fetches 30 comments before the destination seek time to populate the empty chat panel.

Full Changelog: v1.0.9...v1.1.0

Don't miss a new ganymede release

NewReleases is sending notifications on new releases.