〰️

【Twitter】新年早々無職がTwitterにうpするmp4/gif動画のフレームレート最適解をシコシコ検証した結果wwwwwwwww

2023/01/29に公開

検証環境/前提条件

  • 今回、高画質化については未検証のため言及しない
  • 検証に使用した謎のサンプル動画

Animation.gif

サンプル動画の詳細

大きさ 600×600、210×210[px]
長さ 3.9[s]
ビットレート 100~2000kbps前後(適当)
コーデック H.264
色空間 Yuv
クロマサブサンプリング 4:2:0

動作環境

OS Windows10 64bit 22H2
ブラウザ GoogleChrome

Chromeバージョンは 108.0.5359.125(Official Build)

.mp4(H.264)

最大フレームレート

H.264動画を極限までぬるぬる表示したい場合、62.5fps未満の最大フレームレート(62.49fps等)でエンコードすると良い。
62.5fps以上のフレームレートの動画を添付してツイートボタンを押すとTwitterから応答が帰ってこなくなる。

また、一度Twitterにアップロードした動画を再ダウンロードして確認したところ、アップロード時のエンコードによって縦横の大きさ、フレームレート共に変化は無かった。(画質は劣化したが)

.mp4(H.265)

そもそも非対応っぽい
添付してツイートボタンを押すとTwitterから応答が帰ってこなくなる。

.gif

表示パフォーマンスを維持できる最大フレームレート

最適解は50fps
フレーム間隔で言えば20[ms]

51fps以上でエンコードすると、Twitterの表示上で露骨にフレームレートの低下が見られた。
逆に49fps以下ではそこまで大きなズレは見られなかったが、gifフォーマットの仕様上フレーム間隔は10[ms]単位である筈なので、それ以外の中途半端な設定でエンコードした際にフレーム間隔が実際にどうなるかは、各エンコーダの仕様次第と思われる(未確認)。

参考までに、下記サイトでもブラウザ毎のgifの表示フレームレートについて言及されている。
IEはもう死んだので50fpsが最適解と考えて良いだろう。

https://at.sachi-web.com/blog-entry-712.html#toc3

注意事項

  • 今回の検証は2023年の元旦に無職が適当に試した内容であり、他の環境でも同様の結果となる保証は無い。当然、今後Twitter側の仕様が変わる可能性は大いにあるため、参考程度に留めておくことを推奨する。
  • 今回検証に使用した動画は約4秒と極端に短いため、再生時間の長い動画で同様の結果となるかは未検証であることに留意されたい。

Discussion