Thumbnail-embedding for .opus files ("Only mp3 and m4a/mp4 are supported for thumbnail embedding for now") #25224

Open
opened 2026-02-21 13:42:38 -05:00 by deekerman · 17 comments
Owner

Originally created by @mYnDstrEAm on GitHub (May 6, 2022).

Checklist

  • I'm reporting a feature request
  • I've verified that I'm running youtube-dl version 2021.12.17
  • I've searched the bugtracker for similar feature requests including closed ones

Description

When I download some audio with (and this command should be in the readme imo):

firejail youtube-dl --extract-audio --embed-thumbnail --audio-format best -i -o '/path/%(title)s.%(ext)s' https://www.youtube.com/watch?v=GhJNXlMsPG4

I get ERROR: Only mp3 and m4a/mp4 are supported for thumbnail embedding for now..
I used to get ERROR: AtomicParsley was not found. Please install, instead of that error, I'm now getting the above - this could also be due to the filetype which here is .opus. I have atomicparsley v0.9.6-2 installed from the Debian repos (maybe I needed to add some path so that it works).
These issues may be related: https://github.com/ytdl-org/youtube-dl/issues/5840 https://github.com/ytdl-org/youtube-dl/issues/6046

Originally created by @mYnDstrEAm on GitHub (May 6, 2022). <!-- ###################################################################### WARNING! IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE ###################################################################### --> ## Checklist <!-- Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl: - First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.12.17. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED. - Search the bugtracker for similar feature requests: http://yt-dl.org/search-issues. DO NOT post duplicates. - Finally, put x into all relevant boxes (like this [x]) --> - [x] I'm reporting a feature request - [x] I've verified that I'm running youtube-dl version **2021.12.17** - [x] I've searched the bugtracker for similar feature requests including closed ones ## Description <!-- Provide an explanation of your issue in an arbitrary form. Please make sure the description is worded well enough to be understood, see https://github.com/ytdl-org/youtube-dl#is-the-description-of-the-issue-itself-sufficient. Provide any additional information, suggested solution and as much context and examples as possible. --> When I download some audio with (and this command should be in the readme imo): ``` firejail youtube-dl --extract-audio --embed-thumbnail --audio-format best -i -o '/path/%(title)s.%(ext)s' https://www.youtube.com/watch?v=GhJNXlMsPG4 ``` I get `ERROR: Only mp3 and m4a/mp4 are supported for thumbnail embedding for now.`. I used to get `ERROR: AtomicParsley was not found. Please install`, instead of that error, I'm now getting the above - this could also be due to the filetype which here is .opus. I have atomicparsley v0.9.6-2 installed from the Debian repos (maybe I needed to add some path so that it works). These issues may be related: https://github.com/ytdl-org/youtube-dl/issues/5840 https://github.com/ytdl-org/youtube-dl/issues/6046
Author
Owner

@mYnDstrEAm commented on GitHub (May 6, 2022):

Done (edited the command).
It occurs with pretty much all tracks that I'm trying now so this is the first I just tried it with. I don't know why because I don't upgraded since the atomicparsley problems or changed paths (meant to create an issue about that, not this error).

@mYnDstrEAm commented on GitHub (May 6, 2022): Done (edited the command). It occurs with pretty much all tracks that I'm trying now so this is the first I just tried it with. I don't know why because I don't upgraded since the atomicparsley problems or changed paths (meant to create an issue about that, not this error).
Author
Owner

@mYnDstrEAm commented on GitHub (May 7, 2022):

It should be added to youtube-dl then.
At least as a fallback if atomicparsley is not installed or doesn't work.

The current problem doesn't seem to be caused by something related to atomicparlsey or is it? If it is: how to solve it? Do I need to add some path to .bashrc? If it's not: is this a limitation of the current revision of the opus standard or something else?

@mYnDstrEAm commented on GitHub (May 7, 2022): It should be added to youtube-dl then. At least as a fallback if atomicparsley is not installed or doesn't work. The current problem doesn't seem to be caused by something related to atomicparlsey or is it? If it is: how to solve it? Do I need to add some path to .bashrc? If it's not: is this a limitation of the current revision of the opus standard or something else?
Author
Owner

