qBittorrent 的「metadata too large」錯誤會在用戶端無法解析 torrent 檔案時出現,因為內嵌的中繼資料—— bencode 編碼的 info 字典加上其中包含的任何二進位區塊(例如 JPEG 封面圖片)——在載入過程中超過內部大小限制。這不是磁碟空間問題,也不是網路問題。這是一個關於 qBittorrent 必須將資料區塊讀入記憶體、以便在新增 torrent 之前計算 info hash 時所遇到之大小的結構性錯誤。實際上,有問題的位元組通常位於 torrent 的 info 字典內部,而且經常來自大型內嵌圖片檔案——封面圖、螢幕擷圖或掃描影像——其 EXIF 區段因為內嵌縮圖、感測器灰塵地圖或大量的專屬製造商備註而膨脹。在重新建立 torrent 之前移除或修剪這些區段通常就能清除錯誤,但前提是你必須先知道它們實際包含什麼內容。這些資訊只能透過在本機讀取 EXIF 區塊來取得,而不是靠猜測。
了解到底是什麼讓中繼資料膨,是修復此問題的第一步。如果你正在自行建立 torrent,可以重新匯出內嵌的 JPEG,並移除或修剪其中的 EXIF 區段。如果你從其他地方取得 torrent,則至少可以在本機檢查有問題的圖片,這樣在重新託管、重新分享或重新編碼之前,你就能知道自己在處理什麼。這正是 EXIF Viewer 的用途——一個基於瀏器的工具,可在不上傳的情況下讀取本機 JPEG 的 EXIF 區段。

