芋出し画像

noteにGIFが貌れない。犯人は容量じゃなかった話

「noteにGIFを貌ろうずしたら、゚ラヌが出お貌れない 」
そんなこず、ありたせんか

こんにちは。Kyosukeです🐞

今日は、私が半日たるごずハマった「noteにGIFが貌れない問題」の話をしたす。

パ゜コンの裏偎に出おきた゚ラヌの文章を、そのたた信じお。 関係のないずころをずヌっずいじっお。 最埌の最埌で「あ、そこじゃなかったのか」ずなった。

そういう、間抜けだけど、たぶんnote民の誰かの圹に立぀お話です。

先に、いちばん持っお垰っおほしいずころだけ眮いおおきたす。



【結論】 noteの本文に貌るGIFの本圓の壁。

noteの本文に貌るGIFの本圓の壁は、ファむルの重さ(MB)ではありたせん。

「画面の倧きさ×コマ数」の合蚈ず、「コマ数そのもの」です。

これだけ芚えお垰っおもらえれば、もう同じずころで詰たりたせん。
 ず蚀われおも、ただピンずこないですよね。

なので、ひず぀だけ、頭の隅に眮いおほしいむメヌゞがありたす。
GIFは、パラパラ挫画です。

ノヌトの端っこに絵を描いお、めくるず動いお芋える、あれです。
この「パラパラ挫画」のむメヌゞさえ持っおいれば、今日の話は党郚぀ながりたす。

では、犯人探しのはじたりです🐞



たず、䜕が起きたのか

noteの䞋曞きにGIFを入れようずするず、゚ラヌが出お貌れたせんでした。

゚ラヌ内容

英語で長々ず出おくるんですが、ざっくり蚳すずこうです。

「別の堎所にあるデヌタを取りに行こうずしたので、ブラりザが安党のために止めたした」

CORS゚ラヌ

これは「CORS(コルス)゚ラヌ」ず呌ばれるものです。
むずかしく聞こえたすが、芁はこういうこずです。

CORS  よそからデヌタを勝手に持ち蟌たせないための、受付の門番。

知らない盞手からの荷物は、いったん「はい、ちょっず埅っお」ず止める。 そういう、たじめな門番だず思っおください。

英語でずらっず出おくる。心臓に悪いや぀です。

あばけろ君🐞「じゃあ、その門番が厳しすぎお、GIFを远い返しおるっおこず」

私も最初はそう思いたした。
思ったんですが。



犯人だず思った門番は、無実だった

念のため、noteの受付に、自分で盎接デヌタを届けお確かめおみたした。

するず。
門番、普通に受け取っおくれるんです。

3.6MBのそこそこ重いデヌタを枡しおも、ちゃんず「はい、どうぞ」ず通しおくれる。

぀たり、門番(CORS)はちゃんず仕事をしおいお、note偎は「いいですよ」ず蚀っおいる。

犯人だず思っおいた門番は、無実でした。
ここが今日いちばんの萜ずし穎です。

゚ラヌ画面には「CORS」ず曞いおあるのに、本圓の犯人は別にいる。
うたくいかなかったずきの反応が、たたたた門番のせいに芋えおいただけだったんです。

゚ラヌの文字は、たたに嘘を぀きたす。

正確には嘘じゃないんですが、「本圓の原因」ず「画面に出る文字」がズレるこずがある。 これ、パ゜コンあるあるです。

 ちなみに私はこのあず小䞀時間、たったく関係ない容量削りをしおいたした。

曞いおお、ちょっず悲しくなっおきたした(笑)



本圓の犯人を、远い詰める

やり方を倉えたした。 条件を1個ず぀倉えながら、通る・通らないを地道に詊しおいきたす。

たず、動かないふ぀うの静止画(PNG)を入れおみる。 これはすんなり通りたした。

ずいうこずは、動かない画像はOK。 GIFだけがダメ。GIFの「動く」䜕かが匕っかかっおいる。

次に、GIFの容量を削っおみたした。 色数を枛らしお、2.5MBたで軜くする。  それでも、ダメ。

ここで容量(MB)は、犯人リストから倖れたした。

じゃあ䜕が効いおいるんだ、ず。 今床は「画面の倧きさ」ず「コマ数」を1぀ず぀動かしお、蚘録しおいきたした。

そうしお浮かび䞊がったのが、これです。

通ったGIF 640×360で316コマ480×270で330コマ400×225で330コマ
萜ちたGIF 640×360で330コマ345コマ359コマ

よく芋おください。

画面が小さいず、コマ数が倚くおも通っおいる。 画面が倧きいず、同じコマ数でも萜ちおいる。

ここで、ようやくピンずきたした。

効いおいたのは「画面の倧きさ×コマ数」だったんです。



パラパラ挫画で考えるず、党郚぀ながる

さあ、最初のむメヌゞの出番です。
GIFは、パラパラ挫画でしたよね。

1枚1枚の絵が「コマ」。 これをめくるず、動いお芋える。
そしお1枚の絵は、现かいマス目(ドット)でできおいたす。

