← scroll-world · 01

One Box,
One Journey

一只貨櫃,一鏡到底,穿過整座碼頭——船邊、橋式機、儲區、閘口、貨櫃集散站、鐵路裝載。 九十六秒、十二個鏡頭、零轉場。每一道接縫都不是「對出來的」, 而是兩支片共用同一個檔案。

1:36 片長
1920×1080 24fps
12 個 block
−14.3 LUFS
2026-08-22
這一頁正用 file:// 開啟,YouTube 的 IFrame API 在這種來源下不會運作。 請改用 python deploy-src/serve_local.py,再開 http://localhost:8000
版本 捲動版 ↗ 字幕 在 YouTube 開啟 · 下載 SRT

十二個 Block

六個停留、五個連接、一個收尾。點任一格會跳到影片的對應秒數。 有標籤的那幾格是片中疊字的階段名與數字;沒有標籤的是連接段,純粹的位移,沒有資訊。

兩個版本

同一次生成、同一組 block,兩條不同的產線。

線性版 · 主要交付
畫面
12 支 8 秒 clip,零轉場串接——接縫已經是同一幀,一個溶接只會把它糊掉。
旁白
Edge TTS en-GB-RyanNeural--rate=-5%,一個聲音一個語速。 每句從該格的第 0.4 秒進場,讓鏡頭先立起來。
配樂
約 90 BPM、溫暖連續、沒有靜默也沒有 drop。 唯一的情緒高點壓在 Block 11——全片唯一提出主張的那一句。
混音
全頻顯式包絡,人聲下方 −5 dB、150 ms 進 400 ms 出,空檔完全放開。 交付 −14.3 LUFS / −1.0 dBTP。
疊字
五個階段數字燒在畫面上,只放在停留段。片尾掛 Figures shown are illustrative
捲動版 · 網頁體驗
形式
影片從不播放,只有它的 currentTime 被捲動位置驅動。 鏡頭是真的在動,捲動只驅動時間。
長度
1:16。連接段變速到 2×,不是把中間剪掉——剪掉會製造出 這整個製作在避免的斷點。
聲音
刻意無聲。瀏覽器封鎖自動播放,一支「設計成無聲」的片 比一支「被靜音」的片好看。所以論點改由頁面上的文字承載。
編碼
720p、CRF 27、每四幀一個關鍵幀——seek 在 0.17 秒內到位, 而檔案是 39 MB 而不是 225 MB。
降級
三條路:prefers-reduced-motion、影片 12 秒未就緒、載入失敗。 降級後版面完整可讀——捲動是增強,不是內容本身
三個決定
  • 接縫是同一個檔案,不是對出來的。 13 張錨定幀被定義成接縫邊界而不是場景:still_N 同時是 Block N−1 的末幀與 Block N 的首幀。12 支 clip 需要 13 張,不是 12 張—— 這個算術錯了要到生成當天才會發現。
  • 世界的顏色是被強調色決定的,不是反過來。 品牌綠在冷灰藍世界裡跟暗灰箱子融在一起(色相只差 122°、飽和與明度各低一階), 所以整個世界改成溫暖石灰。兩者必須一起動。
  • 片中沒有一個數字描述畫面上的設施。 五個營運數字全部走後期疊字,可編輯、可查證,而且集團裡任何一座碼頭 都能用同一支片。真正說出口的兩個數字是全球性的,出處在下面。

資料來源

片中僅有的兩個有出處的數字。其餘旁白全部是流程機制,在任何一座貨櫃碼頭都成立。

  1. UNCTAD《Review of Maritime Transport 2025》
    Block 1 — 國際商品貿易量的八成以上由海運承擔。片中說 “over eighty percent” 而不是精確數字,因為 UNCTAD 自己就是以下限的方式陳述,各版之間會動。
  2. Container News,2026-08-10
    Block 2 — 依 DynaLiners《Millionaires》報告,2025 年全球達 10.12 億 TEU, 較 2024 年的 9.373 億成長 8%。這是全片唯一有保鮮期的一句;台詞寫 “in twenty twenty-five” 而不是 “last year”,是為了讓它老化成歷史陳述而不是變成錯的。
  3. Google Flow — 模型與支援功能
    整條管線的依據。8 秒的決定、1:36 的長度、19–20 字的腳本, 全部從「哪些模型支援 First+Last、各支援幾秒」這一張表推導出來。生成前應重讀。