Add federation of thumbnail/preview images
Pleroma does not (yet) do any image or video transcoding. This means we are always serving the original media that is being uploaded unless someone adds additional parameters to their Mogrify uploader plugin (images), but we don't support anything for videos (e.g., ffmpeg) yet. This is coming soon.
Additionally, Pleroma does not store remote media and I do not expect this to change. I hope we won't ever do media transcoding/conversion of remote media either due to security -- even if we only stored content in a temporary cache.
When we do support thumbnail generation from media uploads the local users on an instance will get access to this via preview_url
in Mastodon API or large_thumb_url
for Twitter API. This is working successfully in a test environment -- Mastodon apps and the PleromaFE handle this gracefully with only minor changes to Pleroma code.
The problem arises in the Federation of content. It doesn't make sense that a local user on an instance gets a completely different experience from a remote user. I am proposing that we add a new field to federation that provides the URL to the thumbnail image. Pleroma should support ingestion of this field as well.
One side effect of this is a decrease in resource usage as users who do not expand the media content or play a video will only be requesting a small thumbnail image from the originating server. This can cause a significant reduction in bandwidth.
It would be wise for us to engage Mastodon and ask them to federate the same field. They do not have to process or use it themselves, but it would allow Pleroma instances in the federation to cause less strain on Mastodon servers than they currently do. In fact, the sooner they implement the better as it could quickly become a win for the entire fediverse.
The current request is that we add this field immediately and point it to the originating content. Mastodon API clients play nicely and will not make duplicate requests if preview_url
matches url
or remote_url
in my testing. We can easily add the same logic to PleromaFE.
edit: minor edits/clarification