Giter VIP home page Giter VIP logo

kodi-invidious-plugin's Introduction

Invidious plugin for Kodi

This plugin provides an Invidious client for Kodi. Invidious is a privacy-friendly web frontend to YouTube.

Note: Currently, this plugin is only tested with Kodi 20 and newer.

Installation

To keep track with development, it is recommended to install the plugin with git:

# please change the destination if necessary
git clone https://github.com/petterreinholdtsen/kodi-invidious-plugin.git ~/.kodi/addons/plugin.video.invidious

# on an embedded device (e.g., an X96 Mini running CoreELEC, you need to clone to /storage/.kodi/addons/plugin.video.invidious

You can also download an archive and extract it in the right place instead of using git:

# same here: make sure you change to the right directory
cd ~/.kodi/addons/

# download a zip archive
mkdir plugin.video.invidious
wget https://github.com/petterreinholdtsen/kodi-invidious-plugin/archive/master.tar.gz -O - | tar xz --strip-components=1 -C plugin.video.invidious

It is strongly recommended to use git instead of an archive, as it makes updating the plugin a lot easier.

You may have to restart Kodi before you can enable the plugin. To enable the plugin, please go to the addons settings, switch to user plugins and enable the plugin there.

To Do

  • evaluate using youtube-dl to remove dependency on third-party web service (maybe in a second plugin)
  • implement adaptive streaming properly
  • be able to open YouTube videos from NewPipe
  • add support for settings, e.g., to configure Invidious instance
  • support for adaptive streaming
  • consider supporting versions < Kodi 18 (e.g., by making the dependency on inputstream-helper optional)
  • trending, top, popular etc. video lists (not too important to most people, but Invidious offers endpoints, so why not?)
  • visit channel of list items (e.g., via the context menu of a video search result)
  • save channels in favorite list (for quick access from the main menu)
  • support for subtitles

kodi-invidious-plugin's People

Contributors

amihajlovic avatar baldo avatar basilgello avatar irda13 avatar mintsoft avatar petterreinholdtsen avatar solbu avatar theassassin avatar zaedus avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

solbu basilgello

kodi-invidious-plugin's Issues

Add support for NewPipe's "Play with Kodi" option

As a user of NewPipe,
I want Kodi to use the Invidious plugin when using "Play with Kodi",
so that I can play and queue YouTube videos from within NewPipe on my phone

Acceptance criterias

  • When using the "Play with Kodi" button in NewPipe and then sending the video to the Kodi remote app "Kore", the Invidious plugin is opened in Kodi and starts playing the video

Meta info for search results

Hi there, would it be possible for you to add meta information for the search results as well? The title alone is of course often not meaningful enough...

Best regards

Search does not work

Hi and many thanks for this plugin!

After installing the plugin an all of the dependencies on Kodi 20.2 running on osmc "Trending" and "Popular" work fine. But clicking on "Search->New Search->enter a search term->ok" leeds to an error. Here are the logs:

2023-08-10 21:34:39.240 T:7051    error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'FileNotFoundError'>
                                                   Error Contents: [Errno 2] No such file or directory: '/home/osmc/.kodi/userdata/addon_data/plugin.video.invidious/search-history.json'
                                                   Traceback (most recent call last):
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_addon.py", line 18, in <module>
                                                       sys.exit(main())
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_addon.py", line 14, in main
                                                       return plugin.run()
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 285, in run
                                                       self.display_new_search()
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 158, in display_new_search
                                                       self.display_search_result(search_input)
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 164, in display_search_result
                                                       self.search_history.push(search_input)
                                                     File "/home/osmc/.kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 44, in push
                                                       with open(self.history_path, "w+") as file:
                                                   FileNotFoundError: [Errno 2] No such file or directory: '/home/osmc/.kodi/userdata/addon_data/plugin.video.invidious/search-history.json'
                                                   -->End of Python script error report<--
                                                   
2023-08-10 21:34:39.250 T:2911     info <general>: CActiveAESink::OpenSink - initialize sink
2023-08-10 21:34:39.251 T:2911     info <general>: CAESinkALSA::Initialize - Requested layout FL, FR
2023-08-10 21:34:39.251 T:2911     info <general>: CAESinkALSA::Initialize - set digital codec 0
2023-08-10 21:34:39.253 T:2911     info <general>: CAESinkALSA::Initialize - Attempting to open device "default"
2023-08-10 21:34:39.260 T:2911     info <general>: CAESinkALSA::Initialize - Opened device "default"
2023-08-10 21:34:39.261 T:2911     info <general>: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
2023-08-10 21:34:39.261 T:2911     info <general>: CAESinkALSA::InitializeHW - Using data format AE_FMT_S24NE4
2023-08-10 21:34:39.263 T:2911     info <general>: CAESinkALSA::Initialize - speaker layout 0
2023-08-10 21:34:39.434 T:7049    error <general>: GetDirectory - Error getting plugin://plugin.video.invidious/?action=new_search
2023-08-10 21:34:39.447 T:2893    error <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.invidious/?action=new_search) failed

Please let me know if I could debug something more.

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.