We need a simple YouTube solution

25 replies [Last post]
calher

I am a member!

Offline
Joined: 06/19/2015

Users should not click a YouTube link and be automatically bombarded with proprietary JavaScript, like what currently happens in Abrowser.

Users should be able to click a YouTube link and automatically view the video, channel, playlist, and comments without running proprietary JavaScript.

Users should not have to click the link, arrive at a blank page, copy the URI, open VLC, and paste the URI.

Users should not have to click the link, arrive at a blank page, copy the URI, open youtube-dlG, paste the URI, open the file manager, navigate to the folder where the video is, and double click the video.

Users should not have to click the link, arrive at a blank page, copy the URI, open a terminal, type 'mpv', paste the URI, and press Enter.

Users should not have to refer other people to YouTube URIs, leading recipients to run proprietary JavaScript on their systems.

The ability to watch YouTube videos should not be browser-dependent. Any time you go to YouTube, it works without proprietary software.

I have inspiration for a solution.

There is a service called Hooktube, which is not free software, and has recently decided to demand JavaScript of its users, but has a great interface and is used in a very simple way: replace "youtube" with "hooktube", and it just werks.

Someone should copy Hooktube, but make it free software, working without JavaScript, and locally hosted. All YouTube links should redirect to this local interface from any program.

Yes/No?

calher

I am a member!

Offline
Joined: 06/19/2015

Other sites supported by avideo or other programs should have similar interfaces and redirects.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

What's wrong with SMTube? (That's not a rhetorical question. I actually don't understand the issue well enough to know if there is something wrong with SMTube.)

calher

I am a member!

Offline
Joined: 06/19/2015


cal@leela:~$ apt search smtube
Sorting... Done
Full Text Search... Done
cal@leela:~$ guix package -s smtube

It isn't available.

Neither is youtube-viewer, and mps-youtube says mpv won't play the video, even though I can do 'mpv ' just fine at the command line.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Try smplayer.

calher

I am a member!

Offline
Joined: 06/19/2015

sudo apt install smplayer

"The YouTube Browser couldn't be launched. Be sure SMTube is installed."

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Okay, I think I screwed up and accidentally recommended proprietary software. I should have looked at it more closely before suggesting it. I'll see tomorrow if I can find a libre replacement but for now ignore everything I've said.

vita_cell
Offline
Joined: 07/19/2015

Not available? why not to download the source and compile it yourself? do it when your needed program it is not available on your distro.

gd_scania
Offline
Joined: 09/13/2017

