Giter Site home page Giter Site logo

etesam913 / custoplayer Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 2.0 4.35 MB

A React.js npm package that allows for the rapid creation of customizable video players.

Home Page: https://etesam913.github.io/Custoplayer/

License: MIT License

JavaScript 2.72% HTML 0.24% TypeScript 79.62% CSS 1.33% MDX 16.09%
javascript npm react typescript video video-player video-player-library

custoplayer's Introduction

Hi ๐Ÿ‘‹ ! I'm Etesam

I am a Software Engineer working at Balyasny Asset Management

Want to learn more about my experience?

Want to see some of my personal projects?

Some of the languages/technologies that I am use frequently are:

  • JavaScript (ReactJS)
  • Python
  • CSS
  • HTML
  • C#

What am I currently working on?

I am working on react-magic-motion, a react.js library that โœจ magically animates your components.

Where can you find me?

My GitHub at a Glance ๐Ÿ”Ž

Etesam's GitHub stats

custoplayer's People

Contributors

dependabot[bot] avatar etesam913 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

custoplayer's Issues

Create text tooltip for progress bar

When hovering over the progress bar a text tooltip should appear

  • It should show the anticipated time if you were to seek to the hovered time
  • It should also show when mouseDown on the progress bar

Create presets file

  • Contains item presets
  • Good for people who want a grab and go solution
  • Values should be able to be overrided
  • Presets can be named after colors (maybe?)
  • Add a preset for the cypress tests (not exported from the lib)

Fix double seek bug

  • When seeking using the progress bar for a long time, a double seek will usually occur in safari
  • Leads to bad user experience.

Configure docusaurus

  • Follow the docusaurus docs page
  • Create first iteration of the homepage
  • Write docs pages for each component so far

Fix volumeBar2 general bugs

  • volumeBar2 is not go over the topProgressBar
  • topProgressBar should not go in active animation when volumeBar2 is being dragged
  • Fix bug where you cannot focus on volumeBar2
  • min-height problem when scrubber is transparent, but scrubber border is not

Update volumeIcon 1

  • Update the svg
  • Animate the arc's using pathLength
  • Make clicking on the button mute it.

Add topProgressBar

Add the ability to add a top progress bar

  • This is valuable as it allows for more space in the controls bar
    • A good configuration for mobile devices as there is limited horizontal space

Example code

values: {
  topProgressBar: {
    progressColor: '#a4c3f5',
    scrubberColor: "#a4c3f5",
    scrubberBorderColor: "white",
  }
}

Add settings button

  • Add ability to change video quality
  • Add ability to change playback speed
  • Add ability to enable subtitles
    • This is done through reading of vtt file

Example

// values
item2: {{
    id: "settingsButton1",
    buttonColor: "orange",
    options: {
        subtitles: true,
        playbackSpeed: [0.25, 0.5, 1, 1.5, 2],
        quality: true
    }
}}

// Video Children

<source id="custoplayer-1080" src='videoUrlGoesHere' type="/video/mp4"  />
<source id="custoplayer-720" src='videoUrlGoesHere' type="/video/mp4"  />
<source id="custoplayer-480" src='videoUrlGoesHere' type="/video/mp4"  />
<source id="custoplayer-360" src='videoUrlGoesHere' type="/video/mp4"  />
<source id="custoplayer-240" src='videoUrlGoesHere' type="/video/mp4"  />

Create currentTime & duration text

Create two new types of items

  • currentTime: this is the current time of the video
    • Should update with the onTimeUpdate function
  • duration: this is the video duration
    • Should update with the video metadata load

Add controls bar customization

  • Add ability to customize the color of the controlsBar
  • Changing the color should change the default color of the previewThumbnail and volumeBar2 background

Setup Testing

Write unit tests using jest and react-testing-library.

Use playwright for integration tests.

Switched to cypress instead of playwright as it is difficult to test video properties in playwright

Add volumeBar2 & volumeButton2

  • volumeButton2 should be a different icon
  • Implement different svgs for volumeButton depending on volume
  • volumeBar2 should be vertical

Add play/pause/seeking indicator

This is important to show a clear visual indicator of what state the video is in.

  • Show an icon when video is playing
  • Show an icon when video is paused
  • Show an icon when video is seeking

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.