@mYnDstrEAm commented on GitHub (May 7, 2022):

This seems to be related (at the least): #22338

@mYnDstrEAm commented on GitHub (May 7, 2022): This seems to be related (at the least): #22338
Author
Owner

@mYnDstrEAm commented on GitHub (May 7, 2022):

As far as I understood it, the issue linked above would solve this problem.

In terms of running a ffmpeg command to embed the thumbnail: how would this differ from using atomicparsley? Isn't ffmpeg a dependency as well? It could be used if it's available even if it isn't a dependency.

The code example you posted is useful for people looking for a current workaround but if it's added to youtube-dl it wouldn't be Youtube-specific: the thumbnail is currently already getting downloaded so you only need to embed the file that got downloaded and then delete it (and it would also not need to download it separately, downloading the thumbnail already works with the current way).

@mYnDstrEAm commented on GitHub (May 7, 2022): As far as I understood it, the issue linked above would solve this problem. In terms of running a ffmpeg command to embed the thumbnail: how would this differ from using atomicparsley? Isn't ffmpeg a dependency as well? It could be used if it's available even if it isn't a dependency. The code example you posted is useful for people looking for a current workaround but if it's added to youtube-dl it wouldn't be Youtube-specific: the thumbnail is currently already getting downloaded so you only need to embed the file that got downloaded and then delete it (and it would also not need to download it separately, downloading the thumbnail already works with the current way).
Author
Owner

@dirkf commented on GitHub (May 7, 2022):

Apparently the recommended embedding for Opus cover art places a METADATA_BLOCK_PICTURE in a VorbisComment in the Opus stream, or in a Theora stream #0 to apply to all Opus streams in an Ogg container. According to https://trac.ffmpeg.org/ticket/4448, the feature isn't yet implemented (PR on hold). PR #24310 requires an external GPLv2 Python module and won't be merged.

The example above is for a .mp4 container. yt-dl can handle that because, as identified above, the thumbnail embedding code has this structure:

        if info['ext'] == 'mp3':
            # supported
        elif info['ext'] in ['m4a', 'mp4']:
            # supported with atomicparsley
        else:
            # not supported 

However if a new enough ffmpeg supports the second case we should try that before atomicparsley.

#6046 is about adding image metadata to a .mkv == .webm container. Again we could possibly use ffmpeg for this as in PR #22659 which adds another branch to the logic above.

With newer ffmpeg capabilities, we'd have to implement a version check. Currently we only require ffmpeg >= 1.0. A check is made for 3.2+ when downloading before adding the -bsf:a aac_adtstoasc option. Possibly other checks are made by using the help output.

@dirkf commented on GitHub (May 7, 2022): Apparently the recommended embedding for Opus cover art places a `METADATA_BLOCK_PICTURE` in a `VorbisComment` in the Opus stream, or in a Theora stream #0 to apply to all Opus streams in an Ogg container. According to https://trac.ffmpeg.org/ticket/4448, the feature isn't yet implemented (PR on hold). PR #24310 requires an external GPLv2 Python module and won't be merged. The example [above](https://github.com/ytdl-org/youtube-dl/issues/30922#issuecomment-1120110187) is for a .mp4 container. yt-dl can handle that because, as identified above, the thumbnail embedding code has this structure: ```py if info['ext'] == 'mp3': # supported elif info['ext'] in ['m4a', 'mp4']: # supported with atomicparsley else: # not supported ``` However if a new enough _ffmpeg_ supports the second case we should try that before _atomicparsley_. #6046 is about adding image metadata to a .mkv == .webm container. Again we could possibly use _ffmpeg_ for this as in PR #22659 which adds another branch to the logic above. With newer _ffmpeg_ capabilities, we'd have to implement a version check. Currently we only require _ffmpeg_ >= 1.0. A check is made for 3.2+ when downloading before adding the `-bsf:a aac_adtstoasc` option. Possibly other checks are made by using the help output.
Author
Owner

@mYnDstrEAm commented on GitHub (May 7, 2022):

Great, thanks for all the info! But how to proceed? Why are you saying that "PR https://github.com/ytdl-org/youtube-dl/pull/24310 requires an external GPLv2 Python module and won't be merged"? From the PR it looks it could get merged, why would it not?

