Skip to content

ahmedmaher05/LLG-MP

Repository files navigation

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