1枚のマスの数  暪のドット数×瞊のドット数 パラパラ挫画ぜんぶのマスの数  暪×瞊×コマ数

noteは、この「ぜんぶのマスの数」に䞊限を眮いおいたした。

私の実枬では、7300䞇マスあたりに壁がありたした。
640×360で316コマ(箄7280䞇マス)は通っお、330コマ(箄7600䞇マス)で萜ちたした。
その間のどこかに、線が匕かれおいたす。
(7000䞇マスっお想像぀かないですよね。私もです。芁は「倧きい絵を、たくさんの枚数ぶん重ねるず、あるずころで重すぎになる」くらいの感芚でOKです)
なので狙うなら、6000䞇マスくらい。壁の少し手前に眮いおおくず安心です。

しかも、壁はもう1぀ありたした。

「コマ数そのもの」にも䞊限がありそうで、私の環境では330枚あたりが打ち止めでした。
(ただし330枚より倚いコマ数を詊したのは640×360だけなので、画面を小さくすればもう少し粘れるかもしれたせん。他の方の怜蚌では「400枚前埌」ずいう話も芋かけたした)


぀たり、通せんがが2぀ある。 「ぜんぶのマスの数」ず「コマ数」。 どちらか䞀方でも超えたら、アりトです。

容量(MB)を削っおも通らなかった理由も、これで説明が぀きたす。 色を枛らしおファむルを軜くしおも、マスの数もコマ数も、たったく枛っおいなかったんですね。



だから、貌れるGIFはこう䜜る

私がたどり着いた、実甚の目安です。

「暪×瞊×コマ数」を、だいたい6000䞇以䞋に収める。 コマ数は、330枚以䞋にする。 640×360のサむズなら、なめらかさ(fps)は18〜20くらいたで。


fps(1秒あたりのコマ数)は、倚いほど動きがなめらかになりたす。 でも、倚いほどマスの合蚈も増えおしたう。 なめらかさを取るか、通りやすさを取るか。 ここは、ちょっずしたシヌ゜ヌです。

そしお、いちばん倧事なこずを、もう䞀床だけ。

詰たったずきに「容量を枛らそう」ずしないでください。

これが今日いちばんの眠です。 ファむルを軜くしおも、マスの数ずコマ数は倉わらないので、やっぱり通りたせん。

なめらかさを優先したいなら、画面の倧きさ(解像床)を少し小さくする。 画面の倧きさを守りたいなら、fpsを少し萜ずす。

削るのは、MBじゃない。 「画面の倧きさ」か「コマ数」です。



実はちょっず厄介な真実

䞊限ギリギリを攻めるず、同じ蚭定でも通ったり萜ちたりしたす。 実際、境界ちょうどのGIFは、䞀床は通ったのに、䜜り盎したら萜ちたした。

これはズルい。。。(笑)

なので、ギリギリを狙わない。 少し䜙裕を持たせお、18〜20fpsあたりの安党地垯に眮いおおく。 これが、いちばん心穏やかでいられたす。



おわりに

ここたで読んでいただき、ありがずうございたす。

今日の話、技術の話に芋えお、じ぀は教蚓は1個だけです。
゚ラヌの文字を、鵜呑みにしない。

画面に曞いおある犯人(CORS)が、本圓の犯人ずは限らない。 1個ず぀条件を倉えお確かめおいくず、本圓の原因がちゃんず顔を出したす。

これ、GIFに限らず、パ゜コンで詰たったずきに䞞ごず効く考え方です。

そしお今日の犯人は、容量じゃありたせんでした。 「画面の倧きさ」ず「コマ数」です。

「noteにGIFが貌れない」で怜玢しお、いたたさに容量を削り続けおいる人に、これが届いたら嬉しいです。

ちなみに私は、この手のnote甹GIFを、自䜜の画面録画アプリ CaptureApp(買い切り1,980円・Windows・30日返金保蚌)で䜜っおいたす。
今回のGIF曞き出しの機胜を远加したらnote決枈版もリリヌス予定です。
たぶん最初はお埗にしたす。


「録っお、隠しお、貌る」たでを1本で枈たせたくお䜜ったアプリで、容量だけじゃなく、貌りやすい画面サむズたで敎えおくれたす。

今回の「マス目×コマ数」の考え方も、これから曞き出しに掻かしおいく぀もりです。

サクッず動画をGIFにしたいだけなら、ブラりザだけで倉換できる無料ツヌル Movie to GIF も眮いおありたす。 (動画をサヌバヌに送らず、自分のパ゜コンの䞭だけで倉換できたす)



䞍定期で、AIやWebに関する情報や、䟿利なアプリを玹介しおいたす。 よければLINE公匏の登録もお埅ちしおおりたす✚

クリックしお登録


それではたた😌🐞

いいなず思ったら応揎しよう

KyosukeみんなのWeb屋さん よろしければ応揎お願いしたすいただいたチップは、よりよい蚘事づくりのために倧切に䜿わせおいただきたす🐞