影片旋轉

把躺著的影片轉正。不上傳,檔案多大都一樣。

把影片拖到這裡,或點擊選擇一個MP4、MOV、M4V、WebM、MKV · 不會上傳任何內容

沒有大小限制:只讀取檔案的索引,不讀畫面資料。

輸出

只改檔案裡的旋轉標記。不重新編碼,畫質不變,檔案多大都是一瞬間。

這個工具能做什麼

把影片拖進來,這個頁面就會把它轉正,而且多數情況下連一個像素都不用動。MP4 或 MOV 檔案裡帶著一個小小的 3x3 顯示矩陣,用來告訴播放器在播放時要把畫面轉多少度,而播放起來橫躺的片段,通常是在某次剪輯或匯出的過程中把這個矩陣弄丟了。把它寫回去只需要改寫 36 位元組的矩陣;緊挨在旁邊的已儲存尺寸原樣保留。影像串流原樣複製過去,所以存下來的檔案和你一開始拿到的是同一個畫面、同樣的畫質。

什麼都不會上傳,而這一點在這裡比本站任何其他工具都更重要。手機拍的三分鐘片段就有 200 到 400 MB,別的旋轉服務卻都要你先用家裡的網路把這麼大的檔案推上去,才肯看它一眼。這個頁面直接就地讀取檔案,只需要檔案開頭或結尾那個小小的索引,也就是叫做 moov 的那個 box,通常只有幾百 KB。畫面資料從頭到尾不會被讀進記憶體,只是被引用,所以這裡沒有大小限制:一段 2 GB 的錄影和一段 20 MB 的花費是一樣的。

怎麼使用

把檔案拖到頁面上,或是點擊選擇一個。你首先看到的,是這個檔案對自己方向的說法,不是「這個檔案沒有旋轉標記」,就是「旋轉標記:順時針 90°」。線上旋轉工具通常不會把這件事顯示給你,但先知道它是有價值的:它告訴你這段片段之所以橫躺,是因為標記掉了,還是因為畫面本來就是這樣錄下來的。

兩個箭頭按鈕各把畫面轉四分之一圈,中間那個按鈕則讓它上下顛倒過來。預覽不是示意用的近似圖:播放器播的就是最終成品,和你按下儲存後拿到的是同一份位元組,而且旋轉時會保留播放位置,所以你可以停在一個上下分明的畫格上,看著它轉到正確的方向。存下來的檔案沿用原本的副檔名,並在原檔名後面加上 -rotated。

「輸出」底下有兩種做法。旋轉標記是預設值,運作方式就如同上面所說。重新編碼則會把影片解碼,再把新的方向寫進畫格本身,用的是瀏覽器的 WebCodecs 介面,所以編碼會在你的顯示卡硬體上執行。它花的時間和片段長度成正比,而且會把畫面重新壓縮一次,這就是它不當預設值的原因。

旋轉標記不夠用的時候

目前的瀏覽器、iOS 和 Android 上的相簿 App,以及你上傳到 YouTube、Instagram 和 TikTok 時,都會正確讀取旋轉標記。到現在還會忽略它的,是比較舊的桌面播放器、少數第三方 Android 播放器,還有部分剪輯軟體的匯入階段——你剛修好的片段,可能一進時間軸又橫躺回去。如果這段影片要送去那樣的地方,就把「輸出」切換到重新編碼。WebM 和 MKV 根本沒有對應的欄位,所以這類檔案一律走重新編碼這條路,頁面會自動切換並說明原因。重新編碼需要 WebCodecs,Chrome、Edge 和 Safari 16.4 都有;沒有的環境,標記這個方法照樣能用。如果某個檔案的矩陣裡放的是縮放或鏡像,而不是單純的四分之一圈,改寫它會讓畫面變形,所以頁面會放過這個檔案,改為提供重新編碼。鏡像則完全不提供,因為播放器對鏡像矩陣的支援參差不齊,結果可能在你做出來的地方看起來正常,送到別處全都是錯的。

背景:旋轉標記是怎麼來的

手機的相機感光元件以固定的一個方向鎖在機身上,讀出來的畫面永遠是橫的。你把手機直著拿,沒有任何東西去旋轉那些像素;相機是在檔案裡寫進一個矩陣,說明播放時要把畫面轉 90 度。這套機制比手機老得多,它來自 Apple 的 QuickTime 檔案格式,該格式 2001 年的規範成了第一版 MP4 檔案格式的基礎。MPEG-4 Part 14 隨後以 ISO/IEC 14496-14:2003 的編號問世,這個容器接著被一般化為 ISO 基礎媒體檔案格式,也就是 ISO/IEC 14496-12:2004。軌道標頭 box(tkhd)和它那個由 16.16 定點數組成的 3x3 矩陣,一路走過這些版本都沒有變過,所以同樣的 36 位元組,既適用於 2003 年寫出來的 MOV,也適用於上週才買的手機拍出來的 MP4。

哪些人會用到

最日常的情況,是手機拍的素材傳到電腦上就側躺著,通常是經過某個通訊軟體,或是某次把標記弄丟的匯出。剪輯的人則是在片段進時間軸時發現它轉了方向,與其在每一刀上都加一個變形效果,不如把檔案一次修好。行車記錄器和監視器的匯出又自成一類,因為那些機器是按外殼裝得下的方向去裝感光元件的。如果你要的其實是一張靜態畫面而不是整段片段,截個圖,再送去圖片裁切圖片旋轉處理;如果某個畫格裡有 QR Code,QR Code 解碼器可以直接從那張截圖把它讀出來。如果你要的只是裡面的聲音,影片轉 MP3 同樣不重新編碼就能把音軌取出來。

常見問題

旋轉影片會讓畫質變差嗎?

在預設設定下不會。畫面資料是一個位元組一個位元組照抄過去的,只有方向標記改變,所以存下來的檔案和原檔一模一樣。重新編碼這個選項確實會重新壓縮,這正是它不當預設值的原因。

有檔案大小限制嗎?

沒有。只有檔案開頭或結尾那個小索引會被讀取,所以一段 2 GB 的錄影和一個小檔案處理起來一樣快,而且檔案從頭到尾不會離開你的電腦。

存檔之後,我的播放器還是把影片顯示成橫的,為什麼?

那個播放器忽略了旋轉標記。把「輸出」切換到重新編碼再存一次,它會把新的方向寫進畫格本身,這樣就不需要任何東西去解讀標記了。

可以旋轉 WebM 或 MKV 檔案嗎?

可以,但只能透過重新編碼這個選項。那些容器沒有可以改寫的旋轉欄位,所以畫格必須重新編碼一次。

它能把影片左右鏡像或水平翻轉嗎?

不行。各家播放器對鏡像矩陣的支援並不一致,所以一個鏡像過的檔案,可能在你檢查時用的播放器裡看起來正常,換一個就錯了。