Griffith
Griffith

Griffith is a React-based web video player. It makes streaming easy. Whether your video format is mp4 or hls, Griffith can use Media Source Extension (MSE) for segment loading.

Griffith is an open-source, React-based web video player developed by Zhihu, designed to provide a high-performance and extensible video experience for both desktop and mobile web.

The main features of this tool include:

  • Advanced Streaming Support: Griffith makes streaming easy by using Media Source Extension (MSE) for segment loading, supporting both MP4 and HLS formats.

  • Framework Flexibility: While specifically designed to simplify video integration in React applications, it also supports the UMD (Universal Module Definition) pattern for direct use in non-React browser environments.

  • Proven Reliability: The player is highly reliable and is used extensively in production for Zhihu's web and mobile web platforms.

  • Modular Architecture: It is built as a monorepo using Yarn and Lerna, with specialized packages for the core library, utilities, and dedicated plugins for MP4 and HLS.

  • Optimized Custom Builds: Developers can reduce their application's bundle size by using build-time aliases (e.g., in Webpack) to include only the specific media plugins they need.

  • Standalone Mode: It includes a specialized UMD build (griffith-standalone) that can be used without the need for React or Webpack.

  • Open-Source License: The project is freely available under the MIT license.