Shout out something you’ve done lately you’re proud of. I spent most of last week building 10 new “soil boxes” for the vegetable portion of my small farm’s crops. Fully fenced in, basic irrigation setup and everything in the ground growing or ready to grow.


I should probably do something like that as well. I get plenty of music off of YouTube and usually prefer to listen to it locally rather than stream it and it’s always nice when they have the proper thumbnail and metadata, but I’ve been getting by so far with just using a well prepared CLI command for each song I want and substituting the URL in. It does most everything pretty well, but it usually ends up with my audio in a .webm format that my phone keeps wanting to interpret as a video file and usually the thumbnail only gets added to the one file with both audio and video, but not to the audio only file.
I’d be interested in hearing more about what you’re doing for this to see if my own solution could be improved.
I’m making my project in Python. I use a CSV module to extract the data from a CSV file. In my case, my CSVs are playlists created by Kreate, an android YouTube Music client. In those playlist CSV files, there’s a colum that contains the video IDs for each item in the playlist. Part of my script extracts those, and formats YouTube video URLs out of them.
I use an app called media-downloader on Linux to do the actual batch downloading. It uses yt-dlp as its backend. I have my download options set to
-f bestaudio --extract-audio --audio-quality 0 --embed-thumbnail. My filename format is set to"%(uploader)s - %(title).200s.%(ext)s". The.200limits the title to 200 characters.Then for the thumbnail editing, I use my script to call ffmpeg to extract the thumbnail from the video, use
wand(Basically ImageMagick for Python) to crop the image to a square based on the image’s height (You ever see those thumbnails with the solid colors on the side? That’s what I’m removing.), then re-encode them using ffmpeg.For my setup, Media-downloader downloads files as OPUS, so I convert them to MP3 during the thumbnail portion of my script.
That was quite a wall of text, but I’ll probably put my project on Codeberg when I’m done if you’re interested in looking at the code.