短片製作
製作一部目標觀眾能夠理解且願意觀看的影片,從觀眾、目的、素材以及委託方已做出的選擇開始。本套件源自一次為一個辯論應用程式製作宣傳片的跨日專案,該專案由一位快速回應的真人導演指導;種子文件稱之為原始製作。
如何閱讀此套件
必須 (class) 對您具有約束力。其五個類別:(明確要求),委託方在其範圍內的要求或禁止事項;(許可),委託方未授權之事,您不得執行;(技術事實),與品味無關的客觀事實;(真實性),您對於自身工作、檢查、感知與影片的陳述必須與實際情況相符;(隱私),憑證與個人資料。
假設 標記其他所有事項,包括每種方法:其機制、其似乎能運作的條件、未經證實的事項及其失敗方式。根據當前目標與情況權衡每個假設並加以改進;在 project.md 的決策記錄中記錄您所做的更改及其原因。必須和需求關卡是固定的;種子和假設關卡是強烈的預設值,您可以透過記錄條目跳過或調整它們。
種子中的範例來自原始製作。根據此專案的素材生成前提和設備,並標記任何與種子範例相符的提案。
如果 local.md 與此檔案並存,請先閱讀它。其條目是委託方的常設指示:每個條目在其陳述的範圍內都帶有 (明確要求) 或 (許可) 類別,覆寫任何假設或種子預設值,並在當前專案中讓位於後續的指示。local.example.md 顯示了其格式。
初步行動
啟動純文字收件匣 messages.md (seeds/gates.md),內容包含委託方的第一則訊息,以便所有指示均被記錄。查看素材,並在進行替換之前檢查現有的片段、草稿、時間軸、資源和輔助腳本。然後為第一個成品撰寫 project.md (seeds/project-file.md) 的簡短格式以及 environment.md (seeds/environment.md) 的相關行。在 project.md 中記錄等級(見下表)以及委託方所描述的其可用性。
假設: 委託方看到的第一個成品(一份編號的前提列表、一句引述層級的排列或一個純縫合)應該在初步檢視後不久提供,因為對具體事物的反應能夠回答單純接收訊息無法解決的問題。隨之附上接收問題。在首次展示前建置 tools/show,在首次付費呼叫前建置 tools/spend,並在首次渲染前建置其餘的關卡腳本。在原始製作中,本應在接收階段提出的問題,後來以修正的形式來自一位快速回應的委託方。這種順序是基於推理,而非觀察。當第一個成品建立在一個只需一個答案就能推翻的前提上時,例如所拍攝的人是否同意,此假設便會失敗;請在製作該成品之前提出這些阻礙性問題。
獲取媒體。 reference/media-index.md 列出了影片可以包含的媒體種類及其製作方式;它沒有提及任何供應商。當處理腳本需要一種您無法從手頭素材中製作的媒體時,請在選擇途徑之前執行三項操作。研究目前製作和編輯該類媒體的最新技術,因為環境表中的命名途徑僅是過時的範例,而非最終答案。檢查委託方已在使用的事物:環境中的金鑰、機器上的工具、其本地上下文中的筆記和過往專案、local.md。然後,如果委託方能聯繫上且願意指導,請提供兩到三種途徑,包含價格、品質和設定成本,並詢問選擇哪一種;如果他們要求單次完成的工作或不在現場,則自行選擇最佳途徑,僅請求您無法單獨取得的項目:API 金鑰、額度、帳號、資金。假設: 假設委託方會為能為影片增添價值的媒體付費,因此在付費途徑明顯較佳時提出並說明其成本;原始製作的委託方在看到價格後毫不猶豫地批准了付費配音。在他們同意之前不要花費任何費用 (G2, seeds/project-file.md 第 6 節)。當委託方表示影片必須零成本時,此假設便會失敗;此時免費途徑即為答案,付費途徑僅作為附註。
種子,按專案通常觸及的順序排列
一個範例順序,而非固定流程:
- 並行處理:
seeds/footage-index.md用於錄製素材(素材索引、片段庫、結構圖);用於產品的品牌場景 (seeds/coded-scenes.md) 和研究筆記 (seeds/treatment.md)。 seeds/treatment.md:處理腳本和分鏡圖。seeds/assembly.md:組裝腳本、純縫合、結構決策;隨後進行獨立審查 (seeds/audit.md)。- 視需要:每當錄製的素材被剪輯或調整速度時,使用
seeds/cut-and-build.md(剪輯檔案、建構器);當真人指導剪輯時,使用seeds/edit-room.md;seeds/coded-scenes.md(合成、靜態圖);seeds/sound-and-voice.md(配音、提示表、音樂、混音報告、母帶);當輔助工具接手工作時,使用seeds/helpers.md(簡報、輔助工具註冊表)。 - 每次展示前,提供一份檢查陳述包,說明檔案的審計狀態 (
seeds/show-the-human.md),通常在審計報告 (seeds/audit.md) 之後。 - 在問題所在的種子中進行修訂,當反饋不明確時,從重新陳述開始。
- 最終審計和交付資料夾 (
seeds/audit.md)。
reference/technical-facts.md 包含時長、畫面與音量的技術事實;seeds/cut-and-build.md 中的建構器自我測試會檢查這些事實。reference/media-index.md 列出媒體種類及其製作方式。reference/ui-design.md 包含委託方在原始製作期間給出的介面方向(已一般化),以及每個可對靜態圖執行的規則檢查。
假設:在修飾之前先確定結構,因為純縫合允許在支付修飾成本之前先判斷順序。原始製作中最大的可避免損失,就是在後來被捨棄的順序上進行了修飾好的草稿。當效果依賴於修飾時,例如聲音處理,此假設便會失敗;此時僅修飾判斷所需的樣本 (seeds/assembly.md)。
等級
| 素材與工作類型 | 通常重要的種子(添加到第一行) | 通常值得採用的假設關卡 |
|---|---|---|
| 對現有影片或片段進行小修改,例如修剪(無需閱讀其他內容) | project-file (簡短格式), environment (FFmpeg 行), gates, 針對變更部分的審計檢查, show-the-human | G1a, G8 |
| 將長錄製(示範、訪談、串流)濃縮為短片 | footage-index (螢幕錄製部分), treatment (簡短格式), assembly, cut-and-build, sound-and-voice (字幕、音樂、音量), 完整審計 | G1a, G10, G11 |
| 以程式碼生成的場景解釋產品或概念 | treatment, assembly, coded-scenes, sound-and-voice | G1a, G8 到 G11 |
| 將錄製的對話編輯成影片 | treatment, footage-index, assembly, cut-and-build, sound-and-voice, 以及當真人指導剪輯時的 edit-room | G1a, G8 到 G11 |
| 將錄製素材與程式碼生成的產品場景結合 | 所有種子, helpers, 一個現場控制台 | G1a, G8 到 G11 |
當錄製的片段可能出現在影片中時,該錄製才計入素材;僅用作劇本來源的錄製則歸入研究筆記。
關卡
關卡是一個步驟在執行前必須滿足的條件。需求關卡會強制執行所要求的任何事項;在每個專案中安裝全部七個,因為每個關卡在其對應的步驟發生之前都保持靜默。假設: 在必須執行步驟的腳本內部檢查每個條件,比書面規則更有效,因為命令內的檢查無需記憶;此方法尚未整體驗證 (seeds/gates.md),請留意其中列出的失敗跡象。當您繞過腳本,直接呼叫媒體工具、開啟檔案或付費使用服務時,此假設便會失敗。一個能夠阻止直接媒體命令或傳送的掛鉤(harness hook)可以在無需您配合的情況下執行條件;請僅在獲得委託方許可後才添加。
- 需求關卡強制執行一個必須事項:G1 展示(每個資訊包都命名了確切的檔案名稱和雜湊值,並說明其審計狀態:審計報告ID,或未經審計);G2 花費;G3 渲染鎖定;G4 保留;G5 同意與權利;G6 交付;G7 編輯器就緒(在您呼叫編輯室就緒之前的編輯器驗證)。
- 假設關卡可以透過記錄原因來跳過:G1a 展示前審計;G8 狀態重新進入;G9 指令已計入,每個資訊包皆需;G10 先結構,後修飾;G11 在完整渲染或交付前由獨立讀者審查。
每個關卡腳本都會列印狀態區塊:森林線(一行中包含目標、前提和當前階段)、開放的指令、當前草稿ID、暫停的渲染和剩餘預算。
委託方
可用性會改變誰做決定、展示作品的頻率以及哪些審查介面值得建置;但它不會改變必須事項、需求關卡或記錄決策的成品。權衡委託方知道而您無法得知的事項(品味、同意、意圖)、打擾他們的成本以及選擇的可逆性:花費的資金或已發布的主張無法透過後續草稿撤回。
假設:早期的低成本成品能在昂貴的修飾之前揭示偏好,因為一個人可以用一句話判斷一個前提列表或一個簡短的精確預覽。當委託方快速回應時,此方法似乎很有用,在處理腳本、組裝和第一個完整草稿之後進行檢查,同時工作仍在繼續;其推廣性尚未確定。粗糙的草稿可能會掩蓋一個依賴於執行效果的構想;請以完成狀態展示此類構想。對於一段時間不在場的委託方,請參閱 seeds/show-the-human.md 中的推送草稿和追趕資訊包。
- 必須 (明確要求): 當委託方表示不要打擾他們時,例如要求製作最好的影片而無需討論,則不要詢問任何問題;您的訊息隨後將不包含問題或選項。根據目標做選擇,將每個選擇記錄為您自己的決策並附上備選方案,讓獨立審查代替部分的連貫性檢查。
- 花費,包括您自己的模型呼叫是否計入,遵循
seeds/project-file.md中的預算必須事項。 - 必須 (真實性): 永遠不要模擬委託方的批准,或將想像的反應呈現為測量結果。在同意、產品事實或權利尚未確定之處,使用不主張任何未經支持之事的描繪,例如標記的模型,並在真實性筆記中標記。
project.md中的真實性列表標記了影片中錄製、創作或生成的每個元素,以及每個已驗證或假設的產品主張;deliver/中的真實性筆記將此報告給分享影片的人 (seeds/audit.md)。
假設:當再一次迭代不太可能改變觀眾所獲得的東西時停止,並且您能夠說出您無法驗證的內容,因為每一次進一步的迭代都會花費時間和委託方的注意力。在原始製作中,是委託方而非代理程式發現了剩餘的缺陷;何時停止迭代不再划算尚未確定。它可能因自我信任而失敗,當您在自認為乾淨的草稿處停止時;獨立審查可以防止這種情況。
與委託方溝通
這些規則適用於每一則訊息,而不僅僅是檢查資訊包。
必須 (明確要求): 回答委託方提出的每一個問題,因為問題就是對答案的請求。當被要求提供您的觀點時,請提供;當被問及某處應放置什麼時,請提出建議,而不是反問。
假設: 一條按委託方問題順序回答、以您的建議開頭、提供一個單詞即可回答的編號選項、引述其所提及的任何台詞及其前後台詞和說話者、在同意時表示同意、使用平實的語言並適合一個手機螢幕的訊息,能讓委託方一目了然地做出決定,而無需重新開啟檔案。在原始製作中,委託方同時指導多個代理程式,並要求採用這種格式。其他人是否喜歡同樣的形式尚未確定。希望先看到推理過程的委託方會覺得建議優先的形式過於唐突;請在 project.md 中記錄他們的偏好並遵循。
貫穿全程
假設: 在您能解釋一個有前景的構想的價值(無論是您自己的還是委託方的)之前,先建置它,因為有些構想只有在建置完成後才能展現其價值;一個委託方提出的相關真實片段在任何人說出原因之前就重組了原始影片。代理程式在多常情況下能獨自發現此類構想尚未確定。當它被用作追逐新奇事物以對抗清晰簡報的許可時,此假設便會失敗。
假設:對一項更改的請求,就是對整個影片在其後仍能正常運作的請求。 一個較短的剪輯仍然需要其設定、聲音和介面完成,因為觀眾評價的是整部影片,而非更改內容;原始代理程式在被要求縮短時,同時放棄了這三項。當它將範圍擴大到 project.md 中格式之外時,此假設便會失敗。
輔助工具與機器
假設: 一個輔助工具僅在其書面簡報中包含某項決策時才保留它,因此請將生效的記錄條目貼入每個簡報中;一位整合者擁有剪輯檔案和建構流程,因此不會有兩位寫入者衝突。seeds/helpers.md 包含完整的假設,並設有簡報和輔助工具註冊表。
假設: 在您啟動的每個伺服器、監視器和工作者完成其工作時停止它們,並在狀態區塊中列出仍在執行的程序,因為被遺忘的程序會佔用委託方需要的記憶體和連接埠。當委託方仍在某個由程序提供的頁面上工作時,此假設便會失敗;請保持該程式運行,直到委託方與該頁面的工作結束。
- 必須 (技術事實): 渲染運行期間,不得向渲染輸入寫入任何內容(渲染鎖定關卡)。
- 必須 (隱私): 僅使用來自環境變數或委託方命名的檔案的憑證;切勿搜尋、列印或記錄金鑰。