簡短的回答
開啟影片倒放,把片子拖進去,決定要不要連聲音一起倒,然後匯出。出來的還是同一個片子,只是最後一幀排在最前,長度和進去時一模一樣。
和剪輯不同,這件事必須把每一幀都重新寫一遍,聲音也一樣。這不是某個工具的短板,倒放本來就是這樣。這一頁剩下的部分講的是為什麼,以及這對你要等多久意味著什麼。
為什麼影片不能直接反著播
一個影片檔案不是一疊照片。大約每五十幀才有一幀是完整的畫面,也就是關鍵幀,而它們之間的所有內容,說的都是相對周圍的幀變了什麼。一小時的影片能塞進一部手機裡,靠的就是這個。
這也意味著解碼器只能往前走。要給你看片子的最後一幀,它得先找到前面的那個關鍵幀,再把中間的全部解出來。你要倒數第二幀,它就把同樣的工作再做一遍。
所以倒放是一組一組做的:把一組正著解出來,把這些幀攥住,按相反的順序交給編碼器,再挪到前一組。那個顯而易見的替代辦法——把整個片子解成一張列表,再倒著走一遍—— 1080p 每幀要佔約 3 MB 記憶體,也就是每分鐘 5 GB,這也是為什麼那樣寫的工具,碰上超過幾秒的片子就趴下了。
聲音會怎麼樣
倒放工具在這一點上差別最大,也正是這裡值得你查一查,自己到底拿到了什麼。
聲音是按幾十毫秒一個包壓縮的,每個包都是相對前一個包編碼出來的。把這些包倒著寫出去,並不會讓一條音軌倒過來放:它會讓一小段一小段正著播,順序卻是亂的,聽起來像結巴或者故障,不像倒放。把聲音真正倒過來的唯一辦法,是把整條音軌解碼,把取樣按相反順序排好,再編碼一遍。
這裡做的就是這件事,也正因如此,聲音會被重新編碼,而影片剪輯和影片裁切從來不碰它:那兩件事不改變事情什麼時候發生,而這一件除此之外什麼都不改。
如果你只要畫面倒過來、完全不要聲音——這也是發到預設靜音播放的資訊流裡最常見的選擇——就把那個勾去掉。這樣更快,檔案也更小。
畫面要付的代價
一次重新編碼。幀出來的順序,是原檔案裡根本沒有為之編碼過的,所以每一幀都得重寫。
一個規矩的工具不會做的,是花得比原片更多。倒過來的片子裝的畫面和進去時一模一樣,位元速率再高也沒有新東西可描述:只會把檔案撐大,畫面並不會更好看。這裡的畫質設定是在那條上限之下移動,而不是往上衝。
老規矩,有損的步驟會疊加。倒一個原片,是一代。把一段錄屏下載下來、匯出一遍、再拿去倒,那是四代,而且看得出來。
先剪,再倒
要是這個片子兩樣都需要,先剪。剪輯是免費的——好的剪輯工具會把整幀整幀搬過去,根本不解碼——而你剪掉的每一秒,都是沒人需要再解碼再編碼一遍的一秒。
反過來做,等於在倒你馬上就要丟掉的畫面。片子一長,這就是幾秒鐘的工作和好幾分鐘的工作之間的差別。剪輯指南裡說明了為什麼那第一步可以完全不花你的畫質。
裁切也是同樣的順序:先剪、再裁、最後倒,這樣你只為最短的那一段付一次重新編碼。
人們實際拿它做什麼
- 倒帶梗。某樣東西掉了、碎了、濺出來了,倒一下就全回去了。它讀起來像個笑話,是因為真實素材反著放太好認了:煙會聚攏,水會往上爬。
- 手工 boomerang。把一小段倒過來,再用影片剪輯接回原片,你就有了一個來回循環,不需要那個平常做這件事的應用,長度也由你說了算,而不是它。
- 反向揭曉。把收拾好的最終狀態拍下來再倒過來,成品的一盤菜就變回了食材,裝好的東西自己散開。這比正著拍容易,而這正是重點。
- 倒著說的話。不過這只有在聲音真的被倒過來時才有意思——見上文。
格式,以及要多久
MP4、M4V 和 MOV 直接讀,裡面裝什麼都行——H.264、HEVC、AV1 或 VP9——只要你的瀏覽器能解那個編碼。這是快的那條路:檔案會一組一組幀地往回走,機器多快它就多快。
其他瀏覽器能播的東西,最典型的是 WebM,則是靠讓瀏覽器自己的播放器在片子裡一格一格地往回退來完成。能成,但慢,因為每一次這樣的跳轉都會讓瀏覽器從前面的關鍵幀重新解碼。頁面會在你開始之前說明它走的是哪一條,以及為什麼。
AVI、WMV、FLV 和大多數 MKV,瀏覽器既讀不了也播不了,工具會帶一句說明直接拒掉,而不是走到一半才失敗。
不管走哪條路,這都是本站較慢的工作之一,因為每一幀都要解碼再編碼,有些幀還不止解一次。短片子是幾秒鐘的事;長的 4K 片子,值得按下去之後就別管它。
為什麼這件事不需要上傳
在瀏覽器裡解碼和重新編碼影片,是近些年才有的事,而且是真的:WebCodecs 暴露的正是你手機錄影時用的那顆硬體編碼器,它快也是同一個原因。工作是在本來就有這個檔案的機器上乾的,而對一個大影片來說,這也是唯一說得通的安排:把它傳上去、再把結果拉回來,花的時間比編碼本身還多。
這裡的工具沒有任何形式的網路功能,頁面的 Content-Security-Policy 裡寫著它允許聯絡的每一個地址,沒有一個屬於本站。你要是寧可自己查也不願聽我們說,拔掉網線,照樣倒一個試試。
把檔案傳給線上轉換器安全嗎?那一頁還給出了另外三條你可以拿去檢驗任何工具的辦法。