GIF is really terrible as a video format. You can upload actual video with sound on Lemmy (most instances use a 20MB, 900-frame limit, also server-side ffmpeg often times out) or Pixelfed (15MB, unknown frame limit).
Yes, I know you didn’t bother to use an AI or commission an artist to sing the new lyrics but you could mux in an instrumental version (or heck, even just leave the original) for me and others who may remember the melody from the radio but don’t associate it with the music video.
YouTube doesn’t provide GIFs. It provides videos. Conversion to GIF is an unnecessary step. Use yt-dlp, Aegisub and ffmpeg for a FOSS way of downloading a video, trimming it and burning subtitles into it.
The correct way to get someone to move to FOSS is to show them how to do it, not tell them it exists. OP already said they can do the YouTube -> captioned gif in 10min so you need to provide a simple tutorial that identifies the tools to use, how to set them up, and how to create a workflow to achieve the goal of some format with captions in under 10min.
Notice how I explained what was wrong and how to do it? That’s what’s missing from most “you need to use FOSS” posts, including yours.
I thought the average !programminghumor user is already FOSSpilled. Of course you don’t have to use the FOSS tools but they are convenient enough to be able to make this in 10 minutes.
Anyway, the relevant commands are
<span style="color:#323232;">yt-dlp -f </span><span style="color:#183691;">"bv*[height<=480]+ba"</span><span style="color:#323232;"> --no-mtime --convert-subs srt --write-sub https://www.youtube.com/watch</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">v=9SOryJvTAGs
</span><span style="font-style:italic;color:#969896;"># aegisub needs srt; we don't need above 480p
</span><span style="color:#323232;">
</span><span style="color:#323232;">aegisub </span><span style="color:#183691;">"The B-52's - Love Shack (Official Music Video) [9SOryJvTAGs].en.srt"
</span><span style="font-style:italic;color:#969896;"># now go rewrite appropriate lines in gui, apply style and save as "LoveShack.ass"
</span><span style="color:#323232;">
</span><span style="color:#323232;">ffmpeg -i </span><span style="color:#183691;">"The B-52's - Love Shack (Official Music Video) [9SOryJvTAGs].mp4"</span><span style="color:#323232;"> -filter_complex </span><span style="color:#183691;">"[0:v]subtitles=LoveShack.ass[s];[s]crop=w=640[f]"</span><span style="color:#323232;"> -map </span><span style="font-weight:bold;color:#a71d5d;">[</span><span style="color:#323232;">f</span><span style="font-weight:bold;color:#a71d5d;">]</span><span style="color:#323232;"> -map 0:a -ss 49 -t 21 -acodec aac -vcodec libx265 -crf 20 crowdstrike.mp4
</span><span style="font-style:italic;color:#969896;"># crf 20 for generously high quality because file size is small anyway
</span><span style="color:#323232;">
</span><span style="font-style:italic;color:#969896;"># or for Lemmy upload (no sound, WebM to prevent encoding...
</span><span style="font-style:italic;color:#969896;"># ...and subsequent ffmpeg timeout errors; my instance limits uploads to 10 MiB)
</span><span style="color:#323232;">ffmpeg -i </span><span style="color:#183691;">"The B-52's - Love Shack (Official Music Video) [9SOryJvTAGs].mp4"</span><span style="color:#323232;"> -filter_complex </span><span style="color:#183691;">"[0:v]subtitles=LoveShack.ass[s];[s]crop=w=ih/3*4[f]"</span><span style="color:#323232;"> -map </span><span style="font-weight:bold;color:#a71d5d;">[</span><span style="color:#323232;">f</span><span style="font-weight:bold;color:#a71d5d;">]</span><span style="color:#323232;"> -ss 49.5 -t 21 -vcodec vp9 crowdstrike.webm
</span><span style="font-style:italic;color:#969896;"># note that Lemmy instances limit videos to 900 frames (usually 30 s) by default
</span>
I didn’t bother recreating your subtitle and cut timing but I did crop the video to 4:3. The frame rate is doubled and so is the apparent resolution, while the file size is 6x smaller; the Lemmy version is also about 6x smaller but I went for low-bitrate 720p:
We'd have to ask the Supreme Court if that's the case and the way those "super neutral judges" act... maybe we wait until after the election for that one.
Pretty sure SCOTUS carved out the exception for only the president based on their bullshit logic that the president needs to act without waiting a few seconds to consult the president’s army of lawyers waiting on standby 24 hours a day.
Specifically several sitting justices have previous white house administration experience where they had to worry about consulting their lawyers because of the illegal stuff they were doing (like Iran Contra).
Yeah, that’s my point. He lost fair and square, and they refused to believe it and staged an insurrection. If you actually did pull something like that, out in the open, there would be a second civil war.
Use a hand-modified-to-ESM version of SQL.js, which is SQLite in JavaScript.
Get a database ready that SQL.js can query.
Build a Houdini PaintWorklet that executes queries in JavaScript and paints the results back to the screen in that <canvas>-y way that PaintWorklets do.
Pass the query you want to run into the worklet by way of a CSS custom property.
For me it shows as step 5, in Firefox on Android using web browser interface. Also I can view your source which shows as simply “5. Go…”, so it is definitely your app.
It’s not the best UI, but you can also view your comment from a standard web browser, just to see how it looks. The advantage to the web browser is that it is always by definition maximally up-to-date:-) - though its baseline functionality may still be lower than an app if the latter is done well.
Lemmy is fine, it depends on the markdown parser/renderer. Markdown allows you to use any numbers for numbered lists and the renderer is supposed to display them corrected.
This is a Markdown issue really. Starting a line with a number and then a dot turns that line into an item in an ordered list. The most common behaviour (that I’ve seen) is to start that list from 1, regardless of what number is used. The intent is to make it easy to add items later without renumbering everything, for living documents at least.
lemmy.world
Oldest