[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [NonGNU ELPA] Package suggestion: yeetube
From: |
Ihor Radchenko |
Subject: |
Re: [NonGNU ELPA] Package suggestion: yeetube |
Date: |
Thu, 05 Oct 2023 11:07:55 +0000 |
Richard Stallman <rms@gnu.org> writes:
> > > Search Youtube for query
>
> It must not use the actual youtube site, since that requires users to
> run nonfree JS software. However, it is ok to access those videos
> using the invidio.us proxies.
AFAIU, no JS is involved here. Only `url-retrieve-synchronously' +
parsing the retrieved URL.
> > > Play video url, by default using mpv
>
> Is there a specific reason to prefer mpv rather than vlc?
> I don't know which is better, but if we are going to make Emacs
> prefer one, let's find which one is better and why.
Both VLC and MPV support watching youtube videos via URL. (And not only
youtube). AFAIU, the difference is that VLC implements
reverse-engineered youtube API directly inside VLC, while MPV relies on
external tool - yt-dlp.
The advantage of VLC is that it never executes javascript, while yt-dlp
may do it for some websites, including youtube (see
https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/extractor/youtube.py#L3101)
> > > Download video using yt-dlp
>
> Does this work on invidio.us?
yt-dlp works on a large number of websites, including invidio instances.
I am not sure about VLC (I do not use VLC now).
> > > A minimal yt-dlp front-end, which is independent of the rest
>
> Can someone explain this concreely?
yt-dlp is a program (Unlicense license, compatible with GNU GPL) that is
able to _download_ videos from various websites, including websites that
actively try to prevent users from downloading videos (for example,
youtube and twitch).
>From ethical perspective, yt-dlp (and thus mpv) has a disadvatage that
it may sometimes execute downloaded javascript to work around websites
that try to force users use javascript in order to watch videos.
However, the amount of executed javascript is much smaller compared to
using a proper browser - javascript is executed when website uses a
complex javascript algorithms, that cannot be reverse-engineered, to
generate access tokens to retrieve video stream.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
Re: [NonGNU ELPA] Package suggestion: yeetube, Emanuel Berg, 2023/10/04