Skip Navigation

Posts
54
Comments
565
Joined
1 yr. ago

  • Fun fact: Like humans, other mammals like cows do not constantly produce milk year round. They only produce milk after having been pregnant. So, to keep cows producing, they are forcibly artificially inseminated year round. After giving birth each time, it is not financially viable to raise the constant stream of offspring, so the calves are simply slaughtered. So, while the animal producing the milk does not die, in a roundabout way, death is still a byproduct.

  • Looks like the issue is the fact that it is GIFV, which apparently isn't an actual file type. Simply removing the v at the end of the URL makes it work just fine in Voyager. All of this is odd, because searching the issues in the repo, Voyager supposedly does support GIFV 🤷

    https://github.com/aeharding/voyager/issues?q=++gifv+

  • KETRACEL GREEN IS PEOPLE

  • Ah, I see it was a Reddit link. negativenull posted a Lemmy copy of the exact same image in a comment further down this post:

  • The fiercest warriors defend their honour using GIMP (Glorious Image Manipulation Program).

  • This GIF has been on my todo list for months. May as well make it now

  • Maybe you read my report

  • OpenSCAD?

  • Ongo Gablogian does already sound like an alien name

  • Best we can do is "Sr. Ensign in Charge of the Other Ensigns"

  • Not every vessel gets a Hoshi

  • To bet (someone) credits to navy beans meant to put up something of high value against an equal number of relatively worthless items. Metaphorically, it indicated one's strong belief that the statement which followed was true.

    A Federation variation on "dollars to doughnuts", this referred to wagering something of value against something relatively worthless – in other words, "I'll bet you anything…"

    In 2267, DeSalle was willing to bet credits to navy beans that using USS Enterprise's impulse engines to crash the starship into a force field surrounding them could at least manage to put a dent in it, if not break through it. (TOS: "Catspaw")

    https://memory-alpha.fandom.com/wiki/Economic_parlance

    I have to look up basically every English idiom that I come across, so this had not necessarily struck me as odd

  • Well you definitely missed out on the shock of the introduction of Fat Mac!

  • This GIF is from the new Section 31 film. The advert is the Paramount+ promotional clip released last week, which is a crossover between Star Trek and Spongbob: https://lemmy.world/post/28662901

  • Another helpful resource would be gif-template.kdenlive from my 30 Rock GIF repo below. This will not work exactly as you need, as that project file is made for a 1920x1080 source video and Section 31 is 1920x800 or whatever. But if you are new to Kdenlive, it might help you understand effects and keyframes.

    https://codeberg.org/saworden/30-rock-gifs

  • Yes, I make these with Kdenlive! I have been putting off finishing the tutorial I have been working on creating, but in short:

    1. Import video into Kdenlive
    2. Use Title Clips to add text
    3. Use various Effects (mainly Transform) to animate the text
    4. Render as MP4
    5. Use ffmpeg to convert the MP4 to WEBP or GIF
    6. Use gifski and gifsicle to further compress the GIF (the WEBP is fine as-is)

    Here is a bash script that I wrote to use ffmpeg/gifski/gifsicle to convert all MP4 files in the current directory:

      bash
        
    #!/usr/bin/env bash
    
    #prerequisites:
    #  ffmpeg
    #  gifski
    #  gifsicle
    
    # creates animated images out of all MP4 files
    # in the working directory, as well as creating
    # a thumbnail out of one frame
    # if argument passed to script, the thumbnail
    # will be created out of that frame, but none of
    # the animated files will be created
    
    # pass an argument to this script to specify
    # which frame to use as the thumbnail
    # if none passed, use default
    if [[ $1 == "" ]]; then
        frame=0.85
    else
        frame=$1
    fi
    
    # frame passed must be decimal < 1.0 and >= 0.0
    if ! ([[ $frame =~ 0\.[0-9]+ ]]); then
        echo frame passed: $frame
    else
        # loop through all MP4 files in directory
        for file in *.mp4
        do
            # only proceed if file found
            if [[ $file != *"*"* ]]; then
                # create paths
                input_path=$(pwd)/"$file"
                output_path_animated=${input_path%.*}.webp
                output_path_animated_low=${input_path%.*}-low.webp
                output_path_gif=${input_path%.*}.gif
                output_path_thumb=${input_path%.*}_thumb.webp
    
                # determine the exact frame to use as thumbnail
                frames_total=$(ffprobe -v error -select_streams v:0 -count_packets -show_entries stream=nb_read_packets -of csv=p=0 "$input_path")
                thumb_frame=$(awk -vnumber="$(awk -v var1=$frames_total 'BEGIN { print (var1 * '$frame') }')" -vdiv="1" 'function ceiling(x){return x%1 ? int(x)+1 : x} BEGIN{ print ceiling(number/div) }')
    
                # if argument had been passed to script, skip creating
                # animated images and ONLY create thumbnail
                if [[ $1 == "" ]]; then
                    #full webp
                    ffmpeg -y -hide_banner -loglevel error -i "$input_path" -vcodec libwebp -lossless 0 -loop 0 -preset default -an -fps_mode passthrough -vf "fps=25, scale=-1:500" -quality 80 "$output_path_animated"
                    #low webp
                    ffmpeg -y -hide_banner -loglevel error -i "$input_path" -vcodec libwebp -lossless 0 -loop 0 -preset default -an -fps_mode passthrough -vf "fps=15, scale=-1:270" -quality 10 "$output_path_animated_low"
                    #low gif
                    ffmpeg -y -hide_banner -loglevel error -i "$input_path" -f yuv4mpegpipe - | gifski --quiet --height=270 --fps 10 --quality=50 --lossy-quality 50 -o "$output_path_gif" -;gifsicle -O3 --lossy=200 --colors 256 -o "$output_path_gif" "$output_path_gif"
                fi
                #thumb
                ffmpeg -y -hide_banner -loglevel error -i "$input_path" -vf "select=eq(n\,$thumb_frame), scale=-1:270" -c:v libwebp -quality 50 "$output_path_thumb"
    
                echo $input_path
            else
                echo MP4 not found
            fi
        done
    fi
    
      

    EDIT: I finally completed my tutorial! Posted here: https://feddit.org/post/11802992

    @Thebeardedsinglemalt@lemmy.world @MalikMuaddibSoong@startrek.website