qBittorrent「中繼資料過大」錯誤的意義
qBittorrent 與其他基於 libtorrent 的用戶端一樣,會在決定是否將 .torrent 檔案加入工作階段之前,先解析其中的 bencoded info 字典。info 字典是 torrent 內容的標準描述:檔案名稱、長度、區塊長度,以及一個可選的內嵌任意資料區塊(例如海報圖片)。如果該字典的大小,或其中任何單一欄位的大小,超過解析器的限制,用戶端就會顯示「metadata too large」並拒絕新增 torrent。這個精確的閾值並不會顯示給使用者,而且它與目的地磁碟機的可用空間毫無關係。
有幾種實際情況會觸發此錯誤。torrent 建立者可能內嵌了一張數 MB 大小的封面圖片。重新發布 torrent 的使用者可能將螢幕擷圖或掃描影像重新編碼為 JPEG,卻沒有先移除其 EXIF 區塊。將 magnet link 轉換為 torrent 的過程中,可能將縮圖的原始位元組附加到 info 字典中,而非將其引用為獨立檔案。在所有這些情況下,內嵌 JPEG 的 EXIF 區段都是可能的元凶,因為當 EXIF 區段包含內嵌預覽縮圖、重複的製造商備註子 IFD 或大型 GPS 記錄時,其大小可能膨脹到遠超過 1 MB。
JPEG EXIF 資料如何使檔案中繼資料膨脹
每張包含 EXIF 區段的 JPEG,在檔案開頭附近、緊接在標準影像資料標記之後,都會帶有一個 APP1 標記。在該 APP1 區段內部,是一個 TIFF 標頭,後接一個或多個影像檔案目錄(IFD),以及可選的、針對 EXIF 特定標籤和 GPS 座標的子 IFD。一台典型的消費級相機每張照片會加入大約 5 到 30 KiB 的 EXIF 資料。一台典型的無反光鏡或中片幅相機,特別是設定為內嵌完整解析度預覽縮圖時,可能會加入數百 KiB。配備主動式製造商備註的智慧型手機,則可能使該區段超過 1 MiB。
當該 JPEG 接著被作為封面圖片或「預覽」檔案內嵌到 torrent 的 info 字典中時,EXIF 區段會一併隨之傳送。Torrent 用戶端在判斷中繼資料是否過大時,會看到包含 EXIF 區段在內的完整檔案大小。解析器並不會將像素資料與中繼資料區塊分開計算——它們會被合併計算為內嵌二進位區塊長度的一部分。
如果你手邊有問題的 JPEG,並且想確切知道其位元組數量中有多少是 EXIF、多少是像素資料,最簡單的方法就是在本機讀取 EXIF 區段。這正是 本機 EXIF 檢查指南 所介紹的相同使用情境。
使用 EXIF Viewer 在本機讀取 JPEG EXIF
EXIF Viewer 是一個基於覽器的中繼資料讀取器,可開啟本機 JPG 或 JPEG 檔案,定位第一個有效的 Exif APP1 區段,驗證其 TIFF 標頭,並在不上傳檔案的情況下,遍歷有界範圍的 IFD0、Exif 和 GPS 目錄。所有處理都在當前分頁中完成;位元組不會被上傳,也不會被傳送出去。
此工具會讀取一份有文件的常見標籤允許清單:相機廠牌與型號、方向、軟體、修改與原始拍攝時間、曝光時間、光圈值、ISO、焦距、像素尺寸、鏡頭型號,以及存在的 GPS 緯度與經度。解析作業遵循 CIPA Exif 2.3 規格(DC-008-2012),並獨立與官方的 ExifTool 標籤表進行交叉驗證,因此檢視器所顯示的欄位反映的是檔案中的真實、具類型值,而非猜測。
如何在瀏覽器中讀取 JPEG EXIF
- 選擇一個不超過 25 MiB 的本機 JPG 或 JPEG 檔案。開啟 EXIF Viewer 頁面,點擊檔案選擇器,然後選擇你想要檢查的 JPEG。檔案會直接從你的裝置讀取,不會上傳任何內容。
- 檢視已辨識的 EXIF 列,特別是任何 GPS 座標。檢視器會以簡明的表格顯示已辨識的欄位。請特別留意 GPS 緯度、經度與方向參考值,因為這些數值會洩漏真實世界的地理位置。
- 如果你需要不支援的格式、製造商備註或鑑識證據,請使用完整的桌面版中繼資料工具。EXIF Viewer 刻意跳過專屬的製造商備註。若要進行鑑識工作、批次匯出或處理非 JPEG 格式,請使用維護良好的桌面版工具(例如 ExifTool),並保留原始檔案。
EXIF Viewer 會讀取什麼、會略過什麼
此檢視器的設計是有界限的。它並不試圖成為一套完整的鑑識工具包。了解它的極限有助於你判斷它是否足以滿足你的情況,或者你是否需要更強大的工具。
| 功能 | EXIF Viewer | 完整桌面版工具(例如 ExifTool) |
|---|---|---|
| 處理位置 | 當前瀏覽器分頁 | 本機電腦 |
| 支援的格式 | JPG、JPEG(最大 25 MiB) | JPEG 以及許多 RAW、影片與 sidecar 格式 |
| 常見 EXIF 標籤(相機、拍攝、鏡頭、GPS) | 從有文件的允許清單中讀取 | 從完整標籤表中讀取 |
| 專屬製造商備註 | 刻意忽略 | 依廠牌解碼 |
| 非 EXIF 中繼資料(XMP、IPTC) | 超出範圍 | 讀取與寫入 |
| 鑑識與批次用途 | 非其設計目的 | 為此而設計 |
此檢視器在解析過程中亦會套用安全性限制。格式錯誤的區段長度、條目數過多的目錄、欄位數量過大,以及指向所選檔案外部的偏移量,都會遭到拒絕。讀取器會在第一個有效的 Exif APP1 區段處停止,同時處理 little-endian 與 big-endian TIFF 位元組順序,並正確解碼 ASCII、SHORT、LONG、RATIONAL 以及帶正負號的值。它不會執行中繼資料——這是不安全解析器中常見的攻擊面——而且絕不會修改你所選取的檔案。
GPS 座標與隱私考量
GPS 中繼資料可能會洩漏照片拍攝的精確位置。EXIF Viewer 會使用儲存的 N/S 與 E/W 參考值,將儲存的度分秒格式轉換為帶正負號的十進制度數,並對結果的敏感性提出警告。在你分享照片、將其作為 torrent 封面圖片內嵌,或匯出中繼資料報告之前,請檢視 GPS 該列。如果座標指向私人位置,請先使用專為此目的設計的工具來移除它們,而不是重新編碼照片並祈禱中繼資料已經消失。
中繼資料也不是著作權、擁有權、拍攝時間或地點的證據。這些欄位可能缺失、過時、被編輯、被複製,或被在你上傳時重新編碼照片的通訊與社群平台所移除。請將 EXIF 輸出視為描述性資料,而非具證據力的資料。
何時該使用桌面版中繼資料工具
當你需要處理允許清單以外的內容時——製造商備註、XMP 或 IPTC 區塊、RAW 格式、影片中繼資料、批次匯出,或鑑識證據鏈作業——請使用維護良好的桌面版工具,例如 ExifTool。ExifTool 是事實上的參考實作,其標籤表是 EXIF Viewer 用來交叉驗證的來源。對於任何你打算作為證據使用的內容,請保留原始檔案、複本上作業,並記錄每一個步驟。
如果你的目標純粹是想了解為何 torrent 內嵌的 JPEG 如此龐大,EXIF Viewer 是查看答案的最快途徑:開啟檔案、讀取 EXIF 列、並留意中繼資料區塊的大小與內容。從該處,你就能決定在重新託管 torrent 之前,是要移除、修剪或替換內嵌的圖片。