iv-org / invidious Goto Github PK
View Code? Open in Web Editor NEWInvidious is an alternative front-end to YouTube
Home Page: https://invidious.io
License: GNU Affero General Public License v3.0
Invidious is an alternative front-end to YouTube
Home Page: https://invidious.io
License: GNU Affero General Public License v3.0
When I subscribe to a channel when using Pale Moon to do so, I get an error stating that the redirect is not able to be completed (or something similar).
Currently, you can define a max number of videos shown in feed. I would like to have an option to only see videos, which I haven't seen yet. If there aren't any, all recent videos should be shown in the feed.
P.S. "Only show latest video from channel" option is not exactly what I need. :-(
As another follow-up to #16, a user should be able to create more intricate orderings then just flat lists. Linking off to other playlists, looping, nesting several playlists, etc. This would have to be added separately in addition to YouTube's playlists. It would likely be best for this functionality to implement playlists as a graph rather than a flat list.
It should be disabled if the video isn't being automatically played.
Currently, the largest amount of content on the homepage (by byte size) is images, taking up more than 95% of the bandwidth used on the homepage. The site remains more than functional without them, so it should be possible for users to do so by adding an option in /preferences
.
What happened to it? It used to display videos but now it no longer doesn't.
Ability to to save preferred video quality, volume level and always loop via cookies would be nice to have.
When I try viewing it via https://www.invidio.us, I am getting a "server not found" error. I didn't get that error earlier today/yesterday.
When the number of videos shown in feed is more than the number of unseen notifications, then this number should not be taken into account to avoid potencial confusion (can be implemented as an option). Or you can just separate new notifications from other videos in feed (probably this is much better option to enable by default).
UPD. I didn't realize that only unseen notifications are shown if there are any. :-)
If there're no unseen notifications, a note about that can be helpful.
Subscribing to a channel should have it tell the browser to notify the user when a new video is added to that channel.
It would be nice if it supported the playback of Livestreams. Right now I get a "No compatible source was found for this media" error message when trying to view one.
As you probably know, YouTube sorts your subscribtions by date:
I think it would be nice to implement this feature.
P.S. Each category is separated from each other.
Can you please add a possibility to watch videos with subtitles?
It should be possible to link directly to videos which would allow users to open them from their favorite video player. Multiple formats preferred (like low res or audio only), but not required.
It would be nice if it could support being embedded in web pages via /embed/videoID.
Only such case I've come across so far. As the title says, random native player with terrible CSS. I'm not using the "raw" param because I don't hate the js player you're using, but for whatever reason this particular embed URL opens in the native player regardless.
The CSS being applied is:
video, #my_video, .video-js, .vjs-default-skin {
position: fixed;
right: 0;
bottom: 0;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
z-index: -100;
}
It all seems silly, and the vid/player is at least twice the size of the iframe, so obviously off center and cut off.
https://invidio.us/embed/Imxuq01YKpE?version=3&rel=0&autoplay=1
Same link you can inspect opened inline by clicking play icon expando button in the OP:
https://old.reddit.com/r/kpop/comments/93pp92/loona_favorite_mv_teaser/
When you click on notification icon with 3 new videos (for example), you should see only those 3 videos even if the number of unseen videos is much more. When there are no new videos, then only unseen videos are shown (depending on the user settings).
Related to recently fixed #40 (thanks!).
It took me a bit to understand that the number shown next to the user's name is the number of likes. I think adding a symbol (such as a thumbs up) would help tell the viewer that its the amount of likes the comment has received.
Can you please add a possibility to copy a link of the currently playing video using invidious's video player?
It's useful for embeded videos. Probably, you can add "Share this video" button or something to copy a link to youtube.com and/or invidio.us.
It'd be very useful to have an enlarged resolution, similar to how Hooktube does it, which can be toggled on and off in every video page.
As a follow-up issue to #21, users should be able to revoke their consent to their data. Essentially a "delete my account" option.
It would be nice if it could do that for ones that aren't embedded (or just have them all play when loaded and offer the ability to stop the auto-play by adding &autoplay=0 or ?autoplay=0 to the end of the URL).
When using Pale Moon to view them, they never load. In the Error Console, I am getting the following error:
Timestamp: 8/2/2018 6:47:36 PM
Error: ReferenceError: fetch is not defined
Source File: https://www.invidio.us/watch?v=vUdBNJ5eykk
Line: 289
Similar to how Github's user feeds work: create a private token, and then serve a user's subscriptions in Atom format. Should support max_results
and page
, similar to the regular subscription feed.
It would be nice for the site to have a dark theme option
It would be nice if the player it uses supported Annotations (such as the ones that appear in the corner and the clickable boxes).
Please make a redirect from invidio.us/channel/id/videos to invidio.us/channel/id
Pretty much every other website/program uses a pop-up to log in to Google account, why is Invidious doesn't do that? I absolutely hate two-factor authentication because I just don't really use my phone, and google blocks log-ins from suspicious locations anyways.
(The site other than this is great though, but until this gets fixed I won't really be able to use it properly)
As a follow-up to #16, a user should be able to subscribe to playlist changes. Playlist subscriptions should share the same feed as channel subscriptions.
Wondering about any implications of this.
The white space on both sides should be used by the site. A suggestion on how to use the space is to move the related videos displayed below the video to the right-hand side (and add a Related Videos header).
Right now, a user needs to have a Google account in order to access significant functionality of the site: dark mode, subscriptions/notifications, and player preferences (see #9).
A user should be able to create a new account so that they can access this functionality.
Channel pages could have useful RSS links. YouTube provides them but doesn't inform users about it;
It sometimes takes a while to fully buffer (which results in the loading circle appearing multiple times while watching it). The video it was happening on can be viewed by going to https://www.invidio.us/watch?v=pi47bBT4G9Q.
Users should be able to freely choose between all available video resolutions, and not just those that have bundled audio.
Example video: https://invidio.us/watch?v=x47Ins_rkgk
VideoJS provides ways to add extra tracks, and all formats are served via adaptive_fmts
in /get_video_info
.
Maybe utilize &bitrate=
and &resolution=
options (for audio and video, respectively) if &quality=
is not present?
Followed every step of the README.
Output:
🤖 Your SentryBot is vigilant. beep-boop...
🤖 watching file: ./src/invidious/helpers.cr
🤖 watching file: ./src/invidious.cr
🤖 watching file: ./src/invidious/views/search.ecr
🤖 watching file: ./src/invidious/views/subscription_manager.ecr
🤖 watching file: ./src/invidious/views/subscriptions.ecr
🤖 watching file: ./src/invidious/views/index.ecr
🤖 watching file: ./src/invidious/views/watch.ecr
🤖 watching file: ./src/invidious/views/login.ecr
🤖 watching file: ./src/invidious/views/channel.ecr
🤖 watching file: ./src/invidious/views/layout.ecr
🤖 watching file: ./src/invidious/views/error.ecr
🤖 watching file: ./src/invidious/views/components/subscription_video.ecr
🤖 watching file: ./src/invidious/views/components/video.ecr
🤖 watching file: ./src/invidious/views/preferences.ecr
🤖 watching file: ./src/invidious/views/embed.ecr
🤖 compiling invidious...
🤖 starting invidious...
[development] Kemal is ready to lead at http://0.0.0.0:3000
Unhandled exception in spawn:
Unsupported HTTP version: ��XL3��������&��]|>����� (Exception)
from /usr/lib/crystal/http/client/response.cr:126:5 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:238:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
SSL_read: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac (OpenSSL::SSL::Error)
from /usr/lib/crystal/openssl/ssl/socket.cr:102:9 in 'unbuffered_read'
from /usr/lib/crystal/io/buffered.cr:215:5 in 'fill_buffer'
from /usr/lib/crystal/io/buffered.cr:89:7 in 'peek'
from /usr/lib/crystal/http/content.cr:106:14 in 'peek'
from /usr/lib/crystal/flate/reader.cr:66:17 in 'read'
from /usr/lib/crystal/gzip/reader.cr:85:7 in 'read'
from /usr/lib/crystal/io/encoding.cr:76:45 in 'read'
from /usr/lib/crystal/io.cr:561:11 in 'gets_to_end'
from /usr/lib/crystal/http/client/response.cr:73:15 in 'consume_body_io'
from /usr/lib/crystal/http/client/response.cr:97:9 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:231:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
SSL_read: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac (OpenSSL::SSL::Error)
from /usr/lib/crystal/openssl/ssl/socket.cr:102:9 in 'unbuffered_read'
from /usr/lib/crystal/io/buffered.cr:215:5 in 'fill_buffer'
from /usr/lib/crystal/io/buffered.cr:89:7 in 'peek'
from /usr/lib/crystal/io.cr:645:37 in 'gets'
from /usr/lib/crystal/io.cr:604:5 in 'gets'
from /usr/lib/crystal/http/client/response.cr:119:12 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:238:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
Invalid HTTP chunked content: invalid chunk size (IO::Error)
from /usr/lib/crystal/http/content.cr:162:31 in 'read_chunk_size'
from /usr/lib/crystal/http/content.cr:136:7 in 'next_chunk'
from /usr/lib/crystal/http/content.cr:104:7 in 'peek'
from /usr/lib/crystal/flate/reader.cr:66:17 in 'read'
from /usr/lib/crystal/gzip/reader.cr:85:7 in 'read'
from /usr/lib/crystal/io/encoding.cr:76:45 in 'read'
from /usr/lib/crystal/io.cr:561:11 in 'gets_to_end'
from /usr/lib/crystal/http/client/response.cr:73:15 in 'consume_body_io'
from /usr/lib/crystal/http/client/response.cr:97:9 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:231:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
Invalid HTTP response (Exception)
from /usr/lib/crystal/http/client/response.cr:0:5 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:238:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
Invalid HTTP response (Exception)
from /usr/lib/crystal/http/client/response.cr:0:5 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:238:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Unhandled exception in spawn:
SSL_read: error:1408F10B:SSL routines:ssl3_get_record:wrong version number (OpenSSL::SSL::Error)
from /usr/lib/crystal/openssl/ssl/socket.cr:102:9 in 'unbuffered_read'
from /usr/lib/crystal/io/buffered.cr:215:5 in 'fill_buffer'
from /usr/lib/crystal/io/buffered.cr:89:7 in 'peek'
from /usr/lib/crystal/io.cr:645:37 in 'gets'
from /usr/lib/crystal/io.cr:604:5 in 'gets'
from /usr/lib/crystal/io.cr:827:5 in 'read_line:chomp'
from /usr/lib/crystal/http/content.cr:154:7 in 'read_chunk_size'
from /usr/lib/crystal/http/content.cr:136:7 in 'next_chunk'
from /usr/lib/crystal/http/content.cr:104:7 in 'peek'
from /usr/lib/crystal/flate/reader.cr:66:17 in 'read'
from /usr/lib/crystal/gzip/reader.cr:85:7 in 'read'
from /usr/lib/crystal/io/encoding.cr:76:45 in 'read'
from /usr/lib/crystal/io.cr:561:11 in 'gets_to_end'
from /usr/lib/crystal/http/client/response.cr:73:15 in 'consume_body_io'
from /usr/lib/crystal/http/client/response.cr:97:9 in 'from_io?'
from /usr/lib/crystal/http/client.cr:499:5 in 'exec_internal_single'
from /usr/lib/crystal/http/client.cr:485:5 in 'exec_internal'
from /usr/lib/crystal/http/client.cr:481:5 in 'exec'
from /usr/lib/crystal/http/client.cr:591:5 in 'exec'
from /usr/lib/crystal/http/client.cr:329:3 in 'get'
from src/invidious/helpers.cr:231:12 in '->'
from /usr/lib/crystal/fiber.cr:255:3 in 'run'
from /usr/lib/crystal/fiber.cr:29:34 in '->'
from ???
Invalid memory access (signal 11) at address 0x0
[0x5639cceeeaa6] *CallStack::print_backtrace:Int32 +118
[0x5639cce4a89b] __crystal_sigfault_handler +75
[0x7f0c40e1aa80] ???
[0x7f0c4025532f] ???
[0x7f0c4025667a] __libc_malloc +522
[0x7f0c41d32743] ???
[0x7f0c41d30bdf] ???
[0x7f0c41d394d2] ???
[0x7f0c41d3423e] ???
[0x7f0c41d319d4] ???
[0x7f0c41d37adb] ???
[0x7f0c41d41c65] SSL_read +53
[0x5639ccf9adf2] *OpenSSL::SSL::Socket+ +130
[0x5639ccf9accc] *OpenSSL::SSL::Socket+ +76
[0x5639ccf9ac11] *OpenSSL::SSL::Socket+ +49
[0x5639ccf922b8] *IO+ +1096
[0x5639ccf9490e] *IO+ +238
[0x5639ccf947eb] *IO+ +75
[0x5639ccfa1d41] *HTTP::ChunkedContent#read_chunk_size:Int32 +33
[0x5639ccfa0e17] *HTTP::ChunkedContent#next_chunk:(Bool | Nil) +135
[0x5639ccfa056c] *HTTP::ChunkedContent#peek:(Slice(UInt8) | Nil) +28
[0x5639ccfb162f] *Flate::Reader#read<Slice(UInt8)>:Int32 +543
[0x5639ccfb0043] *Gzip::Reader#read<Slice(UInt8)>:Int32 +227
[0x5639ccf4c2db] *IO::Decoder#read<IO+>:Nil +891
[0x5639ccf94f5d] *IO+ +125
[0x5639cd077fad] *HTTP::Client::Response#consume_body_io:Nil +125
[0x5639cd077efe] *HTTP::Client::Response::from_io?<(OpenSSL::SSL::Socket+ | TCPSocket+), Bool, Bool>:(HTTP::Client::Response | Nil) +2270
[0x5639cd074520] *HTTP::Client#exec_internal_single<HTTP::Request>:(HTTP::Client::Response | Nil) +80
[0x5639cd0742d0] *HTTP::Client#exec_internal<HTTP::Request>:HTTP::Client::Response +32
[0x5639cd0742a6] *HTTP::Client#exec<HTTP::Request>:HTTP::Client::Response +6
[0x5639cd074006] *HTTP::Client#exec<String, String, Nil, Nil>:HTTP::Client::Response +22
[0x5639cd073fe7] *HTTP::Client#get<String>:HTTP::Client::Response +39
[0x5639cce801a1] ~procProc(Nil) +161
[0x5639ccf1f5fe] *Fiber#run:(IO::FileDescriptor | Nil) +174
[0x5639cce49f66] ~proc2Proc(Fiber, (IO::FileDescriptor | Nil)) +6
[0x0] ???
When the mouse is hovering over the volume area and the scrollbar is used, the volume should change.
It should have a Drop Down Box to let you choose which subscribed channel's videos to view a list of.
Hi I've forked @2vek's hooktube-redirector to use Invidious instead. I've already made a merge request with the original project and I hope he will soon upload it to AMO.
I just noticed that all pages on invidio.us are showing that error.
One of the features desperately needed on youtube is the ability to search videos of all of your own subscriptions.
E.g., I'm subscribed to Channel A and Channel B. If I search my subs for "asdf", I should get all of the videos from Channel A and Channel B that match that search.
Use case: I often will find a game that intrigues me, and want to search for LPs of that game. Before I find a new channel to watch it on, I want to know if any of my existing subs has published content from that game before.
This video (https://invidio.us/watch?v=T9IdUPBcxmo) worked fine before but now it just gives:
The media could not be loaded, either because the server or network failed or because the format is not supported.
Comparing the get_video_info (http://www.youtube.com/get_video_info?video_id=T9IdUPBcxmo) with a video that works seems to indicate that this video uses extra deciphering for its signature which could be causing it.
It would be nice if it could display the comments of a video below its description.
Add support for timestamps in the video description (and comments).
Example: https://www.invidio.us/watch?v=fEJnyaDhF4Q
The timestamp links currently redirect to youtube.com/# (the link symbol to invidio.us/# ).
Comment timestamps are not highlighted.
Also, other links are in the format of youtube.com/redirect?q=<link>&<tracking_data>.
The link symbol should show the real link instead of a redirect link via invidious.
For folks who want to run their own instance, they should be able to export subscriptions, preferences, etc and upload to their own instance. Should also be able to migrate subscriptions/preferences e.g. from Google to Invidious account, and vice versa.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.