# Frequently Asked Questions ## Table of Contents - Using Invidious * [Can I use Invidious on my device?](#q-can-i-use-invidious-on-my-device) * [Do you plan to make an Android/iOS app?](#q-do-you-plan-to-make-an-androidios-app) * [Can I synchronize my account between instances?]( #q-can-i-synchronize-my-account-between-instances) * [What data is collected by Invidious?](#q-what-data-is-collected-by-invidious) * [What data is shared with YouTube?](#q-what-data-is-shared-with-youtube) - Commonly encountered errors/problems * [The media could not be loaded…](#q-the-media-could-not-be-loaded) * [Could not check out a connection in 2.0 seconds (DB::PoolTimeout)]( #q-could-not-check-out-a-connection-in-20-seconds-dbpooltimeout) * [`DB::PoolRetryAttemptsExceeded`](#q-dbpoolretryattemptsexceeded) * [Subtitles are not working!](#q-subtitles-are-not-working) * [Where are the 360p/480p/1080p quality options?]( #q-where-are-the-360p480p1080p-quality-options) - Running your own instance * [Do you provide pre-built binaries (`.deb`, `.rpm`, etc..)?]( #q-do-you-provide-pre-built-binaries-deb-rpm-etc) * [How can I configure _[thing]_?](#q-how-can-i-configure-thing) * [RSS feeds/links/etc... URLs redirect to `:3000` but I have a reverse proxy!]( #q-rss-feedslinksetc-urls-redirect-to-ip3000-but-i-have-a-reverse-proxy) * [The "popular" feed/page on my instance is empty!]( #q-the-popular-feedpage-on-my-instance-is-empty) * [I can't log in nor save preferences](#q-i-cant-log-in-nor-save-preferences) # 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](https://github.com/TeamNewPipe/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 1. 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). 2. 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. 3. 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'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](https://instances.invidious.io)
## **Q:** `DB::PoolRetryAttemptsExceeded` **A:** The instance you are using is having _database issues_. Please use another instance from the [list of public instances]( https://instances.invidious.io) 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](https://stackoverflow.com/a/32584211). 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 `: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`)
## **Q:** The "popular" feed/page on my instance is empty! **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 (`.cm` instead of `.com`)