So I used to be able to save a Redgifs video by navigating to the iframe version of the page, then long-pressing and choosing “Save Video…” Easy. But it seems that that no longer works. Do any of y’all have a workflow for saving Redgifs videos that still does work on Android?

  • Walking Coffin@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 months ago

    If you do not download often or don’t mind the longer time it might take you can do the following.

    Before the URI (URL if you prefer) of the post, put view-source:, you can then proceed to search with the “Find in page” tool, or however it might be named for your android browser. In the case of this site you’ll usually search for mp4 files so just search “.mp4” and you should find the file you want to download.

    Sometimes you might find different file extensions on the same site for the same type of post because the uploader’ files are directly the ones being posted and not converted by the site itself. In this case you can browse the source a little by searching for a potential name of the file or a HTML tag.

    If that is too much of a hassle, I believe applications like Seal (found on FDroid) are able to download from such websites. There’s no reason for it not to since it uses yt-dlp.

    Hope that helps.

    PS: If you decide to use Seal I could share a very fast workflow if it happens to work.

    • briefly_ripe_mango@lemmynsfw.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 months ago

      Thanks for the suggestions! But I get 403: Forbiddens from both approaches. Have you dealt with that at all?

      EDIT: Actually I take it back-- The iframe version of the URLs will 403, but the normal versions (/watch/ instead of /ifr/) work fine. I’m actually pretty interested in your workflow with Seal if you feel like sharing!

      • Walking Coffin@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 months ago

        Setup:

        Download Seal and go to Settings > General. From there click on the update yt-dlp to make sure you’re on the latest yt-dlp build. No head to Custom command > New template. Put your label of choice and in the “Command template” section put in your custom command.

        To create a good custom command I highly recommend you browse TheFrenchGhosty’s Ultimate YouTube-DL Scripts Collection’s Watch on Mobile Devices Script to get an idea of what you would want (I’ll give an example template later on based on theirs).

        Once your command is done click “Done”. If you have not configured the output directory yet, go to Settings > Download directory > Custom command directory (Usually you’ll want this in the Download folder. On android: /storage/emulated/0/Download/<Name-Of-Your-Choosing> Make sure to have “Configure before download” under Settings > General, enabled. From there, exit the app.

        Go to the app you want to download your media from (ie. Browser, Youtube). If you are in a browser, long press the url bar of your link and click “Share”. You will be presented a menu to share the selected link. Long press on the Seal icon marked as “Quick Download”. You will be presented with a way to pin the app. This will allow this specific app you’re in to have Seal be presented right away when you want to share a link and be prompted with the “Configure before download” menu. From there, select “Commands” as “Download type” and click on the template’s label you created earlier. You can now click “Download” and enjoy.

        You could avoid the hussle of setting up a custom command and tweak a few things in the app’s offered options. I just prefer to use my usual commands that I use to download on my phone as well.

        As for the command, here’s a short template I just made from modifying TheFrenchGhosty’s scripts as mentionned above (haven’t tested it but should theoritically work):

        yt-dlp --format "(bestvideo[vcodec^=avc1][height=1080][fps>30]/bestvideo[vcodec^=avc1][height=1080]/bestvideo[vcodec^=avc1][height=720][fps>30]/bestvideo[vcodec^=avc1][height=720]/bestvideo[vcodec^=avc1][height=480][fps>30]/bestvideo[vcodec^=avc1][height=480]/bestvideo[vcodec^=avc1][height=360][fps>30]/bestvideo[vcodec^=avc1][height=360]/bestvideo[vcodec^=avc1][height=240][fps>30]/bestvideo[vcodec^=avc1][height=240]/bestvideo[vcodec^=avc1][height=144][fps>30]/bestvideo[vcodec^=avc1][height=144]/bestvideo[vcodec^=avc1])+(bestaudio[acodec^=mp4a]/bestaudio)/best" --force-ipv4 --sleep-requests 1 --sleep-interval 5 --max-sleep-interval 30 --ignore-errors --no-continue --no-overwrites --add-metadata --parse-metadata "%(title)s:%(meta_title)s" --parse-metadata "%(uploader)s:%(meta_artist)s" --no-write-description --check-formats --concurrent-fragments 4 --output "%(title)s - %(uploader)s (%(upload_date)s).%(ext)s --merge-output-format "mkv" --throttled-rate 100K

        Not all the info here is relevant for each use cases but I hope this gives ideas and helps even a bit.