DanRom LocalTools

Status: N/A

YT-DLP GUI Enter all channel, playlist and video URLs here (One URL per line).

Select Content to Download (Select at Least One):





Set Video Resolution

NOTES:

  • The above dropdown will be ignored if Video isn't selected.
  • FPS will be determined automatically (Ex. 720p60 videos will be 60fps)
  • To use cookies, select the "Use Cookies" checkbox and ensure that a cookies.txt file exists in the SAME FOLDER that you run the script in! It should also be in NETSCAPE format. You can easily download cookies via the open-source Cookie-Editor browser extension. Also, if the script doesn't work for certain videos the first time, try running it again and it may work the second time.

Misc. Settings




Power Options When Complete

FFMPEG GUI
    OR, you can input either all file names here (One item per line): (If there is content in this textarea, files will be ignored.)

    Append At End Option

    If checked, the string `(OUTPUT)` will appear at the end of the file name. Otherwise, it will be inserted at the beginning.

    Audio Options

    NOTES:

    • This option will be IGNORED if `Copy Audio Codec` is checked.
    • "Normalize Audio" will only perform a single pass of `loudnorm` normalization. You can use ffmpeg-normalize if you'd like to do a full two-pass normalization process instead, among other.

    NOTE: This option will be IGNORED if `Copy Audio Codec` is checked.

    Graphics Card Options

    Select the graphics card you want to use. NOTE: Selecting this option will cause the `Copy Video Codec` option below to be IGNORED!


    Check the boxes if you want to include the corresponding option. If an option's checkbox is not checked, it will not be used. The default functionality assumed is an input an output of the same file type, and not all options are compatible with one another when running the FFMPEG command!

    • Ensure that...
      • The input file is separated by a line break.
      • Each desired input is mapped correctly (Ex. Line 1 of each input will be mapped to the first command in the script file).
    • If this option is selected, you must upload your files (or place them in the textarea) AND place them in the textarea below for them to be processed.
    • Trimmed Media will be placed in the same folder as the original file.

    For all inputs below, ensure that they are separated by a line break and that each desired input is mapped correctly (Ex. Line 1 of each input will be mapped to the first command in the script file).


    Enter the names of the files you'd like to trim including file extensions below:

    Enter start and end times in the format below. Milliseconds are optional.

    HOURS:MINUTES:SECONDS.MILLISECONDS
    Example: 01:23:45.678

    Enter start times:

    Enter end times:

    Enter all desired output file extensions separated by a line break below:
    Selecting these options will ensure that all video and/or audio streams are mapped correctly and should be enabled if you want to keep all of the audio tracks of your input files. Otherwise, only the first video and audio track will be retained in the output file!

    NOTE:

    • Selecting these options will cause the following options to be ignored:
      • Custom Resolution (Affects Video Only)
      • Reverse Media
    kbps
    kbps
    FPS

    Select the scaling algorithm you prefer:

    Enter your desired multiplier of the scaled media.

    Enter the desired speed of your media. (Ex. 0.5 = half speed, 2 = double speed.)
    Enter the total number of additional times you would like the media to be looped. (Ex. 1 loop is 2 times.)
    Enter the timestamp of the frame you would like to extract. This assumes you have only video files, and will return the frame at the given timestamp (Ex. 01:23:45.678). Checking this box will ensure no other options apply!

    TIP: If you would like to extract a frame from a long video file, trim it first such that it is only a few seconds long, then use the timestamp of that trimmed video file! Extracting a frame late into a long video takes a long time.

    Enter the desired volume multiplier of your media.
    This option converts your existing media to codecs compatible with DaVinci Resolve on Linux. This option uses the `MPEG4` video codec, which retain high quality while maintaining a reasonable file size.

    IMPORTANT: This option should be used only on video files! For audio files, simply convert them all to WAV files via `Choose Files` and use the `Convert File Type` option.

    NOTES:

    • Selecting this option will ignore any graphics card & any other codec settings selected. This is a CPU-only operation!
    • From my testing as of August 2026, DaVinci Resolve currently does not play nice with the `Normalize Audio` function. If you wish to normalize audio for this use case, first install pipx, then install ffmpeg-normalize via the following command:
      • pipx install ffmpeg-normalize
      Therefore, the `Audio Option` dropdown above will also be ignored if this option is checked. Use the dropdown below instead!

    Choose your desired audio codec, copy an existing codec if it's already in a Resolve-compatible format, or remove audio here if you wish to keep audio in a separate file(s):


    Power Options When Complete

    Extract All Audio Tracks

    Use this tool to extract all audio tracks from your video files.

      OR, you can input either all file names here (One item per line): (If there is content in this textarea, files will be ignored.)

      Enter the number of audio tracks each file has:

      Choose your output file type:

      Choose your bitrate (leave blank for defaults): kpbs

      Audio + Image -> Video

      UPLOAD ONLY MP3 FILES HERE! Ensure that corresponding .PNG files of the same name exist in the same folder OR that `UseBlackImage` is checked if you wish to just use a black image, which you can download by right-clicking (or holding on mobile) the image below.

      Place this image in the same folder. Do not rename this file!

        OR, you can input either all file names here (One item per line): (If there is content in this textarea, files will be ignored.)


        Power Options When Complete

        Add MP3 Cover Images

        UPLOAD ONLY MP3 FILES HERE! Ensure that corresponding .PNG files of the same name exist in the same folder so they get applied to their respective MP3 files.

          OR, you can input either all file names here (One item per line): (If there is content in this textarea, files will be ignored.)

          Power Options When Complete

          Remove Line Breaks

          Enter text to remove line breaks from below:

          Output

          File Name ↔ URL Converter
          Format For File Names

          NOTE: Naming conventions below do not include file extensions. The conventions below apply to any valid media file extension.

          General File Name Format: AccountName-ID-WhateverElse

          • WhateverElse will be removed as it doesn't matter what comes after the ID.
          • Supported platforms that follow the general convention are as follows:
            • Twitter / X
            • Tumblr
            • Bluesky
            • Threads (An @ symbol precedes every username)
          • Platforms whose formats do not follow this convention will be specified below.

          Bluesky: Underscores are the delimiters in the file name [ _ ]. Otherwise, the naming convention is the same.
          Pixiv: Only IDs matter, with underscores as delimiters in the file name [ _ ]. Otherwise, the naming convention is the same.

          • Bluesky + Pixiv File Name Format: AccountName_ID_WhateverElse

          Instagram: Only the ID matters in the file name, and ~IG~ replaces the dash in the general format. Also, the ID in the format below refers to the POST ID, not the image ID when downloading an image from Instagram. This design is intentional as it's the easiest way to identify the image author!

          • Instagram File Name Format: AccountName~IG~ID~IG~WhateverElse

          Newgrounds: ~NG~ replaces the dash in the general format and the post's name is used instead of an ID. Newgrounds formats may not always work since the account name provided by the image isn't always up-to-date.

          • Newgrounds File Name Format: AccountName~NG~PostName~NG~WhateverElse

          Reddit: Subreddit name, ID and post name matter in the file name. Also, the ID in the format below refers to the POST ID, not the image ID when downloading an image from Reddit. This design is intentional as it's the easiest way to identify the image author!

          • Reddit File Name Format: Subreddit-ID-PostName-WhateverElse

          DeviantArt: Account name, post name and ID matter in the file name.

          • DeviantArt File Name Format: AccountName-PostNameAndID

          FurAffinity: Only IDs matter, with periods as delimiters in the file name [ . ]. Otherwise, the naming convention is the same. Also, the ID in the format below refers to the POST ID, not the image ID when downloading an image from FurAffinity. This design is intentional as it's the easiest way to identify the image author!

          • FurAffinity File Name Format: AccountName.ID.WhateverElse

          Pillowfort: Only IDs matter. Otherwise, the naming convention is the same.

            OR, you can input either all file names or all URLs here (One item per line): (If there is content in this textarea, files will be ignored.)

            Misc Options

            (Useful to disable for custom Bluesky handles or when `bsky.social` is already in the file name. Only applies when converting Bluesky filenames to URLs.)

            What's Optimal Discord Embedding?

            This option only applies when converting file names to URLs. Discord utilizes special variants of social media URLs for better embedding in messages containing links. Here are a few examples:

            • x.com -> fixupx.com
            • bsky.app -> cbsky.app
            • instagram.com -> instagramez.com
            • reddit.com -> vxreddit.com
            • pixiv.net -> phixiv.net
            These links redirect you the same page, so these variants exist purely for better embedding on Discord and other supported platforms.

            Select Conversion Type:

            Select Platform:

            NOTE: If using Instagram, Reddit, Pixiv, FurAffinity, or Pillowfort combined with "URL -> File Name", it's recommended to input the account name below. This field will not be used in any other use case.

            Output
              Remove Non-ASCII

              You can copy a Powershell command, upload files, or enter text to remove non-ASCII characters from below.


                Enter text to remove non-ASCII characters from below:

                Output

                URL Cleaner

                Lorem ipsum dolor sit amet consectetur adipisicing elit. Ut voluptatum aut officia. Dignissimos, molestiae. Molestias delectus ad impedit asperiores sequi nihil, a, quisquam ipsum iure quaerat suscipit ea illo cupiditate!

                Change Letter Case Enter Text to Change:
                Upper Case

                Lower Case

                Invert Case

                Randomize Case
                Click here to view 20 randomized outputs. Choose which variant you'd like, or change text to see different results.
                  Capitalize First Letter of Each Word

                  Set Delimiters for Capitalization




                  (Optional) Set custom delimiters below (One Delimiter per line):

                  Listify Enter Text to Listify:

                  Choose Delimiter:

                  Output