All Projects → vimond → replay

vimond / replay

Licence: Apache-2.0 license
A React video player facilitating adaptive stream playback with custom UI and a React-friendly API.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to replay

orcanode
Software for live-streaming and recording lossy or lossless compressed audio (HLS, DASH, FLAC) via AWS S3 buckets. ⭐
Stars: ✭ 23 (-88.61%)
Mutual labels:  hls, mpeg-dash
GaleCrater
Video On Demand Server in Node.Js on top of Azure Media Service
Stars: ✭ 27 (-86.63%)
Mutual labels:  mpeg-dash, adaptive-streaming
bitmovin-player-web-samples
Showcases build around the Bitmovin Adaptive Streaming Player, demonstrating usage and capabilities of the HTML5 based HLS and MPEG-DASH player, as well as the Flash based Fallback.
Stars: ✭ 69 (-65.84%)
Mutual labels:  hls, mpeg-dash
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (-21.29%)
Mutual labels:  hls, mpeg-dash
vidi
<video> playback simplified
Stars: ✭ 31 (-84.65%)
Mutual labels:  hls, mpeg-dash
Node Media Server
A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
Stars: ✭ 4,433 (+2094.55%)
Mutual labels:  hls, mpeg-dash
stream-detector
A Firefox addon written in JavaScript which provides an easy way to keep track of URLs to playlists and subtitles used by Apple HLS, Adobe HDS, MPEG-DASH, and Microsoft Smooth Streaming streams.
Stars: ✭ 307 (+51.98%)
Mutual labels:  hls, mpeg-dash
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+5931.68%)
Mutual labels:  hls, adaptive-streaming
Mediasdk
The library is working for downloading video while playing the video, the video contains M3U8/MP4
Stars: ✭ 164 (-18.81%)
Mutual labels:  hls
M3u8parser
A light weight M3U8 parser. Support X-Key & X-Session-Key.
Stars: ✭ 187 (-7.43%)
Mutual labels:  hls
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-21.78%)
Mutual labels:  hls
Lenet5 hls
FPGA Accelerator for CNN using Vivado HLS
Stars: ✭ 167 (-17.33%)
Mutual labels:  hls
Ovenplayer
OvenPlayer is Open-Source HTML5 Player. OvenPlayer supports WebRTC Signaling from OvenMediaEngine for Sub-Second Latency Streaming.
Stars: ✭ 196 (-2.97%)
Mutual labels:  hls
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (-18.81%)
Mutual labels:  hls
Jmuxer
jMuxer - a simple javascript mp4 muxer that works in both browser and node environment.
Stars: ✭ 222 (+9.9%)
Mutual labels:  hls
Shaka Player Embedded
Shaka Player in a C++ Framework
Stars: ✭ 153 (-24.26%)
Mutual labels:  hls
Mamba
Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
Stars: ✭ 151 (-25.25%)
Mutual labels:  hls
Php Ffmpeg Video Streaming
📼 Package media content for online streaming(DASH and HLS) using FFmpeg
Stars: ✭ 246 (+21.78%)
Mutual labels:  hls
Minyami
A lovely video downloader for HLS videos
Stars: ✭ 223 (+10.4%)
Mutual labels:  hls
Griffith
A React-based web video player
Stars: ✭ 2,287 (+1032.18%)
Mutual labels:  hls

Replay

Replay is a React video player with these key characteristics:

  • Ready-to-use component.
  • Custom and customisable player controls and UX.
  • Enables adaptive streaming, thanks to HLS.js and Shaka Player integrations.
  • One consistent and React-friendly API across all streaming technologies.

Capabilities at a glance

  • MPEG-DASH, HLS, progressive MP4/WebM playback.
  • In-stream and side-loaded subtitles. Selector controls for subtitles and audio tracks.
  • Common player controls: play/pause, volume, mute, timeline, skip back button, fullscreen.
  • Live/DVR playback with timeshifting controls.
  • Advanced player controls: Picture-in-picture, AirPlay, bitrate (quality) selector.
  • Keyboard shortcuts and tab navigation.
  • Remembering the user's volume and language preferences.
  • Responsive player sizing and UI adaptation.
  • Touch- and mobile-friendly UX.

Full feature list

Getting started

Prerequisites

Minimum React version for Replay is 16.6. Additionally, one component, the CompoundVideoStreamer, requires your script bundler to support dynamic import() statements. This only applies if this component is actually inserted in your code.

Inserting Replay into your React app

Installing the Replay npm package

npm install vimond-replay --save

Importing dependencies

import React from 'react';
import { Replay } from 'vimond-replay';
import 'vimond-replay/index.css';

The last CSS import statement might be substituted with your desired CSS inclusion mechanism, e.g. SASS.

Rendering the Replay player with a progressive video source (MP4 file)

class MyAppView extends React.Component {
  render() {
    return (
      <Replay source="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"/>
    );
  }
}

Flow and TypeScript static type annotations/declarations are provided for the Replay component.

Next steps

Working with the source code

Project setup

Development setup

Technologies & patterns used & applied

  • Flow static type annotations.
  • Jest and Enzyme unit and component testing.
  • Automated code formatting with Prettier.
  • ESlint code quality checks.
  • PostCSS and Babel for builds/transpilations.
  • Docz documentation authoring and generation with live code examples displaying React components.
  • React.lazy and dynamic imports for splitting out heavy third party streaming dependencies.
  • React context API.
  • ES2018/ES2019 language features.

About

Replay is an open source initiative from Vimond Media Solutions.

License

Replay is released under the Apache 2.0 License.

Roadmap

See the project milestones.

Authors

Replay is developed by Tor Erik Alræk.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].