niri-la / misskey.niri.la

🌎 An interplanetary microblogging platform 🚀
GNU Affero General Public License v3.0
11 stars 1 forks source link

MediaProxyから画像を2048x2048で提供出来るようにする #192

Open Sayamame-beans opened 1 month ago

Sayamame-beans commented 1 month ago

概要

素で上限を2560にした結果、VRCImageDownloaderが2048までしか対応していないため、Misskeyにリサイズありで上げた画像が読み込めない問題が起きるようになったようです。

The maximum resolution is 2048 × 2048 pixels. Attempting to download larger images will result in an error.

https://creators.vrchat.com/worlds/udon/image-loading/#before-you-begin

Originally posted by @Sayamame-beans in https://github.com/niri-la/misskey.niri.la/issues/182#issuecomment-2121439945

Misskey MediaProxy: https://github.com/misskey-dev/media-proxy/blob/master/SPECIFICATION.md

Misskey内の当該処理部分?

https://github.com/niri-la/misskey.niri.la/blob/5290dcf38f8389afa95c5c34628f763731409119/packages/backend/src/server/FileServerService.ts#L291-L469 https://github.com/niri-la/misskey.niri.la/blob/5290dcf38f8389afa95c5c34628f763731409119/packages/frontend/src/scripts/media-proxy.ts#L10-L53

詳細

この形に沿うと、恐らく<MisskeyURL>/proxy/?url=画像URL&vrchat=1の形式で最大2048x2048まででリサイズした画像を(一定のキャッシュ期間の上で)生成出来る気がします。 ドライブ画面や、ノート上で画像を右クリックした時などに、このURLを提供する項目を生やすと一応実用は出来るようになると思います。

proxyが普段どう使われてるのか全く認識出来ていないのが不安要素です。

目的

2048x2048を上限にした画像を出力出来るようにして、VRChatへの可搬性を上げる。

anatawa12 commented 1 month ago

やるとしたらmisskey本体とmedia proxyを分離してからにしたい

Sayamame-beans commented 1 month ago

分離したい了解