Commit Graph

37 Commits

Author SHA1 Message Date
Ivan Tashkinov
4e4f771082 Adjusted MediaProxyControllerTest to gracefully fail on missing dependencies. Installation docs update.
Added ffmpeg/imagemagick checks to launch checks (if media preview proxy is enabled). Added documentation on installing optional media / graphics packages (imagemagick, ffmpeg, exiftool).
2020-09-26 19:32:16 +03:00
Ivan Tashkinov
7cdbd91d83 [#2497] Configurability of :min_content_length (preview proxy). Refactoring, documentation, tests. 2020-09-17 17:13:40 +03:00
Ivan Tashkinov
a781f41f96 [#2497] Media preview proxy: misc. improvements (static param support, dynamic fifo pipe path), refactoring. 2020-09-16 22:30:42 +03:00
Ivan Tashkinov
68a74d6659 [#2497] Added missing alias, removed legacy :adapter option specification for HTTP.get/_. 2020-09-09 19:30:42 +03:00
Ivan Tashkinov
f170d47130 [#2497] Adjusted media proxy preview invalidation. Allowed client-side caching for media preview. Adjusted prewarmer to fetch only proxiable URIs.
Removed :preview pool in favor of existing :media one. Misc. refactoring.
2020-09-05 20:19:09 +03:00
Ivan Tashkinov
c3b02341bf [#2497] Made media preview proxy fall back to media proxy instead of to source url. Adjusted tests. Refactoring. 2020-09-05 16:16:35 +03:00
Mark Felder
f25b0e87f3 URL passed to helper is already MediaProxy
Set :preview pool on the request
2020-09-03 15:28:57 -05:00
Ivan Tashkinov
60c925380d [#2497] Added support for enforcing output format for media proxy preview, used for avatar_static & header_static (AccountView). 2020-09-03 20:13:29 +03:00
Mark Felder
4ef210a587 Credo 2020-08-30 09:32:22 -05:00
Mark Felder
2d2af75777 Support PNG previews to preserve alpha channels 2020-08-30 09:17:24 -05:00
href
24d522c3b3 QtFastStart: optimize
~4-6x faster
~3~4x memory usage reduction (now mostly adds what we are rewriting in
the metadatas)
2020-08-29 13:05:23 +02:00
href
dfceb03cf4 Rewrite MP4/MOV binaries to be faststart
In some cases, MP4/MOV files can have the data _before_ the meta-data.

Thus, ffmpeg (and all similar tools) cannot really process the input if
it's given over stdin/streaming/pipes.

BUT I REALLY DON'T WANT TO MAKE TEMPORARY FILES

so here we go, an implementation of qtfaststart in elixir.
2020-08-28 21:14:28 +02:00
Mark Felder
3a5231ec8f Keep args construction within video/image scopes instead of mangling down in fifo town 2020-08-27 16:33:37 -05:00
Mark Felder
dd1de994d5 Try to trick ffmpeg into working with this named pipe 2020-08-27 13:10:40 -05:00
Mark Felder
f1218a2b4e ffmpeg needs input from fifo path, not stdin 2020-08-27 12:47:29 -05:00
Mark Felder
ef9d12fcc5 Attempt at supporting video thumbnails via ffmpeg 2020-08-27 12:31:55 -05:00
Mark Felder
697bea0473 Move arg for images to the list so we can reuse these fifo functions for videos 2020-08-26 17:43:25 -05:00
Mark Felder
9567b96c79 Rename to make it obvious this is for images not videos 2020-08-26 16:40:13 -05:00
Mark Felder
2c95533ead Change method of convert using stdout, make progressive jpegs 2020-08-26 15:37:45 +00:00
Mark Felder
d4d1192341 Remove auto-orient; don't use it on previews, only originals 2020-08-26 14:28:25 +00:00
href
bc94f0c6da Use mkfifo to feed ImageMagick 2020-08-26 16:12:34 +02:00
Mark Felder
a136e7e9b5 Try specifying fd0, force jpg out 2020-08-25 18:10:27 -05:00
Mark Felder
afa03ca8e2 Allow both stdin and stdout 2020-08-25 17:36:53 -05:00
Mark Felder
899ea2da3e Switch to imagemagick, only support videos 2020-08-25 17:18:22 -05:00
href
edde0d9b54 Remove newline for linter 2020-08-21 17:40:49 +00:00
href
967afa064b Fix truncated images 2020-08-21 17:02:57 +00:00
Ivan Tashkinov
aa0a5ffb48 [#2497] Media preview proxy: added quality config setting, adjusted width/height defaults. 2020-08-21 08:59:08 +03:00
Ivan Tashkinov
da116d81fb [#2497] Added video preview proxy. Switched from exexec to Port. 2020-08-18 18:23:27 +03:00
Ivan Tashkinov
61180ab6f4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2020-07-02 16:36:54 +03:00
Haelwenn
54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
Unifies all the similar functions to one and simplify some blocks with it.
2020-06-05 14:48:02 +00:00
Ivan Tashkinov
3a1e810aaa [#2497] Customized exexec launch to support root operation (currently required by Gitlab CI). 2020-05-21 21:47:32 +03:00
Ivan Tashkinov
610343edb3 [#2497] Image preview proxy: image resize & background color fix with ffmpeg -filter_complex. 2020-05-21 17:35:42 +03:00
eugenijm
b7fc61e17b Added the ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image via AdminFE 2020-05-21 04:41:42 +03:00
Ivan Tashkinov
1871a5ddb4 [#2497] Image preview proxy: implemented ffmpeg-based resizing, removed eimp & mogrify-based resizing. 2020-05-20 20:26:43 +03:00
Ivan Tashkinov
bbdad85568 Initial implementation of image preview proxy. Media proxy tests refactoring. 2020-05-08 23:06:47 +03:00
Mark Felder
05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Ivan Tashkinov
4b2c29016c [#963] No redirect on OOB OAuth authorize request with existing authorization. OAuth-related refactoring. 2019-06-12 21:30:06 +03:00