guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#40060] [PATCH 1/2] gnu: youtube-dl: Use ffmpeg and pycryptodome


From: Brice Waegeneire
Subject: [bug#40060] [PATCH 1/2] gnu: youtube-dl: Use ffmpeg and pycryptodome
Date: Tue, 17 Mar 2020 09:06:57 +0000
User-agent: Roundcube Webmail/1.3.8

On 2020-03-14 22:17, Tobias Geerinckx-Rice via Guix-patches via wrote:
Brice Waegeneire 写道:
WARNING: You have requested multiple formats but ffmpeg or avconv are
not installed. The formats won't be merged.

NOTE: This message appear when using a format option like this
='bestvideo[height<=320]+bestaudio'=.

This message is one of the best I've seen.  It clearly explains to the
user what's (not) going to happen, and what they can do to change that
*if* they want to.  Hence I think adding ffmpeg as a hard dependency
is incorrect.

What about this one?

#+begin_src sh
$ youtue-dl https://www.youtube.com/watch\?v\=dp8PhLsUcFE
[youtube] dp8PhLsUcFE: Downloading webpage
[youtube] dp8PhLsUcFE: Downloading m3u8 information
[youtube] dp8PhLsUcFE: Downloading MPD manifest
[download] Destination: Bloomberg Global Financial News-dp8PhLsUcFE.mp4
ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install one.
#+end_src

When downloading a live stream from youtube.com (and proabably others),
~youtube-dl~ needs ffmpeg to download the HLS stream – I tried with just
~pycryptodome~ and it doesn't work.

(I'd also oppose a youtube-dl-full variant, by the way.  Packages
aren't the right place for this; profiles are.)

Does youtube-dl print a similarly clear message when pycryptodome is
needed but missing?  If not, that addition LGTM with a

 ("pycryptodome" ,pycryptodome) ; for the hlsnative downloader

#+begin_src sh
$ youtube-dl http://www.ivi.ru/watch/146500
[ivi] 146500: Downloading video JSON
ERROR: pycryptodomex not found. Please install it.
#+end_src

#+begin_src python
self.report_error('pycrypto not found. Please install it.')
#+end_src

I digged a little deeper about this dependency, ~pycryptodome~
replace the deprecated ~pycrypto~ library with the same name space
(=Crypto=) while ~pycryptodomex~ uses it's own name space (=Cryptodome=) to
provide similar functionality.

#+begin_src python
            self.report_warning(
                'hlsnative has detected features it does not support, '
                'extraction will be delegated to ffmpeg')
#+end_src

So I'm not sure if adding ~pycryptodome(x)~ is that useful after all.
Especially if it can't totally replace ~ffmpeg~ when donating HLS streams.

comment.  Cover letters & commit messages age badly.

Noted.

I think ~ffmpeg~ should be an input of ~youtube-dl~ while ~pycrytodome(x)~ don't need to since most (except the ivi downloader it seems) functionality
can be achieved with ~ffmpeg~. WDYT?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]