← 網誌 · 42秒の紹介動画を編集ソフトなしで:動く地図を1フレームずつ計算して撮る

42秒の紹介動画を編集ソフトなしで:動く地図を1フレームずつ計算して撮る

「迷子のペットを探す」のために42秒の短編を作りました。編集ソフトは一度も開かず、画面収録もしていません。映像は1コマずつ計算して出しています。やり方と、途中で失敗した6つの版を書いておきます。

2026-08-31 作者 William Hsu

這篇講什麼
  1. まず完成品
  2. 冒頭の犬は生成したもの。これは先に言っておきます
  3. 地図は画面収録では撮れない
  4. ピンは底図と分けて処理する
  5. ナレーションと音楽も合成
  6. 7版目でようやく完成

まず完成品

構成は単純です。犬の写真 → 写真が地図上のピンに縮む → 地図がズームアウトして案件が増えていく → 台湾全土 → ピンが飛び出してサイトの表紙に並ぶ。

冒頭の犬は生成したもの。これは先に言っておきます

冒頭のダックスフントはローカルの動画生成モデル(MiniMax H3、自宅のグラフィックボードで実行)で生成したもので、 その「迷子案件」は撮影用のブラウザの中にしか存在しません。スクリプトで一時的に地図へ差し込んだだけで、 本番サイトにそのデータはありません。理由は単純で、あのサイトは本物のペットを探すために使われているからです。 偽のデータを混ぜるのは、他人の注意を撮影素材として使うようなものです。見た目はまったく同じで、データベースはきれいなまま。

動画に出てくる他のピンはすべて地図上の実在の通報で、「8千匹以上」も政府オープンデータの数字です。

地図は画面収録では撮れない

いちばん素直なのはブラウザにカメラ移動をさせて画面収録することです。1回試してやめました。 密度を最大にすると画面に写真ピンが400個以上あり、連続ズームでは激しくコマ落ちして、 20秒かけた引きが収録では一瞬で飛んでしまいます。

そこで静止画を撮って繋ぐ方式に。6段階のズームで底図を1枚ずつ撮り(1段ごとに1.68レベル、約3.2倍差)、 その間のトランジションはWeb Mercatorの投影式で自前計算します。各ショットの中心の緯度経度とズームレベルが分かれば、 「前のショットの視野」が「次のショット」のどこに当たるかを算出でき、指数補間で切り出して拡大すれば等速の引きになります。 600フレーム、1枚ずつ書き出しました。

全土まで引いた場面の1フレーム
完成品の1コマ:全土8千件以上の通報。ピンは実際の案件写真のサムネイル

ピンは底図と分けて処理する

最初の版はスクリーンショットをそのまま拡大していて、すぐ指摘が入りました。 地図上のピンは画面上で常に68ピクセル固定で描かれていて、地図の拡大縮小では大きさが変わりません。 スクリーンショット全体を拡大すると、ピンまで大きくなったり小さくなったりして、区間が変わるたびに「脈打つ」のです。

正解は底図とピンを分けること。底図は普通に拡大縮小し、ピンは別に撮って緯度経度から画面位置を換算し、 一定の大きさで1コマずつ貼り戻します。こうすると引いていくとき案件が1個ずつ「湧いて」出てきて、ピンの大きさは常に一定です。

ピンの撮り方はさらに3回作り直しました。どれも人の目で見つかった問題です。

切り抜いたピンのスプライト
最終版のスプライト:722件を1個ずつ切り抜き、影は半透明。どこに貼ってもきれい

ナレーションと音楽も合成

ナレーションはマイクロソフトの台湾男性ボイス(edge-tts)を8%遅くして、映像のタイムラインに1文ずつ合わせました。 音楽はフリー素材を探すつもりでしたが、結局プログラムで合成しました。フェルトピアノ風のアルペジオで、 どの音にもアタックとディケイのエンベロープをつけています。最初の版は純粋な正弦波で、電話のプッシュ音のような唸りでした。 楽器らしく聞こえるかどうかは、エンベロープで決まります。

7版目でようやく完成

この動画は全部で7版出ました。どの問題もプログラムのエラーではなく、人が見て気づいたものです。 隣のピンまで写り込む、影が底図を連れてくる、目撃マーカーがスプライトに混ざる、画質がSDのまま、 最後のナレーション1文を3回書き直し。AIは動画を撮れますが、「ここがおかしい」は全部人が指摘するしかない。 これがこの件でいちばん正直な分業だったと思います。

ツール本体は lazetool.com/lost-pet(中国語)。

這篇文章寫的是本站實際的實作與量測。工具本身在老照片動起來與變老變年輕,都可以直接試。

← 上一篇把警政署每天公告的失物做成能查的地圖:品名藏在一句公文裡、地點只有文字

看其他文章