abox.tools

言語: 日本語

動画の1コマを画像として保存する方法

プレイヤーを止めてスクリーンショットのキーを押すと、手に入るのは「窓の絵」です。それで足りることもあります。ここでは何がどう違うのか、そして本当に必要なときにコマそのものを取り出す方法を説明します。

動画のコマ切り出しを開く どの瞬間でも、画質を落とさずに1枚。

Markdownで表示

短い答え

動画のコマ切り出しを開き、動画をドロップし、場面を探してこのコマを切り出すを押します。ダウンロードに落ちてくるのは、動画そのものの解像度のコマです。4Kの動画なら3840 × 2160で、ページ上のプレビューがどんな大きさだったかは関係ありません。

ファイルの大きさが問題にならないかぎり、形式はPNGのままで結構です。このページの残りは、いま書いた2文がスクリーンショットとどう違うのか、そしてその違いを気にする価値があるのはいつか、という話です。

一時停止した画面のスクリーンショットが別の絵である理由

やり方は誰でもすでに持っています。止めて、スクリーンショットのキーを押して、操作パネルを切り落とす。それで動きますし、さっと共有するだけならちょうどよい手間です。ただしその時点で、絵には4つのことが起きていて、どれも取り返しがつきません。

コマ切り出しはその4つをすべて飛ばします。ファイルが実際に持っているコマを展開して、その画素をそのまま書き出すからです。絵の大きさは動画の大きさで、その上には誰も描いていません。

狙ったコマに止める

ここが、多くの道具が黙って間違えるところです。どの道具についても、何を見ればよいかを知っておく価値があります。

動画は、見る順に並んだ写真の帯ではありません。ほとんどのコマは、他のコマとの差分の記述として保存されていますし、Bフレームのあるファイルでは、保存されている順序は表示される順序ではありません。プレイヤーをある時刻へ飛ばして出てきたものを掴む道具は、そのプレイヤーの丸め方に振り回されます。「1コマ進む」を30分の1秒を足すことで済ませる道具は、ちょうど30 fpsでない動画すべてで間違えます。つまりスマートフォンの動画のほとんどで間違えます。明るさに応じてコマ数を変えるからです。

抜け道は、ファイル自身が持つコマの一覧を読み、その中の位置でコマを指すことです。MP4なら、ここの道具はそうしています。つまみは1目盛りで1コマ動き、矢印キーも1コマ動き、数えたうえで「3,540コマ中の812コマ目です」と言えます。直接読めない形式ではそう表示したうえで、ふりをせずにおよそ1コマずつ動かします。

どのコマ切り出しにも使える手早い試し方があります。動きの速い場面で数コマ進めてみてください。絵がときどき変わらなかったり、2コマ飛んだりするなら、その道具は時刻から当て推量をしています。

フレーム探しの画面。タイムコードが焼き込まれた静止画、スクラブバー、コマ送りボタン、そして正確な時刻とフレーム番号の欄。
狙ったフレームに着地する方法は、1コマずつ進めることです。時刻もフレーム番号も同じ一枚を指していて、どちらも打ち込めます。

どの形式で保存するか

実質的な答えは3つしかなく、選び方はその絵が次に何をされるかで決まります。

はっきりさせておきたいことがひとつ。動画から取り出したコマは、すでに圧縮された絵です。PNGで保存してもそれは取り消せませんし、撮影時にコーデックが捨てた細部が戻るわけでもありません。PNGが買ってくれるのは、二度は捨てられない、ということです。あとで色を整えたり切り抜いたりするなら意味があります。誰かに送るだけなら、ありません。

まとめてたくさん切り出す

数秒おきに1枚というのは、ある瞬間の1枚とは別の仕事です。そして思ったよりよくある仕事でもあります。長い録画の一覧、表紙を選ぶための候補、撮影を通してピントや露出を確かめるための等間隔の見本などです。

間隔を決めて連続の実行を押すと、道具は動画を一度たどりながら、目印ごとに1枚ずつ取り出します。実際的な注意が2つ。長い動画では間隔を大きめにしてください。1時間の素材から毎秒1枚なら3,600枚になります。だからこそ、ここでは1回の実行を500枚で打ち切ります。もうひとつ、理由がなければJPEGを選んでください。4KのPNG 100枚は、1枚も落とさないうちにページが1ギガバイト近くを抱えることになります。

結果はZIPひとつにまとめて返り、名前はタイムコードなので、起きた順に並び、どの1枚も動画の中で見つけ直せます。

同じ映像から取った3枚の静止画がサムネイルと時刻付きで並び、まとめて保存するボタンがあります。
何枚か取っておいて、選ぶのは後回しで構いません。保存するまではページの中にとどまり、保存はボタンひとつです。

縦向きの動画と、おなじみの横倒しの静止画

スマートフォンの動画からコマを取り出したら横倒しだった、という覚えがあるなら、理由はこれです。スマートフォンは横向きで記録し、画素を回す代わりに4分の1回転をファイルに書き込みます。プレイヤーはその回転を読んで適用しますが、画素しか読まない道具は適用しません。結果は、正しい瞬間のまったく問題のない絵が、90度回った状態で出てきます。

ファイルに悪いところはありませんし、あとから回し直しても失うのは手間だけです。ここの道具はトラックから回転を読み、描く前に適用するので、縦向きの動画からは縦向きの絵が出てきます。

取り戻せないもの

静止画は、元になったコマ以上にはなりません。そしてそれを縛るものが、道具に関係なく2つあります。

被写体ぶれはコマの中にあります。露光のあいだ被写体が動いていたなら、その動きのコマはどれもぶれていて、中に鮮明なコマは見つかりません。直す道はシャッター速度を上げて撮ることだけで、それは撮影より前に決まります。

圧縮もコマの中にあります。動画は写真よりはるかに強く圧縮され、キーフレームのあいだのコマではさらに強く圧縮されます。静止画がブロック状に見えるなら、前後に1、2コマ動かしてみてください。キーフレームは丸ごと保存されていて、隣のコマよりはっきりきれいなことがよくあります。

そのあと大きさや形を変える必要があるなら、それは別の工程にしてください。画像リサイズツールが拡大縮小と切り抜きと変換をこなしますし、そのガイドにそれぞれの代償を書いています。

これにアップロードが要らない理由

ブラウザの中で動画を展開するのは新しい話で、そして本物です。WebCodecsは、あなたのスマートフォンが動画の再生に使っているのと同じハードウェアのデコーダーを使えるようにします。作業は、そのファイルをすでに持っている端末で起きます。数ギガバイトの動画にとっては、それが唯一まともな段取りでもあります。1時間の4Kを送りつけて8 MBの絵を1枚返してもらうのは、どちらから見ても割の合わない取引です。

ここの道具にはネットワーク機能が一切なく、ページのContent-Security-Policyには接続してよいアドレスがすべて書かれていて、そのどれもこのサイトのものではありません。言葉より確認という方は、回線を抜いてからコマを切り出してみてください。

ファイルをアップロードしても大丈夫かでは、どんな道具にも試せる確認をさらに3つ挙げています。