← 網誌 · 42 秒的宣傳片,沒開過剪輯軟體:用 AI 逐幀拍一張會動的地圖

42 秒的宣傳片,沒開過剪輯軟體:用 AI 逐幀拍一張會動的地圖

幫找回毛孩做了一支 42 秒的短片。全程沒有開過剪輯軟體,也沒有錄過螢幕:畫面是程式一格一格算出來的。這篇把做法寫下來,包括中間做壞的那六版。

2026-08-31 作者 William Hsu

這篇講什麼
  1. 先看成品
  2. 開頭那隻狗是生成的,這件事要先講
  3. 地圖不能用錄的
  4. 圖釘要跟底圖分開處理
  5. 旁白與配樂也是合成的
  6. 七個版本才定稿

先看成品

結構很簡單:一隻狗的照片 → 照片縮成地圖上的一個圖釘 → 地圖拉遠、案件湧現 → 全台灣 → 圖釘飛出去排成網站的封面。

開頭那隻狗是生成的,這件事要先講

片頭的臘腸狗是本機的影片生成模型(MiniMax H3,跑在自己家的顯示卡上)生成的,牠的「走失案件」只存在於錄影用的瀏覽器裡—— 用一段腳本臨時插進地圖,正式網站沒有這筆資料。原因很直接:那個站有人在用來找真的毛孩,塞一筆假資料進去, 是把別人的注意力當道具。畫面效果一模一樣,資料庫乾乾淨淨。

片子裡其他所有圖釘都是地圖上真實的通報案件,「超過八千隻」也是官方開放資料的數字。

地圖不能用錄的

最直覺的做法是叫瀏覽器做鏡頭動畫、錄螢幕。實測馬上放棄:密度拉滿時畫面上有四百多個照片圖釘, 連續縮放會嚴重掉幀,二十秒的拉遠在成品裡幾乎是瞬間跳過去。

改成拍照拼接:只在六個縮放級距各截一張底圖(每階差 1.68 級、約 3.2 倍),中間的過場用 Web Mercator 投影公式 自己算——知道每張圖的中心經緯度和縮放級別,就能算出「上一張的視野」在「下一張」裡是哪一塊, 按指數內插裁切放大,就是等速拉遠。600 格,一格一格輸出。

影片中拉遠到全台的一格
成品中的一格:全台八千多筆通報,圖釘是真實案件的照片縮圖

圖釘要跟底圖分開處理

第一版把整張截圖直接放大,立刻被抓到問題:地圖上的圖釘是固定 68 像素、畫在螢幕上的,不會隨地圖縮放變大變小。 把整張截圖放大,圖釘就跟著忽大忽小,每換一段就「脈動」一次。

正解是底圖與圖釘分開:底圖照常縮放,圖釘另外截、按經緯度換算螢幕位置、以固定大小逐格貼回去。 於是拉遠時案件是一顆一顆「冒出來」的,圖釘永遠一樣大。

圖釘的截法又重做了三次,全是被人眼抓出來的:

去背後的圖釘貼圖
最終版的圖釘貼圖:722 個案件逐一去背,陰影半透明,貼到哪裡都乾淨

旁白與配樂也是合成的

旁白是微軟的台灣男聲(edge-tts),語速放慢 8%,一句一句對著畫面時間軸排。 配樂本來想找免費音樂,後來直接用程式合成:一段氈化鋼琴的琶音,每個音都有起音和衰減的包絡—— 第一版用純正弦波,聽起來是電話按鍵的嗡嗡聲,包絡才是讓它像樂器的關鍵。

七個版本才定稿

這支片總共出了七版,每一版的問題都是人看出來的,不是程式報錯:圖釘拼到鄰居、陰影帶到底圖、 目擊標記混進貼圖、畫質只有 SD、最後一句旁白改了三次。AI 可以把片子拍出來, 但「這裡不對」全部要人指出來。這大概是整件事最真實的分工。

工具本身在 lazetool.com/lost-pet。

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

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

看其他文章