Video posts totally work on Lemmy. However, the video must be on the "free and open internet". Allow me to explain.
Lemmy, like Reddit, only allows for text posts and link posts. You can make "media posts" because most instances will allow media upload via a pict-rs server running on a subdomain, seamlessly creating a link post when you do.
However, this only applies to media you can obtain a direct link to. Other than instance-specific* pict-rs, the only major public sites that allow direct URL hosting are Catbox and GitHub. We don't have deals with major video hosting sites like YouTube, TikTok, v.redd.it, imgur etc. to embed videos when someone posts a link to the website the video is hosted on. Therefore, any link posts will have to be opened as an external website, which is very annoying indeed, especially for the aforementioned JS-heavy sites (unless the other user has an alternative frontend app such as Piped or NewPipe set up).
* Instance shenanigans: Some instances impose a very small size limit to uploads or only allow them a certain time after account creation (both for lemm.ee for instance). You won't usually see admins sharing what restrictions they put in place, but we can get a good guess from the defaults (error 502 currently, see archive). These defaults remain unchanged by many instance admins and the TL;DR is:
Applies to any media
- 10 MiB limit
Static pictures
- 10000x10000 or 40 MP
- all major formats (
webp
,jpg
,png
,jxl
)
Animated pictures (colloquially known as gifs)
- 1920x1920 or 2.08 MP (basically 1920x1080 in either orientation)
- all major formats (
webp
(recommended),apng
,gif
,avif
)
Videos
- 3840x3840 or 8.3 MP (basically 3840x2160 in either orientation)
- 900 frames (that's like 30-40 seconds but you can get longer with something like a VFR slideshow)
- no sound, I think
- all major formats supported but unless it's VP9 in a WebM container, it will be transcoded by the server and the timeout of the ffmpeg operation is like 15 seconds! This means that it's practically impossible to upload any but the shortest videos unless they're VP9 in WebM already!
You can see that video upload is very limiting! If you're tech-savvy you can get a lot out of the 10 MiB and 900 frames but you need some ffmpeg skills. Therefore, your best bet is uploading to catbox.moe or GitHub (via a repo and using https://raw.githubusercontent.com/yourUsername/repoName/branchSuchAsMain/imagePath.png
or the issue loophole (max 25 MiB)), obtaining a direct link to the file and pasting it as a link post URL. Or just paste the YouTube, TikTok, v.redd.it, imgur etc. URL and deal with the fact people will have to open the heavy website (or their alt-frontend app like NewPipe).