Giter Club home page Giter Club logo

llg-mp's Introduction

LLG-MP 0.2.4

GitHub version License: AGPL v3 Github All Releases Gitter GitHub contributors GitHub contributors GitHub contributors

Donate

alt tag


what is LLG Media Player ?

Language Learning Gamification Media Player

  • This software is under AGPLv3 license

what is LLG-MP in details ?

LLG media player is an Electron based open source media player built with webchimera.js which provides javscript bindings for libvlc, it's main purpose is to gamify the language learning process through appending clickable subtitles/lyrics to different types of local/remote media with an onclick instant translation during the media stream flow , it also provides the ability to save new words/expressions along with their translations for future reference ,the clickable subtitles/lyrics functionality is performed through the manipulation of vtt.js library which is Mozilla's implementation of WEBVTT standard

LLG-MP features

  • Media player:
    • Normal media player (much like VLC)

    • Clickable/translatable subtitles & lyrics

    • Fetching subtitles (open subtitles) & lyrics (AZ lyrics) by hash & by name

    • Save translated words/phrases In a separate view & playing media when they occurred

    • Integration with external media websites (Youtube - Yesmovies)

    • Keeping track of users preferences through google analytics for further optimization

    • Video auto replay

    • Media playlist

    • Support for all languages

    • Play words/phrases sound (original &translated)

    • Play forward/backward & volume up/down using keyboard arrow keys

    • Support all subtitles formats (.srt,.vtt,.ass,.ssa,.sub,.sbv,.smi,.lrc,.json)

    • Linux support


  • As a language learning gamification framework:
    • Transforms subtitles/lyrics text into highlightable words and phrases, once highlighted , their google text translation appears with audio sound of both original & translated text.
    • Ability to save new words/phrases along with their translation, local media path/remote media url and time of occurence in the media object & refer to the new words/phrases occurence in the media afterwards.
    • Automatic detection for subtitles/lyrics language with support of translation to all languages (supported by google text/voice translation API)
    • Automaticlly download subtitles file and append it to either local media or remote media from youtube/yesmovies videos (clickable & translatable)
    • Ability to fetch songs lyrics by song name & singer name then show it on either local media or remote media from youtube/yesmovies (clickable & translatable)

what can i do with LLG-MP ?

  • You can use it as a regular media player much like vlc
  • Browse pc for a subtitles file to be appended to youtube / yesmovies videos
  • Search and fetch lyrics while playing youtube songs with controls over the video through keyboard buttons
  • Browse PC for subtitles file and append it to local media / youtube video / yesmovies video
  • Refer to new words/expressions in savedWords view
  • Download subtitles files (by either media hash or specifying movie/series name) and append them to either local media file or youtube/yesmovies videos .

LLG Media Player basic functionalities

  • Supports almost all media formats much like VLC media player as both are built on the same media engine (libvlc)
  • Supports popular subtitles files such as .vtt & .srt
  • Transforms subtitles/lyrics words and phrases into clickable strings , once clicked their google translation appears
  • Automatic detection for subtitles/lyrics language with support of translation to 10+ different languages
  • Integrates with youtube and yesmovies
  • Ability to fetch songs lyrics by song name & singer name then show it on either local media or remote media from youtube/yesmovies (clickable & translatable)
  • Ability to import subtitles file and append it to either local media or remote media from youtube/yesmovies videos (clickable & translatable)
  • Ability to save new words/phrases along with their translation , local media path/remote media url and time of occurence in the media file

How to use LLG Media Player ?

  • As a regular user : download and install the latest release from this link which complies with your operation system type/architecture [currently only windows 64-bit is supported]

  • As a contributer :

    • Windows

      git clone https://github.com/engMaher/LLG-MP.git
      npm install
      npm run postinstall-windows
      npm run dev-windows



    • Linux:
      git clone https://github.com/engMaher/LLG-MP.git
      npm install
      npm run postinstall-linux
      npm run dev-linux

TODO list(features)

  • Normal media player (much like VLC)
  • Clickable/translatable subtitles & lyrics
  • Drag & drop for Media files & subtitles files
  • Saving translated words/phrases in a seperate view
  • Opening media instance at saved words occurrence
  • Integration with external media websites (Youtube & yesmovies)
  • Fetching subtitles (open subtitles) & lyrics (AZ lyrics) by hash & by name
  • Keeping track of users preferences through google analytics for further optimization
  • Adding support for all languages
  • Media auto reply
  • Media playlist
  • Adding play sound option for words (original & translated)
  • Adding support for subtitles formats (.srt,.vtt,.ass,.ssa,.sub,.sbv,.smi,.lrc,.json)
  • Play forward/backward & volume up/down using keyboard arrow keys
  • Linux support
  • Implementation of user authentication system & synchronization between different instances of LLG-MP for group/party learning remotely
  • Adding a torrent client
  • Adding ANKI interface & user tests from saved words view
  • Adding Books reader capability
  • Chrome extension for using LLG-MP with different media sources online
  • Making the media player cross platform and signing it in both appstore and windows store

Contributing

  • For developers : you can send pull requests with TODO features implementation and fix issues opened by users
  • For users : you can test the executable and file issues and request features

For more information please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Acknowledgments

llg-mp's People

Contributors

ahmedmaher05 avatar ahmedmaherhasan avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

llg-mp's Issues

Electron file doesn't exist (Error on Linux)

I try to launch LLG-MP on Linux (5.12.15-arch1-1) and when I run npm run dev-linux I get the error is presented below

> [email protected] dev-linux

> nodemon --watch . --exec "./node_modules/electron/dist/electron . --debug" --ext html,js,json,css

[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: html,js,json,css
[nodemon] starting `./node_modules/electron/dist/electron . --debug`
sh: line 1: ./node_modules/electron/dist/electron: No such file or directory
[nodemon] failed to start process, "./node_modules/electron/dist/electron . --debug" exec not found
[nodemon] Error
    at Bus. (/home/elter/test/LLG-MP/node_modules/nodemon/lib/nodemon.js:158:25)
    at Bus.emit (node:events:406:35)
    at ChildProcess. (/home/elter/test/LLG-MP/node_modules/nodemon/lib/monitor/run.js:184:11)
    at ChildProcess.emit (node:events:394:28)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)

Play http video

Hello there,

I've been testing the mac version of colossatr0n and it works fine for me on local files.

But I was wondering if it is possible to play http videos in the player

Thank you

Add Typescript compatibility and Webpack for bundling

As an outside contributor, having the ability to code in Typescript would be a great help and also increase the quality of contributed code. This would also require using Webpack so that the ts files and existing js files can be bundled together.

I'm looking into this right to see if I can get Typescript and Webpack to work with Electron.

Mac OS support

Just putting in an enhancement request to add Mac OS support.

Since this is an electron-app, what exactly does this conversion entail? Does the actual logic of LLG-MP need to be changed, or is it mostly build and dependency stuff?

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.