Didn't fully understand the relevance/need/benefit of the proposed ffmpeg changes of the linked ticket. But maybe others here did.

It would be great if ffmpeg could be used for thumbnails for all filetypes, this issue is just about audio files though.

@mYnDstrEAm commented on GitHub (May 7, 2022): Great, thanks for all the info! But how to proceed? Why are you saying that "PR https://github.com/ytdl-org/youtube-dl/pull/24310 requires an external GPLv2 Python module and won't be merged"? From the PR it looks it could get merged, why would it not? Didn't fully understand the relevance/need/benefit of the proposed ffmpeg changes of the linked ticket. But maybe others here did. It would be great if ffmpeg could be used for thumbnails for all filetypes, this issue is just about audio files though.
Author
Owner

@dirkf commented on GitHub (May 8, 2022):

Because we can't distribute (for various interpretations of 'distribute') mutagen with yt-dl.

I'm happy to consider enhancing the thumbnail embedding through ffmpeg as long as people are prepared to accept it failing with older versions, and considering that upgrading ffmpeg on some platforms can be tricky because of dependency hell.

For your test link, these two formats are available:

140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 4.38MiB
251          webm       audio only tiny  136k , webm_dash container, opus @136k (48000Hz), 4.62MiB

Your embedding should work with -f 'bestaudio[ext=m4a]' and I doubt that you'll be able to detect any difference in quality.

@dirkf commented on GitHub (May 8, 2022): Because we can't distribute (for various interpretations of 'distribute') _mutagen_ with yt-dl. I'm happy to consider enhancing the thumbnail embedding through _ffmpeg_ as long as people are prepared to accept it failing with older versions, and considering that upgrading _ffmpeg_ on some platforms can be tricky because of dependency hell. For your test link, these two formats are available: ``` 140 m4a audio only tiny 129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 4.38MiB 251 webm audio only tiny 136k , webm_dash container, opus @136k (48000Hz), 4.62MiB ``` Your embedding should work with `-f 'bestaudio[ext=m4a]'` and I doubt that you'll be able to detect any difference in quality.
Author
Owner

@mYnDstrEAm commented on GitHub (May 8, 2022):

I would also prefer if youtube-dl used ffmpeg instead anyway.

Debian always has very old packages and even there (Debian11 stable) ffmpeg is version 4.3.4 with which it should work.

I'd like to use opus. It is an open standard, instead of a proprietary Apple one and it's better supported on Android. I tried it nevertheless for testing-purposes and it didn't work: there I'm getting the error

ERROR: AtomicParsley was not found. Please install.

But it is already installed (v0.9.6 installed from the Debian repos). Do I need to add some PATH environment variable (to ~/.bashrc) for it to work?

However, it doesn't seem like solving this is needed: please just add the ffmpeg thumbnail-embedding to yt-dl.

@mYnDstrEAm commented on GitHub (May 8, 2022): I would also prefer if youtube-dl used ffmpeg instead anyway. Debian always has very old packages and even there (Debian11 stable) ffmpeg is version 4.3.4 with which it should work. I'd like to use opus. It is an open standard, instead of a proprietary Apple one and it's better supported on Android. I tried it nevertheless for testing-purposes and it didn't work: there I'm getting the error `ERROR: AtomicParsley was not found. Please install.` But it is already installed (v0.9.6 installed from the Debian repos). Do I need to add some PATH environment variable (to ~/.bashrc) for it to work? However, it doesn't seem like solving this is needed: please just add the ffmpeg thumbnail-embedding to yt-dl.
Author
Owner

@pukkandan commented on GitHub (May 11, 2022):

Because we can't distribute (for various interpretations of 'distribute') mutagen with yt-dl.

Even so, the PR is useful. Except for the windows exe, users could install mutagen separately, similar to the case with pycryptodome

@pukkandan commented on GitHub (May 11, 2022): > Because we can't distribute (for various interpretations of 'distribute') mutagen with yt-dl. Even so, the PR is useful. Except for the windows exe, users could install mutagen separately, similar to the case with pycryptodome
Author
Owner

@Dialga commented on GitHub (Aug 4, 2022):

Use yt-dlp instead.

