algora-io / tv

Open source Twitch for developers
https://algora.tv
Other
1.07k stars 67 forks source link

Capture multiple thumbnails per stream and allow streamer to select one #81

Closed zcesur closed 1 month ago

zcesur commented 2 months ago

We already capture a thumbnail for each livestream. Let's update Algora.Pipeline.Storage so we capture multiple (up to 6) thumbnails

I think we should use exponential backoff (e.g. on minute 0, 1, 2, 4, 8, 16) so that we get a few options from the get-go and a few more later for variety. Algora.Pipeline.Storage module is segment-based so the math should be done by counting the segments (1 segment = 2 seconds)

Let's also add a simple modal on AlgoraWeb.VideoLive that allows the streamer to select one of the 6 generated thumbnails

zcesur commented 2 months ago

/bounty $75

algora-pbc[bot] commented 2 months ago

## 💎 $75 bounty • Algora

### Steps to solve: 1. Start working: Comment /attempt #81 with your implementation plan 2. Submit work: Create a pull request including /claim #81 in the PR body to claim the bounty 3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

### ❗ Important guidelines: - To claim a bounty, you need to provide a short demo video of your changes in your pull request - If anything is unclear, ask for clarification before starting as this will help avoid potential rework - For assistance or questions, join our Discord

Thank you for contributing to algora-io/tv!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @samrat Sep 5, 2024, 7:54:50 AM WIP
🟢 @gilest Sep 18, 2024, 4:56:08 AM #108
samrat commented 2 months ago

/attempt #81

👋 I'd like to take a shot at implementing this.

(e.g. on minute 0, 1, 2, 4, 8, 16) so that we get a few options from the get-go and a few more later for variety.

@zcesur Just to clarify I understood this correctly: we'd still capture 6 thumbnails total, and not replace the earlier thumbnails, right?

zcesur commented 2 months ago

Hey great to see you here @samrat!

And yeah, exactly

samrat commented 2 months ago

Hey, I've not been able to work on this because of some other priorities.

If anyone else wants to work on it, please feel free to take over!

gilest commented 2 months ago

Hi there – I'm keen to try implementing this.

I'll be reading some code and experimenting with the current implementation to begin with.

/attempt #81

ologbonowiwi commented 2 months ago

putting myself in the queue 👋🏽

I will not actively work on it, and I do not have experience with Elixir, but the issue seems interesting.

gilest commented 2 months ago

Hi @zcesur I have staged the first half of this feature for review in #106

Edit: and second half implemented in #108

algora-pbc[bot] commented 1 month ago

💡 @gilest submitted a pull request that claims the bounty. You can visit your bounty board to reward.

algora-pbc[bot] commented 1 month ago

🎉🎈 @gilest has been awarded $75! 🎈🎊