Hobbyist developer, Linux enthusiast, and Arch Linux user.

“The only things constant in this world are death and taxes, I’ve got both!”Skeleton Merchant, Terraria

  • 3 Posts
  • 59 Comments
Joined 3 年前
cake
Cake day: 2023年6月29日

help-circle




  • 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 .200 limits 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.


  • Sure, a few projects I’ve been working on:

    • framed_text: A Python package that adds some utilities I frequently use in my projects, such as Status message, Data with labels, and messages surrounded by a frame. (Inspired by prompt_toolkit’s choice frames)
    • play-music: A CLI music wrapper for VLC & MPV. Mainly just a way to play files and directories/playlists without having to type their paths by using saved IDs.

    I have a few other public repos on my Codeberg page, and a few private ones that are more tailored to my specific system. I have a lot of scripts that are not in any repos that are just one-off things like extracting data from a CSV file.






  • I’ve been working on a hobby Python project to extract YT URLs from a CSV file, mass download them as audio files, extract their thumbnails and crop them to be square (Like proper album art), then re-encode them again.

    I’ve gotten the functionality of the CSV Extractor and Thumbnail Fixer completed, but I still need proper message displays for them, as well as a menu to select between the 2 functionalities.

    If it’s possible, I would love to automatically add the title and artist metadata to the files based on the filename, though I haven’t figured out a way to do that yet.