$ yt-dlp --audio-format best --extract-audio --embed-thumbnail https://www.youtube.com/watch?v=YGxnaR8JHjI
[youtube] YGxnaR8JHjI: Downloading webpage
[youtube] YGxnaR8JHjI: Downloading android player API JSON
[info] YGxnaR8JHjI: Downloading 1 format(s): 251
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: Surprise sound effect [YGxnaR8JHjI].webp
[download] Destination: Surprise sound effect [YGxnaR8JHjI].webm
[download] 100% of 16.84KiB in 00:00
[ExtractAudio] Destination: Surprise sound effect [YGxnaR8JHjI].opus
Deleting original file Surprise sound effect [YGxnaR8JHjI].webm (pass -k to keep)
[Metadata] Adding metadata to "Surprise sound effect [YGxnaR8JHjI].opus"
[ThumbnailsConvertor] Converting thumbnail "Surprise sound effect [YGxnaR8JHjI].webp" to png
[EmbedThumbnail] mutagen: Adding thumbnail to "Surprise sound effect [YGxnaR8JHjI].opus"
$ ffprobe Surprise\ sound\ effect\ \[YGxnaR8JHjI\].opus
...
[ogg @ 0x555fd20a3040] 1040 bytes of comment header remain
Input #0, ogg, from 'Surprise sound effect [YGxnaR8JHjI].opus':
  Duration: 00:00:01.80, start: 0.000000, bitrate: 1410 kb/s
  Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp
    Metadata:
      encoder         : Lavf59.16.100
      title           : Surprise sound effect
      date            : 20191222
      purl            : https://www.youtube.com/watch?v=YGxnaR8JHjI
      synopsis        : Hi my video is about a sound effect of surprise
      comment         : https://www.youtube.com/watch?v=YGxnaR8JHjI
      artist          : Meow Gamer
  Stream #0:1: Video: png, rgb24(pc), 1280x720, 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)
