this post was submitted on 26 Jun 2024
12 points (83.3% liked)

Open Source

31243 readers
238 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Can I have some help regarding using yt-dlp.

  1. How to select a specific duration of video to be downloaded like from 00 to 600 seconds in video of 8 hours.
  2. When downloading songs from youtube with metadata and thumbnail I get thumbnails in rectangular shape instead of square. How to turn them square?

Asking it here cause, Discussion on repository is closed and it is FOSS software.

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 9 points 4 months ago
  1. There is the --download-sections option. Looking at it, you might want to use --download-sections "*0:00-1:00".
  2. I briefly checked with --list-thumbnails and it doesn't look like YouTube offers any square ones, so I would look into using ImageMagick to edit the image with a command. I doubt yt-dlp allows you to do any sort of image manipulation out of the box.
[–] [email protected] 4 points 4 months ago

For selecting durations, you can use this --download-sections REGEX

Download only chapters that match the regular expression. A "*" prefix denotes time-range instead of chapter. Negative timestamps are calculated from the end. "*from-url" can be used to download between the "start_time" and "end_time" extracted from the URL. Needs ffmpeg. This option can be used multiple times to download multiple sections, e.g. --download-sections "*10:15-inf" --download-sections "intro"

As for the thumbnails, usually, when I download a Youtube Music album thumbnail, it is already squared. Before that, I used to use a specific hack, but I don't remember how I did it anymore. Check this discussion, it may help: https://github.com/yt-dlp/yt-dlp/issues/429

[–] [email protected] 2 points 4 months ago

You can use the --download-sections parameter to specify a time range. --download-sections "*0-600" would download the first 600 seconds to the nearest keyframe. To make it exact, you would have to re-encode the video after downloading it.

For making the thumbnail square, you will probably have to write a script to extract it, crop it, and re-insert it.