player
nanostores
Our great sponsors
player | nanostores | |
---|---|---|
2 | 17 | |
1,715 | 4,739 | |
9.0% | 4.6% | |
9.8 | 8.4 | |
2 days ago | 6 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
player
-
How to Write a Great Readme
vidstack is very light on technical details but starts with a concise intro and a screenshot, as well as relevant links: https://github.com/vidstack/player
payload is well-structured in general: https://github.com/payloadcms/payload
nanostores starts out with an intro and telling code examples, followed by lots of technical details: https://github.com/nanostores/nanostores
-
Show HN: Modern media captions parsing and rendering library (vtt/srt/ssa)
Hey everyone!
The motivation for this started with some initial exploration of how native captions are inconcistent and extremely limited with respect to positioning + styling across browsers. In addtion, existing captions work was glued inside player libs and all open-source parsers were ancient (e.g., mozilla/vtt)!
I wanted to modernize it all with newer web APIs such as `fetch` and `ReadableStream` and extend support out to multiple captions formats. I also noticed that a lot of popular players on the web in recent years started adding caption customization options. Turns out accessible captions can be legally enforced!
Do note that accessible captions not only includes sync/timing, but also an adequate set of controls to customize the style of the captions, ensuring they're readable for everyone. You can see an example of this on YouTube when you go to the captions and click customize.
It just seemed silly that probably every single company is internally building this type of lib which is insanely hard to get right. I built this to serve our accessiblity goals at Vidstack[1] where we're working on enabling you to build production-ready player quickly.
It took me about two weeks to build this and honestly there's still a lot of areas that need work but it's a great start. I hope you find it useful. You'll find a lot more helpful information in the repo.
I'll also leave you with this YouTube video where Dan Sparacio beautifully explains the complexities of building accessible media captions on the web at Paramount [2]. This is one of my favourite Demuxed talks. In there case, acessible enough to meet FCC guidelines _Highly_ recommend checking it out to learn more!
[1]: https://github.com/vidstack/player
nanostores
-
Astro.js as an alternative to Next.js: pushing the limits
In its docs, Astro recommends nanostores, but I’ve used effector in the past. And LOVED IT. So I’ve used it for this project as well.
-
React roadmap ( with explanations and resources, all in one place)
Nanostores explanation
-
How to Write a Great Readme
vidstack is very light on technical details but starts with a concise intro and a screenshot, as well as relevant links: https://github.com/vidstack/player
payload is well-structured in general: https://github.com/payloadcms/payload
nanostores starts out with an intro and telling code examples, followed by lots of technical details: https://github.com/nanostores/nanostores
-
Is redux and thunks still used or are there other alternatives for it now?
Nanostores and Reatom are also great, fast atomic libs
-
Is it possible to build a “framework agnostic” library like tanstack table?
Astro handles multi-framework components (React, Vue, etc) and they recommend using the nanostores library for shared state.
-
how to share state between components with distant shared parent?
Checkout Nanostore it's what Astro.build recommends for sharing state across different ui libraries.
-
Building a multi-framework dashboard with Astro
All of these are valid ways of fixing the state management issue, but it's clear that we need to find a common solution that works for all the UI libraries. This is where nanostores comes into play! The description they provide on their GitHub page is simply perfect:
- A tiny state manager for React/Vue/Svelte with many atomic tree-shakable stores
-
Explanation on how Redux or React Context could help and picking the best option
Jotai and Valtio are both also really good. Recently looked at Nanostore as well and has some similarity to Jotai and Recoil.
-
My next project will use this Ui lib...
Just to chime in on framework agnostic stores, Astro.build recommends using Nano Stores to handle reactivity, as the base library is very small and they have adapters for most relevant frameworks. I definitely agree that avoiding framework lock-in is the smart thing to do.
What are some alternatives?
mp4-muxer - MP4 multiplexer in pure TypeScript with support for WebCodecs API, video & audio.
jotai - 👻 Primitive and flexible state management for React
RVS_PersistentPrefs - A Simple Class For Basic Persistent Storage
effector-react - Business logic with ease ☄️
drop - File dropping made simple
nanoid - A tiny (124 bytes), secure, URL-friendly, unique string ID generator for JavaScript
earwurm - An easier way to use the Web Audio API for playback of UI sound effects.
zustand - 🐻 Bear necessities for state management in React
LGV_MeetingServer - An aggregation server for meeting list servers.
nextjs-course-code - Source code for my NextJS course (https://acad.link/nextjs)
analytics-next - Segment Analytics.js 2.0
create-figma-plugin - :battery: The comprehensive toolkit for developing plugins and widgets for Figma and FigJam