documentation/docs/faq.md

9.9 KiB

Frequently Asked Questions

Table of Contents

Using Invidious

Q: Can I use Invidious on my device?

A: As long as your device is equipped with a modern web browser, sure, of course! A responsive interface is available for mobile/tablets.


Q: Do you plan to make an Android/iOS app?

A: No. Invidious is and will always be a browser application.

If you have an Android phone/tablet, you can check the NewPipe application.


Q: Can I synchronize my account between instances?

A: Short answer: manually => Yes, automatically => No.

How to do it manually:

  1. Go to the import/export page while connected to your account (preferences page, then click the "Import/export data" link at the bottom of the page)
  2. Click on "Export Invidious data as JSON"
  3. Go to the same import/export page on the other instance
  4. Use "Import Invidious JSON data"
  5. Press import

Yes, we're aware that it's cumbersome. Please continue to read to understand why we don't implement automatic synchronization.

Why we don't implement automatic sync:

TL;DR: we don't have the time to implement/maintain it.

To get automatic synchronization, we have 3 options:

  1. Centralized database (like Youtube)

  2. Federation (like Matrix, Mastodon and PeerTube)

  3. An external tool that uses the API

  4. A centralized database goes against our idea of a decentralized web so let's ignore that right away (plus, we don't want to risk hosting large amounts of user data anyway).

  5. Federation is a good option (it works well for the others), however we currently don't have the time nor the resources required to implement it.

  6. An external tool (that runs locally on your PC, or a self-hosted server like Firefox Sync) is also a valid option. As for federation, we don't have the resources to develop such a solution. PRs and external tool propositions are welcome!

Please see the following issues for more details on the subject: https://github.com/iv-org/invidious/issues/2515


Q: What data is collected by Invidious?

A: Invidious by itself does not collect any data about its users, but keep in mind that instance owners can log your IP address (like any other server on the internet).

By default, the server logs which URLs were accessed, the associated error code (e.g 404 if the URL was not found) and the time it took for the server to respond.

Here is what the server logs look like:

2021-08-30 18:15:44 UTC [info] 200 GET /watch?v=GIAKHj9uJtM 781.21ms
2021-08-30 18:15:49 UTC [info] 200 GET /api/v1/search?q=Fly%20away 500.0ms
2021-08-30 18:15:49 UTC [info] 200 GET /vi/lJcqAzWFWLs/mqdefault.jpg 15.82ms
2021-08-30 18:15:49 UTC [info] 200 GET /vi/JoP_Tte7z7o/mqdefault.jpg 70.64ms

When you create an account, your watch history and the list of channels you subscribed will be stored in the server's database. You can export, migrate or delete these data at any time from your user account page.


Q: What data is shared with YouTube?

A: By default, the video stream is fetched directly from Google's servers (googlevideo.com) in order to reduce the bandwidth required by invidious, meaning that Google will be able to see your IP address and some other data commonly sent by web browsers, like your user-agent string.

If you don't want that to happen, you can go to the preferences page and check the Proxy videos option. When this option is enabled, the Invidious instance will be used as a relay (also known as a "proxy") between you and Google's servers, which will hide your IP address and the other information sent by your browser.


Commonly encountered errors/problems

Q: The media could not be loaded…

A: This problem can occur in different scenarios:

  • If you are the one that have installed Invidious, please read the page "All the YouTube error messages explained with solutions"

  • If you're trying to watch a music clip, Youtube is likely blocking the video stream. Try enabling Proxy videos in the preferences (or add &local=1 in the URL). Switching to another instance is also a good alternative, as this type of content is often geo-restricted.

  • Youtube often sends corrupted video data for the hd720, medium and small quality settings. Refreshing the page multiple times (5-7) can fix the problem. You may also set your preferred video quality to dash (or add &quality=dash to the URL).

  • Rarely, it can be due to an internal failure of the instance and the video stream can't be fetched. A simple page refresh can solve the issue.

If none of the solutions listed above fix the problem, try switching instances. And if that still doesn't work, you'll have to watch the video on YouTube itself (sorry for the inconvenience).


Q: Could not check out a connection in 2.0 seconds (DB::PoolTimeout)

A: Please, do not open a bug report on github, we can't do anything!

The instance you are using is having database issues. Please use another instance from the list of public instances


Q: DB::PoolRetryAttemptsExceeded

A: The instance you are using is having database issues. Please use another instance from the list of public instances

If you're an instance admin, first try restarting Invidious. Then try restarting PostgreSQL. If neither fixed the problem, try increasing the maximum number of connections allowed. Some distributions change the default to a low number.

Q: Subtitles are not working!

A: Subtitles (also know as "Closed Captions") are generally not working on popular Invidious instances. This is due to URL rate limiting coming from Google servers.

To solve that, try using a less popular public instance or host Invidious yourself.

Please take a look at the following issue for more details: https://github.com/iv-org/invidious/issues/2567


Q: Where are the 360p/480p/1080p quality options?

A: These quality options are only available when DASH is enabled. In order to enable DASH, go to the preferences and set the preferred video quality to "DASH".

Note that DASH requires Javascript and can be disabled by the instance administrator. So if the option is not available to you, try to switch to another instance.

By default, DASH is not enabled to allow videos to be played without Javascript and also to save on bandwidth (DASH must be proxied in order to work properly, which uses a lot of the instance bandwidth).


Running your own instance

Q: Do you provide pre-built binaries (.deb, .rpm, etc.)?

A: We currently don't provide those, due to the rolling release nature of Invidious. Get a fresh clone or pull the latest commits from master instead.


Q: How can I configure [thing]?

A: Read the example config file (config/config.example.yml). All the supported configuration options are documented there.


Q: RSS feeds/links/etc... URLs redirect to <IP>:3000 but I have a reverse proxy!

A: Make sure that the following parameters are set according to your environment:

  • https_only: if your instance is served over HTTPS
  • domain: if you have a domain name that redirects to your instance
  • external_port: if your instance is accessed from a different port than the listening one (e.g your instance listens on :3000, but is available on :443 through a reverse proxy, set external_port to 443)

A: The "popular" feed is generated from the videos that are popular amongst the users registered on your instance. If nobody has created an account on your instance (e.g if registration is disabled) the popular feed will be empty.


Q: I can't log in nor save preferences!

A: Double check your config! The value of the domain config option is used for the session (SID) and preferences (PREFS) cookies. If set incorrectly, the cookies will be invalid, and your browser will silently ignore them.

If you access your invidious instance by IP address (like 192.168.1.205) then leave the domain config option EMPTY!

Common invalid values include:

  • IP addresses (like 192.168.1.205)
  • Scheme before the domain (https://example.com)
  • Port after the domain (example.com:3000)
  • Typo in the FQDN (<domain>.cm instead of <domain>.com)