GithubHelp home page GithubHelp logo

ramiro / plugin.video.elementum Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elgatito/plugin.video.elementum

0.0 2.0 0.0 24 MB

Elementum add-on for Kodi

Home Page: http://elementum.surge.sh

License: Other

Makefile 0.14% Python 14.46% HTML 0.03% JavaScript 85.34% Shell 0.03%

plugin.video.elementum's Introduction

Build Status Join the chat at https://gitter.im/ElementumApp/Lobby

What it is

Elementum is a torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. However, it calls specially crafted add-ons (called providers) that are installed separately. They are normal Kodi add-ons, and thus can be installed/updated/distributed just like any other add-on.

This project is a fork of Quasar, created by scakemyer, which came from the well known, but no longer maintained Pulsar project from steeve. Thanks, guys, for your titanic work!

Supported platforms

  • Windows 32/64 bits
  • Linux 32/64 bits (starting Ubuntu 15.04)
  • Linux ARM (armv6, armv7, armv8)
  • OS X 32/64 bits
  • Android ARM (4.4.x, and later), x86, x64, ARM, ARM64

Minimum supported Kodi version: 16 (Jarvis)

Download

See the Releases page. Do NOT use the Download ZIP button on this page.

Installation

  • Go to Settings > Service settings > Control and enable both Application control options
  • Restart Kodi if one or both options were not enabled
  • Install Elementum like any other add-on

Build

The entire build process of Elementum is automated using Travis CI, and that's a good thing because it's quite a complicated one with many dependencies and repositories. Here's the stack from top to bottom:

  • elementum - The Elementum daemon itself, built on top of the cross-compiler
  • xgo - Docker images and utility to cross-compile Elementum binary for different platforms

Build status of each project

elementum daemon
Build Status

For Developers' guide, please, refer to Elementum website

How it works

Elementum is a torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. It calls specially crafted add-ons (called providers) that are installed separately. They are normal Kodi add-ons, and thus can be installed/updated/distributed just like any other add-on.

Elementum is centered around media: it browses media from TheMovieDB and Trakt.tv. And so, when you decide you want to watch a media (i.e. given an TMDB ID), here's what Elementum does:

  • Enumerate the installed providers
  • Call each provider to find the media you want to watch (in parallel)
  • Each provider returns a list of BT links they found
  • Collects and de-duplicates all the links
  • Goes on the BitTorrent network to find out the number of seeds and peers in real time (i.e. not provided by the provider)
  • Finds out of which quality are the different links (thanks to their name)
  • Ranks the links by quality and availability (Elementum privileges quality over availability, but it's not dumb. However, you can get a full list to choose from manually if you want, or disable 'Choose stream automatically' to always choose manually)
  • Sends the chosen link to the BitTorrent streaming engine

All of this is done in less than 10s depending on your platform and timeout settings. Elementum is around 95% Go, and thus, it's fast. Very fast, actually.

The BitTorrent streaming engine is very resilient (or at least it's designed to be). It's built on top of anacrolix/torrent package.

Providers

As said before, Elementum relies on providers to find streams. Providers are easy to write, and can be as little as ~20 lines of Python code. As they are normal Kodi add-ons, which can have their own configuration (although it is not recommended because it complicates things).

Please note that for legal reasons, I won't discuss, develop nor distribute any providers connecting to illegal sources. So there is no need to ask me. While I can partake in general discussions regarding provider development, I won't do so for illegal sources specific problems.

FAQ

I can't code. How can I help?

Spread the word. Talk about it with your friends, show them, make videos, tutorials. Talk about it on social networks, blogs, etc...

The plugin doesn't work, what can I do?

Please search currently open and closed issues to see if it has already been reported and/or fixed. If not then add a new issue with a short but descriptive title, a detailed description and of course a link to the logs. If you don't know how to do that, just follow the guide at: http://kodi.wiki/view/Log_file/Easy. If you actually went through the logs and know the relevant part, you can instead paste that, as long as it's shorter than a hundred lines or so, and please enclose it in triple back-quotes for readability.

Can I seek in a video?

Yes, but it can fail.

What about seeding?

When watching a torrent, you will be seeding while you watch the stream.

Does it download the whole file? Do I need the space? Is it ever deleted?

Yes, yes and yes.

Can I keep the file after watching it?

Yes, change it in the add-on settings.

Can I set it to download directly to my NAS?

Yes, but you need to mount your NAS via the OS, not via Kodi.

Provider X is blocked in my country/ISP, how can I set another domain?

Sorry, I won't comment of specific providers.

Screenshots

plugin.video.elementum's People

Contributors

a1ex4 avatar abuisine avatar achaw avatar assapir avatar dmartinpro avatar elgatito avatar filosofos avatar greenbaburu avatar guidosarducci avatar i96751414 avatar jellespijker avatar johnnyslt avatar killerjoebr avatar lam4hound avatar lrrosa avatar m4xc4v413r4 avatar mrdini123 avatar mrlegendary avatar muzena avatar penzinho avatar razer1s avatar scakemyer avatar sonics007 avatar steeve avatar susobaco avatar tobiasvandriessel avatar trisk avatar zorg1977 avatar

Watchers

 avatar  avatar

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.