TorchCodec 整合媒體解碼與編碼,其他程式庫則專注於轉換
媒體技術堆疊現已將解碼和編碼與轉換分離,各個程式庫可以按照自己的發布節奏推進。
AI 插圖媒體解碼與編碼已整合到 TorchCodec 中,而 TorchVision 和 TorchAudio 現在專注於轉換。此次重組涵蓋影像、影片和音訊,取代了此前零散的介面和後端集合。
對使用者而言,這種劃分將媒體與張量之間的輸入輸出,同這兩個步驟之間執行的操作區分開來。TorchCodec 負責將檔案或編碼位元組解碼為張量,以及將張量重新編碼為媒體檔案。TorchVision 提供影像和影片轉換;TorchAudio 負責音訊轉換。
這些變化也會影響現有軟體。TorchVision 和 TorchAudio 此前提供的解碼和編碼介面已被棄用或移除。這些程式庫中的模型、資料集和管線不再積極開發,生態系統中的其他方案可以替代這些功能。
Nicolas Hug 和 Scott Schneider 表示,出於維護和效能方面的考量,應將媒體輸入輸出集中在單一程式庫中。他們的說明指出,TorchCodec 的效能整體上優於早期實作,尤其是在使用 CUDA 解碼影片時。整合也將涉及 FFmpeg、NVIDIA 編解碼器 SDK 以及各類單一影像格式程式庫的工作集中起來。
作者表示,這次過渡對 TorchAudio 的影響尤為嚴重,大量介面被棄用並最終移除。在社群回饋的推動下,他們保留了最初打算撤下的幾個常用介面。
作者表示,這三個程式庫現在都具備 ABI 穩定性。程式庫的版本不再與某個框架版本綁定,可以繼續搭配後續版本使用。因此,這些程式庫無需隨每次框架發布而重新建置,也不再遵循框架的發布節奏。這次整合歷時兩年多,並非一次性推出的全新媒體功能。