* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
@ 2020-09-15 11:27 Nathan Dehnel
2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 9:54 ` bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg Tobias Geerinckx-Rice via Bug reports for GNU Guix
0 siblings, 2 replies; 12+ messages in thread
From: Nathan Dehnel @ 2020-09-15 11:27 UTC (permalink / raw)
To: 43418
bash-5.0$ youtube-dl -x https://www.youtube.com/watch?v=7Ijd_iN9Blk
[youtube] 7Ijd_iN9Blk: Downloading webpage
[download] Deadmau5 - Hit Save-7Ijd_iN9Blk.webm has already been downloaded
[download] 100% of 15.45MiB
ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-15 11:27 bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly Nathan Dehnel
@ 2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-15 19:34 ` raingloom
2020-09-15 23:17 ` Leo Famulari
2020-09-16 9:54 ` bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg Tobias Geerinckx-Rice via Bug reports for GNU Guix
1 sibling, 2 replies; 12+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2020-09-15 12:06 UTC (permalink / raw)
To: Nathan Dehnel; +Cc: 43418
[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]
Hi Nathan,
Nathan Dehnel 写道:
> bash-5.0$ youtube-dl -x
> https://www.youtube.com/watch?v=7Ijd_iN9Blk
> [youtube] 7Ijd_iN9Blk: Downloading webpage
> [download] Deadmau5 - Hit Save-7Ijd_iN9Blk.webm has already been
> downloaded
> [download] 100% of 15.45MiB
> ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please
> install one.
It works fine without ‘-x’:
λ youtube-dl https://www.youtube.com/watch?v=7Ijd_iN9Blk
[youtube] 7Ijd_iN9Blk: Downloading webpage
[download] Destination: Deadmau5 - Hit Save-7Ijd_iN9Blk.mp4
[download] 100% of 37.09MiB in 00:02
This *is* functioning correctly in my view: that advanced options
optionally require run-time dependencies is not a bug but a
feature. The programme clearly explains which package could be
installed to continue, and the user can chose which one they
prefer - including neither, which suffices for the majority of
youtube-dling.
Matters would be different if the error message were less clear,
or perhaps if ffmpeg weren't so insanely great:
λ guix size youtube-dl | tail -n1
total: 186.9 MiB
λ guix size youtube-dl ffmpeg | tail -n1
total: 811.2 MiB
(!)
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-15 19:34 ` raingloom
2020-09-15 23:52 ` Nathan Dehnel
2020-09-15 23:17 ` Leo Famulari
1 sibling, 1 reply; 12+ messages in thread
From: raingloom @ 2020-09-15 19:34 UTC (permalink / raw)
To: 43418; +Cc: ncdehnel
On Tue, 15 Sep 2020 14:06:11 +0200
Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix@gnu.org>
wrote:
> Hi Nathan,
>
> Nathan Dehnel 写道:
> > bash-5.0$ youtube-dl -x
> > https://www.youtube.com/watch?v=7Ijd_iN9Blk
> > [youtube] 7Ijd_iN9Blk: Downloading webpage
> > [download] Deadmau5 - Hit Save-7Ijd_iN9Blk.webm has already been
> > downloaded
> > [download] 100% of 15.45MiB
> > ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please
> > install one.
>
> It works fine without ‘-x’:
>
> λ youtube-dl https://www.youtube.com/watch?v=7Ijd_iN9Blk
> [youtube] 7Ijd_iN9Blk: Downloading webpage
> [download] Destination: Deadmau5 - Hit Save-7Ijd_iN9Blk.mp4
> [download] 100% of 37.09MiB in 00:02
>
> This *is* functioning correctly in my view: that advanced options
> optionally require run-time dependencies is not a bug but a
> feature. The programme clearly explains which package could be
> installed to continue, and the user can chose which one they
> prefer - including neither, which suffices for the majority of
> youtube-dling.
>
> Matters would be different if the error message were less clear,
> or perhaps if ffmpeg weren't so insanely great:
>
> λ guix size youtube-dl | tail -n1
> total: 186.9 MiB
> λ guix size youtube-dl ffmpeg | tail -n1
> total: 811.2 MiB
>
> (!)
>
> Kind regards,
>
> T G-R
Maybe it's time we added an "optional dependencies" field?
There seems to be a bug report or help request like every week that
just boils down to "this package has an undocumented dependency".
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-15 19:34 ` raingloom
@ 2020-09-15 23:17 ` Leo Famulari
2020-09-16 8:14 ` Mark H Weaver
1 sibling, 1 reply; 12+ messages in thread
From: Leo Famulari @ 2020-09-15 23:17 UTC (permalink / raw)
To: 43418; +Cc: ncdehnel
On Tue, Sep 15, 2020 at 02:06:11PM +0200, Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote:
> Matters would be different if the error message were less clear, or perhaps
> if ffmpeg weren't so insanely great:
>
> λ guix size youtube-dl | tail -n1
> total: 186.9 MiB
> λ guix size youtube-dl ffmpeg | tail -n1
> total: 811.2 MiB
I wonder, should we expect FFmpeg to already be referenced by somebody's
profile if they are using youtube-dl? VLC and mpv both depend on FFmpeg.
The use case of "download video and watch it on another machine (or
never watch it)" seems somewhat esoteric.
On the other hand, youtube-dl has no explicit dependencies — I guess
that everything it needs is from Python. That's beautiful, and I
understand the reluctance to add a dependency, especially on a "kitchen
sink" package like FFmpeg.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-15 19:34 ` raingloom
@ 2020-09-15 23:52 ` Nathan Dehnel
0 siblings, 0 replies; 12+ messages in thread
From: Nathan Dehnel @ 2020-09-15 23:52 UTC (permalink / raw)
To: raingloom; +Cc: 43418
Ludovic wanted to add useflags to guix.
https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00285.html
I don't know what became of it.
On Tue, Sep 15, 2020 at 2:44 PM raingloom <raingloom@riseup.net> wrote:
>
> On Tue, 15 Sep 2020 14:06:11 +0200
> Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix@gnu.org>
> wrote:
>
> > Hi Nathan,
> >
> > Nathan Dehnel 写道:
> > > bash-5.0$ youtube-dl -x
> > > https://www.youtube.com/watch?v=7Ijd_iN9Blk
> > > [youtube] 7Ijd_iN9Blk: Downloading webpage
> > > [download] Deadmau5 - Hit Save-7Ijd_iN9Blk.webm has already been
> > > downloaded
> > > [download] 100% of 15.45MiB
> > > ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please
> > > install one.
> >
> > It works fine without ‘-x’:
> >
> > λ youtube-dl https://www.youtube.com/watch?v=7Ijd_iN9Blk
> > [youtube] 7Ijd_iN9Blk: Downloading webpage
> > [download] Destination: Deadmau5 - Hit Save-7Ijd_iN9Blk.mp4
> > [download] 100% of 37.09MiB in 00:02
> >
> > This *is* functioning correctly in my view: that advanced options
> > optionally require run-time dependencies is not a bug but a
> > feature. The programme clearly explains which package could be
> > installed to continue, and the user can chose which one they
> > prefer - including neither, which suffices for the majority of
> > youtube-dling.
> >
> > Matters would be different if the error message were less clear,
> > or perhaps if ffmpeg weren't so insanely great:
> >
> > λ guix size youtube-dl | tail -n1
> > total: 186.9 MiB
> > λ guix size youtube-dl ffmpeg | tail -n1
> > total: 811.2 MiB
> >
> > (!)
> >
> > Kind regards,
> >
> > T G-R
>
> Maybe it's time we added an "optional dependencies" field?
> There seems to be a bug report or help request like every week that
> just boils down to "this package has an undocumented dependency".
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-15 23:17 ` Leo Famulari
@ 2020-09-16 8:14 ` Mark H Weaver
2020-09-16 8:58 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2020-09-16 8:14 UTC (permalink / raw)
To: Leo Famulari, 43418; +Cc: ncdehnel
Leo Famulari <leo@famulari.name> writes:
> On Tue, Sep 15, 2020 at 02:06:11PM +0200, Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote:
>> Matters would be different if the error message were less clear, or perhaps
>> if ffmpeg weren't so insanely great:
>>
>> λ guix size youtube-dl | tail -n1
>> total: 186.9 MiB
>> λ guix size youtube-dl ffmpeg | tail -n1
>> total: 811.2 MiB
>
> I wonder, should we expect FFmpeg to already be referenced by somebody's
> profile if they are using youtube-dl? VLC and mpv both depend on FFmpeg.
> The use case of "download video and watch it on another machine (or
> never watch it)" seems somewhat esoteric.
I was just about to disagree with you, on the grounds that GStreamer,
and in particular Totem (a.k.a. GNOME Videos) does not depend on FFmpeg.
It is, in fact, possible to watch videos downloaded using 'youtube-dl',
with only gst-plugins-{base,good} installed, provided that you request
freedom-respecting formats like VP9 and Opus.
How to request freedom-respecting formats? Unfortunately, the obvious
"--prefer-free-formats" usually doesn't work in my experience, but you
can run "youtube-dl -F <URL>" to see a list of available formats, and
then something like "youtube-dl -f 247+251 <URL>" (for non-live youtube
videos of sufficient resolution) to download VP9 and Opus and combine
them into a file.
However, in my recent experience, youtube usually provides the
freedom-respecting formats only as separate audio and video streams
which must be recombined by youtube-dl, and in that case the 'ffmpeg'
command line tool seems to be required.
So, ultimately I tend to agree with Leo that 'youtube-dl' is unlikely to
be useful without 'ffmpeg', and therefore it might as well depend on it
somehow.
I see two possible approaches: ffmpeg could be added to youtube-dl's
propagated-inputs, or it could be instead be added to 'inputs', and we
could substitute hardcoded paths to 'ffmpeg' in the built 'youtube-dl'.
I generally tend to favor the latter approach, but there are valid
arguments for each approach and I don't feel strongly about it.
What do you think?
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-16 8:14 ` Mark H Weaver
@ 2020-09-16 8:58 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 11:30 ` Mark H Weaver
0 siblings, 1 reply; 12+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2020-09-16 8:58 UTC (permalink / raw)
To: Mark H Weaver; +Cc: ncdehnel, 43418, leo
[-- Attachment #1: Type: text/plain, Size: 1684 bytes --]
Leo, Mark,
Mark H Weaver 写道:
> Leo Famulari <leo@famulari.name> writes:
>
>> On Tue, Sep 15, 2020 at 02:06:11PM +0200, Tobias Geerinckx-Rice
>> via Bug reports for GNU Guix wrote:
>>> Matters would be different if the error message were less
>>> clear, or perhaps
>>> if ffmpeg weren't so insanely great:
>>>
>>> λ guix size youtube-dl | tail -n1
>>> total: 186.9 MiB
>>> λ guix size youtube-dl ffmpeg | tail -n1
>>> total: 811.2 MiB
>>
>> I wonder, should we expect FFmpeg to already be referenced by
>> somebody's
>> profile if they are using youtube-dl? VLC and mpv both depend
>> on FFmpeg.
>> The use case of "download video and watch it on another machine
>> (or
>> never watch it)" seems somewhat esoteric.
I don't see why my use case should be sidelined as ‘esoteric’.
;-)
> However, in my recent experience, youtube usually provides the
> freedom-respecting formats only as separate audio and video
> streams
> which must be recombined by youtube-dl, and in that case the
> 'ffmpeg'
> command line tool seems to be required.
This is a good argument. If including ffmpeg by default makes it
easier to request & mux freeër formats, let's do that.
> I see two possible approaches: ffmpeg could be added to
> youtube-dl's
> propagated-inputs, or it could be instead be added to 'inputs',
> and we
> could substitute hardcoded paths to 'ffmpeg' in the built
> 'youtube-dl'.
> I generally tend to favor the latter approach, but there are
> valid
> arguments for each approach and I don't feel strongly about it.
Which advantages does the former have? I wasn't aware of any.
Thanks!
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg.
2020-09-15 11:27 bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly Nathan Dehnel
2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-16 9:54 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 11:31 ` Mark H Weaver
1 sibling, 1 reply; 12+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2020-09-16 9:54 UTC (permalink / raw)
To: 43418
Addresses <https://issues.guix.gnu.org/43418>.
* gnu/packages/video.scm (youtube-dl)[inputs]: Add ffmpeg.
[arguments]: Fall back to input ffmpeg instead of searching $PATH.
---
gnu/packages/video.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8ebe7dbcdf..50f751f8da 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2184,6 +2184,13 @@ To load this plugin, specify the following option when starting mpv:
;; 'youtube-dl.bash-completion'.
`(#:tests? #f ; Many tests fail. The test suite can be run with pytest.
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'default-to-the-ffmpeg-input
+ (lambda _
+ ;; Continue respecting the --ffmpeg-location argument.
+ (substitute* "youtube_dl/postprocessor/ffmpeg.py"
+ (("\\.get\\('ffmpeg_location'\\)" match)
+ (format #f "~a or '~a'" match (which "ffmpeg"))))
+ #t))
(add-before 'install 'fix-the-data-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((prefix (assoc-ref outputs "out")))
@@ -2207,6 +2214,8 @@ To load this plugin, specify the following option when starting mpv:
(copy-file "youtube-dl.zsh"
(string-append zsh "/_youtube-dl"))
#t))))))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)))
(synopsis "Download videos from YouTube.com and other sites")
(description
"Youtube-dl is a small command-line program to download videos from
--
2.28.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly
2020-09-16 8:58 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-16 11:30 ` Mark H Weaver
0 siblings, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2020-09-16 11:30 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: ncdehnel, 43418
Hi Tobias,
Tobias Geerinckx-Rice <me@tobias.gr> writes:
> Mark H Weaver 写道:
>
>> I see two possible approaches: ffmpeg could be added to youtube-dl's
>> propagated-inputs, or it could be instead be added to 'inputs', and
>> we could substitute hardcoded paths to 'ffmpeg' in the built
>> 'youtube-dl'. I generally tend to favor the latter approach, but
>> there are valid arguments for each approach and I don't feel strongly
>> about it.
>
> Which advantages does the former have? I wasn't aware of any.
The former approach is arguably simpler, easier to maintain, and if the
user upgrades only 'ffmpeg' while leaving 'youtube-dl' unchanged, with
the latter approach 'youtube-dl' will continue using the old 'ffmpeg'
with its potential security holes, which users unfamiliar with Guix
might not expect.
I still generally prefer the latter approach for several reasons, most
notably because it means fewer dynamically-determined dependencies,
which are contrary to our goals for reproducible behavior, i.e. that if
the software in a given store item works today for your use case, it
will work the same way tomorrow.
However, it's worth noting that this property is less useful for a
program like 'youtube-dl', because a copy of 'youtube-dl' that works
today might well stop working tomorrow because of changes made on the
server side, regardless of our efforts.
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg.
2020-09-16 9:54 ` bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-16 11:31 ` Mark H Weaver
2020-09-16 11:54 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2020-09-16 11:31 UTC (permalink / raw)
To: Tobias Geerinckx-Rice, 43418
Hi Tobias,
> Addresses <https://issues.guix.gnu.org/43418>.
>
> * gnu/packages/video.scm (youtube-dl)[inputs]: Add ffmpeg.
> [arguments]: Fall back to input ffmpeg instead of searching $PATH.
Looks good to me. Thank you!
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg.
2020-09-16 11:31 ` Mark H Weaver
@ 2020-09-16 11:54 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 12:07 ` zimoun
0 siblings, 1 reply; 12+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2020-09-16 11:54 UTC (permalink / raw)
To: Mark H Weaver, zimoun; +Cc: 43418-done
[-- Attachment #1: Type: text/plain, Size: 733 bytes --]
Mark, Simon,
Mark H Weaver 写道:
>> Addresses <https://issues.guix.gnu.org/43418>.
>>
>> * gnu/packages/video.scm (youtube-dl)[inputs]: Add ffmpeg.
>> [arguments]: Fall back to input ffmpeg instead of searching
>> $PATH.
>
> Looks good to me. Thank you!
Thanks, pushed.
> The usage seems more Fixes than Addresses.
I'm still of the opinion that this was no bug but a feature
request, and there was nothing to fix. I promise to add it to the
release notes if you think it's necessary, but would rather keep
those limited to ‘real’ bugs as well. It's not like we're short
on those ;-)
Whatever it was, it's now closed, and we'll be spared of
duplicates from now on.
Thanks all,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg.
2020-09-16 11:54 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-16 12:07 ` zimoun
0 siblings, 0 replies; 12+ messages in thread
From: zimoun @ 2020-09-16 12:07 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: 43418-done
On Wed, 16 Sep 2020 at 13:54, Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> > The usage seems more Fixes than Addresses.
>
> I'm still of the opinion that this was no bug but a feature
> request, and there was nothing to fix. I promise to add it to the
> release notes if you think it's necessary, but would rather keep
> those limited to ‘real’ bugs as well. It's not like we're short
> on those ;-)
I am fine with whatever the convention is. Just one that we
collectively share. :-)
It helps to dig with the tandem "git log --grep" and "M-x debbugs", IMHO.
I mean it could make sense to have Fixes for "real" bugs and Addresses
for anything else tracked by debbugs (whishlist, typo, etc.).
Cheers,
simon
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-09-16 12:21 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-15 11:27 bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly Nathan Dehnel
2020-09-15 12:06 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-15 19:34 ` raingloom
2020-09-15 23:52 ` Nathan Dehnel
2020-09-15 23:17 ` Leo Famulari
2020-09-16 8:14 ` Mark H Weaver
2020-09-16 8:58 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 11:30 ` Mark H Weaver
2020-09-16 9:54 ` bug#43418: [PATCH] gnu: youtube-dl: Refer to ffmpeg Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 11:31 ` Mark H Weaver
2020-09-16 11:54 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-16 12:07 ` zimoun
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).