Misskey: Optimize videos and gif images

Created on 2 Feb 2019  ·  17Comments  ·  Source: syuilo/misskey

Summary

FFmpegが依存関係に導入されたので、ついでにGIF画像や動画ファイルを表示用に最適化された動画ファイル(要議論)に変換して通信量の削減を図りたい。


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

☁️Drive ⚙️Server 💬Discussion

Most helpful comment

  • ドライブという機能を提供している以上、アップロードしたファイルをあまり改変したくないところがあります。
  • また、動画は最初は自動再生はされずにサムネイルが表示されるだけなので、それほど影響ないのではと思います。
  • アニメーションgif=>mp4などの、形式変換を行ってしまうとその形式の画像が上げられなくなります
    (てゆうか、これMastodonにある大嫌いな機能)
  • 負荷

なので、ユーザーが上げたものは極力変換したくないです。

All 17 comments

  • ドライブという機能を提供している以上、アップロードしたファイルをあまり改変したくないところがあります。
  • また、動画は最初は自動再生はされずにサムネイルが表示されるだけなので、それほど影響ないのではと思います。
  • アニメーションgif=>mp4などの、形式変換を行ってしまうとその形式の画像が上げられなくなります
    (てゆうか、これMastodonにある大嫌いな機能)
  • 負荷

なので、ユーザーが上げたものは極力変換したくないです。

それもそうですね。「ファイルの最適化」というドライブの機能の一つとして実装するのはどうでしょう。

ふーむ それはあまり需要がなさそう

misskey.xyzなどの高容量を許容するインスタンスではあまり需要はないかもしれないが、そうでないインスタンスなどでは需要が発生しそう。

アニメーションGIF/PNGなんかはstatic版を用意して使うなどしたほうがよさそう #2996 #2175

Related to #3969

Related to #2098

It would definitely help to reduce traffic if misskey would convert/compress files uploaded. Perhaps this could be an instance wide configuration option so it can be disabled if traffic isnt a problem?

edit:
or, misskey could keep the originals and produce compressed versions in addition, allowing users to decide whether compressed, faster loading files, are acceptable to them or not

これやっぱり iOS ユーザーが画面録画を MOV で投稿して閲覧不可とかあるのでやりたい。

あと WebM でこれの逆が発生する。

今更ですが

misskey.xyzなどの高容量を許容するインスタンスではあまり需要はないかもしれないが、そうでないインスタンスなどでは需要が発生しそう。

のようなインスタンスはFFmpegで動画等を変換するスペックもないのでは

ストレージとマシンスペックは別なのでは?

そのぐらいのストレージしか用意できないってことはマシンスペックも相対的に下がるのではって話です。

もちろん極端にストレージだけ少なくて、マシンスペックの高いインスタンスもあるでしょうが、殆どはVPSやクラウド等で運用されていると思うのでストレージにお金が出せない管理者のインスタンスは相対的にマシンスペックも下がると思います。

まあそれはそうですね。ぶっちゃけストレージの件は Outdated な話題なので、どちらかというとコーデックと再生可能なデバイスの関係に視点を置いた方が良いかも知れません。

あと、代案としてはAWS Elemental MediaConvert等の外部サービスに対応する等ですかね
まぁこれもそれなりにお金が掛かるので、小規模インスタンスの運営者にとっては厳しいかもしれませんが。
https://aws.amazon.com/jp/mediaconvert/

うーん、まあ小規模インスタンスなら Transloadit の無料枠とかで事足りそうではあると思うのですが。

そんなサービスがあったんですね

あとはいくらスペックの高いインスタンスでも流石に動画の変換はサーバー全体に負荷がかかるので、FFmpegだけ別で実行できるシステムを組んだほうが良さそうな気がしますね。
(Summaly proxyみたいな形で)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AyaMorisawa picture AyaMorisawa  ·  3Comments

syuilo picture syuilo  ·  3Comments

ibrokemypie picture ibrokemypie  ·  3Comments

tosuke picture tosuke  ·  3Comments

tamaina picture tamaina  ·  3Comments