Like you I can find few from pacman (Parabola) but Guix not yet working, for Trisquel the result needs to be similar.
[hd_scania@parabola ~]$ pacman -Ss YouTube Qt && guix package -s YouTube Qt
libre/minitube 2.8-2.parabola1
A native YouTube client in Qt. Watch YouTube videos without Flash Player and nonfree recommendations
pcr/youtube-dl-qt 82.g5e87881-1
Qt frontend for youtube-dl
guile: warning: failed to install locale
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/ui.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/utils.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/config.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/combinators.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/build/utils.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/build/syscalls.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
WARNING: (guix utils): `bytevector->string' imported from both (rnrs io ports) and (ice-9 iconv)
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/store.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/serialization.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/monads.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/packages.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/records.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/gexp.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/derivations.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/hash.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/gcrypt.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/base32.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/sets.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/grafts.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/build-system.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/search-paths.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/profiles.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/licenses.go failed:
;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/gnu/system/file-systems.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/gnu/build/file-systems.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
;;; WARNING: loading compiled file /usr/share/guile/site/2.0/guix/build/bournish.go failed:
;;; ERROR: In procedure load-thunk-from-memory: not an ELF file
ice-9/psyntax.scm:1558:32: In procedure expand-macro:
ice-9/psyntax.scm:1558:32: Syntax error:
guix/ui.scm:254:7: source expression failed to match any pattern in form (report-error (_ "failed to load '~a': ~a~%") file (strerror err))
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
[hd_scania@parabola ~]$

calher

I am a member!

Offline
Joined: 06/19/2015

I see you're having the problems with Guix that I was having.

To fix them, follow the instructions in "Application Setup" in the Guix manual. This should fix all the locale errors and stuff. https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html

You also may have missed some search results because you didn't quote your query. Here's what happens when I don't quote it:

cal@leela:~$ guix package -s YouTube Qt
guix package: error: Qt: extraneous argument

But you're right, I didn't get anything when I searched it:

cal@leela:~$ guix package -s 'YouTube Qt'
cal@leela:~$

aloniv

I am a translator!

Offline
Joined: 01/11/2011

You can still view YouTube fine if you change the user agent to Firefox 43 32 Bit GNU/Linux using e.g. User Agent Switcher add-on and use an older version of ViewTube which can be downloaded from here:
https://raw.githubusercontent.com/sebaro/ViewTube/531c2224b05fc92bef6dd9e1a4a2f0d03da8bbcd/viewtube.user.js

Alternatively, you can instead switch the user agent as above and use an add-on which provides a link to the video such as Download Flash and Video and then copy the link from the add-on and open it in a new browser tab or window.

(These hacks will probably cease to work at some point as Google constantly updates the YouTube interface.)

onpon4
Offline
Joined: 05/30/2012

I would like to note that putting this into a website would be unnecessarily roundabout. If it's possible to load comments without YouTube's JavaScript, that can just be done in a libre YouTube player application. I don't know if that's the case, though.

calher

I am a member!

Offline
Joined: 06/19/2015

OK, but there needs to be a way to tell the system to open YouTube links in the YouTube app rather than the "website."

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Yes, gtk-youtube-viewer can load comments.

Tonics
Offline
Joined: 09/25/2014
chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

SMTube is in Debian main (as of Jessie), but Parabola finds it non-free and it seems like Trisquel does too. I trust their judgment over Debian's so I have stopped using it.

I just tried gtk-youtube-viewer in Flidas and it does almost everything you describe in your initial post. The only thing missing is the ability to click on a YouTube link in-browser and have it open in the player.

I think that this Firefox add-on is intended to achieve that. The license is not GPL-compatible but it is libre. However, I could not get it to work with youtube-viewer. It seems like it was primarily intended for use with Minitube.

I also tried to get Minitube working in Flidas. Unfortunately the version in the repository does not work. You get an error about missing Google API key. It looks like Minitube has to be built with such a key. You can't get a key from Google unless you have a Google account and enable non-free JS. The key also presumably identifies you to Google each time you watch a video. There's a deb file available from the official site. I was unable to test it in Flidas because it's only available in 64-bit and I'm running Flidas on a 32-bit machine. However, I assume it was compiled with the developer's key. If so it should work, and while YouTube can probably tell that you are using Minitube it won't necessarily be able to tell you apart from other Minitube users.

calher

I am a member!

Offline
Joined: 06/19/2015

I want to be able to click on a YouTube link from any app and have it open in the YouTube app.

Most YouTube videos I receive are in Mumble.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Yes, that would be more convenient than having to copy/paste into the app, but at this point I'm happy to have at least one option (gtk-youtube-viewer) that works at all. Any solution that doesn't allow us to be tracked will eventually be broken by Google, so it doesn't seem worth optimizing any particular solution for convenience.

calher

I am a member!

Offline
Joined: 06/19/2015

Huh?

YouTube-DL has always worked. Just use that, and put an interface around it.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Yes, that works great for downloading. As far as I know it can't stream or do most of the other features you suggest in your initial post. My usage of it is limited, though, so I could easily be wrong.

Guix does have a package called youtube-dl-gui. I haven't tried it but it might be worth checking out.

calher

I am a member!

Offline
Joined: 06/19/2015

I never thought about streaming. Does livestreamer usually support YouTube as well as youtube-dl, for streams?

youtube-dl-gui just provides an interface for downloading videos. It doesn't provide an interface for a mostly-full experience: search, watch, comments, description, download, playlists, channels.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

I've never tried livestreamer, but gtk-youtube-viewer streams. Well, really it just opens vlc or mpv with the url and the player streams it.

gtk-youtube-viewer can search, download, stream, display comments, display the description, and search by channel.

You can view all playlists by a particular channel, but I'm not sure if you can search for playlists independently of channel. It appears to be possible to post comments, but I haven't tried as I would presumably have to be somehow logged into a Google account.

SuperTramp83

I am a translator!

Offline
Joined: 10/31/2014

Users should not... view yt vids in a browser:)

For me youtube-dl + mpv + mpsyt is working jolly mighty well fine.

calher

I am a member!

Offline
Joined: 06/19/2015

I can get mpsyt, but I can't play videos from it.

Problem playing last item: Sound Quality - Foobar vs WinAmp vs AIMP vs iTunes vs Windows Media Player : Sorry mplayer doesn't support this stream. Use mpv or update mplayer to a newer version[1/13>

Megver83
Offline
Joined: 12/21/2015

There's https://ytlibre.ga which let's you reproduce YT videos without JS. The website is hosted by me in a Banana Pi, running Parabola. It's currently in Spanish, however the only thing you have to do is to paste the video link and reproduce it, so it's not difficult.

Note that some videos won't work.

delaforce
Offline
Joined: 05/18/2014

Thank you. Very nice of you. Can it be possible to get subtitles?