先說結論
開啟影片剪輯,把片子丟進去,按 I 和 O 把要留的每一段標出來,想標幾段標幾段,然後匯出。在 MP4、MOV 或者 M4V 上,你留下的那些幀會被原樣搬進新檔案,位元組一樣,編碼引數一樣,什麼都一樣,而聲音是逐個取樣複製過去的,全程不解碼。
也就是說,剪輯不花你一分畫質,而且快:從一個四 GB 的錄影裡剪出一分鐘,花的代價大約就等於把這一分鐘寫到硬碟上,因為那些幀是被指著的,不是被裝進來的。這套做法唯一會露餡的地方,是你的刀最終落在哪裡,而這一頁剩下的部分說的就是它。
為什麼剪輯可以完全不掉畫質
剪輯不改變任何一幀的樣子。你留下的每一幀,出來時都該跟進去時一模一樣,所以沒有理由把它解碼再編碼回去,而且有一萬個理由別這麼做:重新編碼是有損的,為了讓片子變短,把整段都弄差一點,這買賣不划算。
所以好的剪輯工具不重新編碼。它讀檔案的索引,算出哪些編碼幀落在你要的範圍裡,再把這些位元組寫進一個新容器,前面配一份新索引。這條路上什麼都沒被解碼。
仍然有很多工具照樣重編,因為解碼再編碼比解析容器格式好寫得多。你通常能從耗時上認出自己用的是哪一種:複製受限於你硬碟寫得多快,而重編受限於你機器編影片有多快,後者慢上一百倍。
關鍵幀,以及你的刀為什麼可能落早了
下面這條約束,是剪輯這件事一切結論的源頭。
影片不是一張接一張完整畫面存下來的,那樣體積會大得離譜。多數幀存的是「我跟鄰居有哪些不同」,也就意味著離開周圍那些幀就解不出來。只有關鍵幀是一張能獨立成立的完整畫面,而關鍵幀一般每隔一到十秒才有一個。
所以,你要是把刀標在上一個關鍵幀之後兩秒,一個靠複製幀運作的剪輯工具就沒法從那裡開始。你標記處的那些幀,沒有前面那一串引路,根本讀不出來。它必須把你標記前面那個關鍵幀起的一整段一併帶上。
有意思的是它接下來怎麼辦。檔案格式裡有一套標準寫法可以說明從這一點開始播:多出來的幀確實在檔案裡,但容器指示播放器跳過它們。主流播放器都認這一條,於是片子正好從你說的地方開始。而一個無視這條的播放器,會提前開始,最多提前一個關鍵幀的間隔。
這裡的工具會在你匯出之前,告訴你落在哪種情況、差了多少,所以那是一個決定,不是一個意外。
什麼時候該認下重新編碼
有一種精確剪輯,做法是把開頭那一段重新編碼:從關鍵幀開始解碼,再寫出一串真正從你標記處開始的新幀。它更慢,而且只在開頭那一段上花掉一點畫質。
片子要發去的地方不認容器那條指示、或者播放器不由你控制時,就選它:一些影片剪輯軟體、一些廣播和會議系統、一些老硬體播放器。除此之外一律選複製,而「除此之外」幾乎涵蓋了一切,瀏覽器、手機、社交平臺、媒體播放器。
還有第三個辦法,一分錢不花:把你的標記挪一挪。工具要是把關鍵幀的位置畫給你看了,那把刀挪到最近的那個關鍵幀上,你就能得到一次精確的、完全不重編的剪輯。為了一秒之差放棄複製,通常不值。
從中間挖掉一段
挖掉一段和留下一段是兩個不同的操作,而「支援挖掉」這件事值得知道,因為很多剪輯工具只會後者。把你不要的那段標出來,選「剪掉它們」,兩邊剩下的部分會接成一段,聲音也跟著對齊。
介面處,也就是後半段重新開始的地方,同樣有關鍵幀那條約束,道理一樣。這裡兩條 MP4 路徑都支援它。下面那條錄製備援路線唯一做不到的就是這件事,因為錄製是從一個播放頭一趟錄下來的。
格式,以及備援方案
MP4、M4V 和 MOV 直接讀,裡面是什麼編碼都行,H.264、HEVC、AV1、VP9。複製幀根本不涉及解碼,所以哪怕你的瀏覽器壓根沒有那個編碼的解碼器,這條路照樣走得通,這算是「不去看畫面」帶來的一個好處。
其他瀏覽器能播的格式,最典型的是 WebM,改成一邊播一邊錄來剪。能用,代價有兩條:段落多長就得花多長時間,而且畫面和聲音都要重新編碼一遍。
AVI、WMV、FLV 和大多數 MKV,瀏覽器既讀不了也播不了,工具會直說,不會做到一半才崩。這些先拿別的能處理它們的東西轉成 MP4。
別處常常悄悄出錯的兩件事
旋轉。手機是橫著拍的,然後往檔案裡寫一條旋轉指令,而不是真把畫素轉過來。一個靠複製幀運作的剪輯工具必須把這條指令一併帶過去,否則你那段直式片子出來就是躺著的,而這正是剪壞一段影片的經典方式。這裡的精確剪輯那條路,在重編時就把畫面轉正了,寫出來的檔案根本不需要旋轉。
音畫同步。音訊和影片是兩條各有各時間軸的流,而且不是在同一個點上被切開的。刀口處兩邊要是沒被有意對齊,聲音就會漂。這裡的複製路徑上,音訊是逐個取樣、全程不解碼複製過去的,跟原檔案裡的位元組一模一樣,而一個編輯標記讓它和畫面對齊到千分之一秒以內。
剪時長不是裁畫面
這兩個詞常被人混著用。剪時長改的是片子的長度,裁畫面改的是畫面的形狀。你要的是把一段橫式影片弄成方的,或者把兩邊的黑邊去掉,那該找影片裁剪,而它跟剪時長不同,是非重新編碼不可的,為什麼,它那篇指南裡講了。
為什麼這件事不用上傳,尤其是這件
影片是人們最覺得非上傳不可的檔案類型,因為檔案大,工作聽起來也重。而剪輯恰恰是這句話最不成立的一件:走複製那條路,檔案基本沒被讀過。工具走一遍索引,算出該留哪些位元組區間,然後寫出去。為了做這麼點事,把一個四 GB 的檔案傳到伺服器上,是所有安排裡最慢的那一種。
這也是最不願上傳時代價最大的一類檔案:影片裡有面孔、有聲音、有家、有位置,這些是文件給不了的。這裡的工具沒有任何聯網功能,頁面的 Content-Security-Policy 把它可能聯的地址全列了出來,沒有一個是本站的。
與其聽我們說,不如拔掉網線,照剪一段試試。把檔案傳給線上轉換器安全嗎?裡還有另外三個同類檢查。