@Dialga commented on GitHub (Aug 4, 2022): Use [yt-dlp](https://github.com/yt-dlp/yt-dlp) instead. ``` $ yt-dlp --audio-format best --extract-audio --embed-thumbnail https://www.youtube.com/watch?v=YGxnaR8JHjI [youtube] YGxnaR8JHjI: Downloading webpage [youtube] YGxnaR8JHjI: Downloading android player API JSON [info] YGxnaR8JHjI: Downloading 1 format(s): 251 [info] Downloading video thumbnail 41 ... [info] Writing video thumbnail 41 to: Surprise sound effect [YGxnaR8JHjI].webp [download] Destination: Surprise sound effect [YGxnaR8JHjI].webm [download] 100% of 16.84KiB in 00:00 [ExtractAudio] Destination: Surprise sound effect [YGxnaR8JHjI].opus Deleting original file Surprise sound effect [YGxnaR8JHjI].webm (pass -k to keep) [Metadata] Adding metadata to "Surprise sound effect [YGxnaR8JHjI].opus" [ThumbnailsConvertor] Converting thumbnail "Surprise sound effect [YGxnaR8JHjI].webp" to png [EmbedThumbnail] mutagen: Adding thumbnail to "Surprise sound effect [YGxnaR8JHjI].opus" $ ffprobe Surprise\ sound\ effect\ \[YGxnaR8JHjI\].opus ... [ogg @ 0x555fd20a3040] 1040 bytes of comment header remain Input #0, ogg, from 'Surprise sound effect [YGxnaR8JHjI].opus': Duration: 00:00:01.80, start: 0.000000, bitrate: 1410 kb/s Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp Metadata: encoder : Lavf59.16.100 title : Surprise sound effect date : 20191222 purl : https://www.youtube.com/watch?v=YGxnaR8JHjI synopsis : Hi my video is about a sound effect of surprise comment : https://www.youtube.com/watch?v=YGxnaR8JHjI artist : Meow Gamer Stream #0:1: Video: png, rgb24(pc), 1280x720, 90k tbr, 90k tbn (attached pic) Metadata: comment : Cover (front) ```
Author
Owner

@dirkf commented on GitHub (Aug 5, 2022):

But [AtomicParsley] is already installed (v0.9.6 installed from the Debian repos). Do I need to add some PATH environment variable (to ~/.bashrc) for it to work?

The embed code tests that one of AtomicParsley -v or atomicparsley -v works, so, if neither of those runs from the same context as yt-dl, yes.

@dirkf commented on GitHub (Aug 5, 2022): > But [AtomicParsley] is already installed (v0.9.6 installed from the Debian repos). Do I need to add some PATH environment variable (to ~/.bashrc) for it to work? The embed code tests that one of `AtomicParsley -v` or `atomicparsley -v` works, so, if neither of those runs from the same context as yt-dl, yes.
Author
Owner

@mYnDstrEAm commented on GitHub (Feb 7, 2023):

AtomicParsley -v returns AtomicParsley version: 0.9.6 (utf8) but I still get
either ERROR: Only mp3 and m4a/mp4 are supported for thumbnail embedding for now. or ERROR: AtomicParsley was not found. Please install.. firejail youtube-dl --version returns 2021.12.17. youtube-dl was installed (uninstalled and installed again) without sudo with pip install youtube-dl.

What's the cause and the solution to this?

@mYnDstrEAm commented on GitHub (Feb 7, 2023): `AtomicParsley -v` returns `AtomicParsley version: 0.9.6 (utf8)` but I still get either `ERROR: Only mp3 and m4a/mp4 are supported for thumbnail embedding for now.` or `ERROR: AtomicParsley was not found. Please install.`. `firejail youtube-dl --version` returns `2021.12.17`. youtube-dl was installed (uninstalled and installed again) without sudo with `pip install youtube-dl`. What's the cause and the solution to this?
Author
Owner

@dirkf commented on GitHub (Feb 7, 2023):

ERROR: Only mp3 and m4a/mp4 are supported ...: the destination audio file type (ext in the info-json) was not one of the listed types supported for embedding.

ERROR: AtomicParsley was not found...: AtomicParsley -v failed when run from yt-dl, perhaps a firejail issue.

With ffmpeg (4.3-2ubuntu0~ppa16.04+8), I can embed a picture, such that the artwork is shown by mpv when playing the result:

$ ffmpeg -hide_banner -i audio.opus -i thumbnail.jpg -map 0:a -map 1:v -c:a copy -c:v libtheora -q:v 10 audiowiththumbnail.opus
$ ffprobe -hide_banner -select_streams v:0 -count_packets -show_entries stream=nb_read_packets audiowiththumbnail.opus
Input #0, ogg, from 'audiowiththumbnail.opus':
  Duration: 00:03:24.25, start: 0.000000, bitrate: 98 kb/s
    Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp
    Metadata:
      DURATION        : 00:03:24.261000000
      encoder         : Lavc58.91.100 libopus
    Stream #0:1: Video: theora, yuv420p, 847x617 [SAR 1:1 DAR 847:617], 25 tbr, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 libtheora
[STREAM]
nb_read_packets=1
[/STREAM]
$

This single video frame corresponds to the "METADATA_BLOCK_PICTURE in a VorbisComment in Theora stream #0, applying to all audio streams in the file" case that I described earlier.

@dirkf commented on GitHub (Feb 7, 2023): `ERROR: Only mp3 and m4a/mp4 are supported ...`: the destination audio file type (`ext` in the info-json) was not one of the listed types supported for embedding. `ERROR: AtomicParsley was not found...`: `AtomicParsley -v` failed when run from yt-dl, perhaps a _firejail_ issue. With _ffmpeg_ (4.3-2ubuntu0~ppa16.04+8), I can embed a picture, such that the artwork is shown by _mpv_ when playing the result: ``` $ ffmpeg -hide_banner -i audio.opus -i thumbnail.jpg -map 0:a -map 1:v -c:a copy -c:v libtheora -q:v 10 audiowiththumbnail.opus $ ffprobe -hide_banner -select_streams v:0 -count_packets -show_entries stream=nb_read_packets audiowiththumbnail.opus Input #0, ogg, from 'audiowiththumbnail.opus': Duration: 00:03:24.25, start: 0.000000, bitrate: 98 kb/s Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp Metadata: DURATION : 00:03:24.261000000 encoder : Lavc58.91.100 libopus Stream #0:1: Video: theora, yuv420p, 847x617 [SAR 1:1 DAR 847:617], 25 tbr, 25 tbn, 25 tbc Metadata: encoder : Lavc58.91.100 libtheora [STREAM] nb_read_packets=1 [/STREAM] $ ``` This single video frame corresponds to the "`METADATA_BLOCK_PICTURE` in a `VorbisComment` in Theora stream #0, applying to all audio streams in the file" case that I described earlier.
Author
Owner

@mYnDstrEAm commented on GitHub (Feb 7, 2023):

I tried it without firejail and the picture is embedded now so it's an issue with the firejail sandboxing profile in the case of the AtomicParsley error. Issue here: https://github.com/netblue30/firejail/issues/5647

However, in most cases I get the other error. I'm not specifying the output filetype so it's the defaults for the files. How could this get solved best? Converting the file to a specified filetype after download (.opus? and how?)?

Thanks for including the command to embed the picture afterwards. I guess it could be used in a script to embed the pictures which are currently placed in the same folder and named like the file. Is there a way to make a youtube-dl download and embed pictures from urls when using --download-archive "./downloaded.txt" so that it only downloads and embeds the pictures (of the files in a playlist) instead of redownloading the entire files?

@mYnDstrEAm commented on GitHub (Feb 7, 2023): I tried it without `firejail` and the picture is embedded now so it's an issue with the firejail sandboxing profile in the case of the AtomicParsley error. Issue here: https://github.com/netblue30/firejail/issues/5647 However, in most cases I get the other error. I'm not specifying the output filetype so it's the defaults for the files. How could this get solved best? Converting the file to a specified filetype after download (.opus? and how?)? Thanks for including the command to embed the picture afterwards. I guess it could be used in a script to embed the pictures which are currently placed in the same folder and named like the file. Is there a way to make a youtube-dl download and embed pictures from urls when using `--download-archive "./downloaded.txt"` so that it only downloads and embeds the pictures (of the files in a playlist) instead of redownloading the entire files?
Author
Owner

@dirkf commented on GitHub (Feb 7, 2023):

I believe that you should just omit the --download-archive ... which filters out the item completely. What I expect to happen (as long as the output template is the same as when the existing items were originally downloaded and processed) is that an existing item will be recognised and then postprocessing specified for, eg, thumbnail embedding will be carried out, the thumbnail URL having been re-extracted already.

@dirkf commented on GitHub (Feb 7, 2023): I believe that you should just omit the `--download-archive ...` which filters out the item completely. What I expect to happen (as long as the output template is the same as when the existing items were originally downloaded and processed) is that an existing item will be recognised and then postprocessing specified for, eg, thumbnail embedding will be carried out, the thumbnail URL having been re-extracted already.
Author
Owner

@mYnDstrEAm commented on GitHub (Feb 7, 2023):

No, then it just downloads it anew. But most of the time I get the other error anyway and I still get it when I specify the output with --audio-format best -i -o ./%(title)s.opus'.

I guess until this gets implemented the best solution is to use -f 'bestaudio[ext=m4a]' as you suggested above if one wants to have the picture embedded. It should work with opus too though.

@mYnDstrEAm commented on GitHub (Feb 7, 2023): No, then it just downloads it anew. But most of the time I get the other error anyway and I still get it when I specify the output with `--audio-format best -i -o ./%(title)s.opus'`. I guess until this gets implemented the best solution is to use ` -f 'bestaudio[ext=m4a]'` as you suggested above if one wants to have the picture embedded. It should work with opus too though.
Author
Owner

@mYnDstrEAm commented on GitHub (Feb 21, 2023):

The solution is to just use yt-dlp (pip install yt-dlp). Unlike youtube-dl, it works with yt-dlp (same commands except replace youtube-dl with yt-dlp).

The solution for youtube-dl would be to use what they used, for example just merge the changes into here.

@mYnDstrEAm commented on GitHub (Feb 21, 2023): The solution is to just use yt-dlp (`pip install yt-dlp`). Unlike youtube-dl, it works with yt-dlp (same commands except replace `youtube-dl` with `yt-dlp`). The solution for youtube-dl would be to use what they used, for example just merge the changes into here.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl-ytdl-org#25224
No description provided.