FFMPEG 中級指南/WMV
Windows Media Video 和 Windows Media Audio 編解碼器是 高階系統格式 的主要組成部分,微軟試圖在推出時找到市場上領先的編解碼器。雖然這兩個編解碼器隨著時間的推移都被超越了,但 WMV 仍然是 YouTube 上傳檔案的可接受格式,像 FFmpeg 這樣的專案能夠將其編碼為早期版本。這種格式及其背景與微軟之前的 AVI 格式形成對比,微軟旨在推動新穎的編解碼器開發。當時,此舉導致不同系統之間發生衝突,因此隨著 ASF 的開發,微軟轉而採用了當時領先的影片和音訊編解碼器。包含這些編解碼器的因素由以下幾點決定:a)編碼速度,b)解碼時系統的效能,以及 c)最終的質量。
需要注意的是,使用未經微軟授權的軟體將任何材料編碼為 ASF 違反 了他們的專利權。[1] 當 Xiph 等組織允許使用其格式時,微軟在 2000 年效仿了 Fraunhofer,要求一位反向工程該格式的開發人員停止開發。該軟體名為 VirtualDub,作者在不久後就遵守了要求。
因此,如果你必須使用 FFmpeg 編碼為 ASF,請不要釋出你的最終材料。如果可能的話,使用其他編解碼器。
你可以透過執行以下命令來流複製無法由 FFmpeg 編碼的編解碼器
ffmpeg -i input -vcodec copy -acodec copy output
這將同時複製影片 (vcodec) 和音訊 (acodec)。
對於支援的編碼器,你可以執行
ffmpeg -i input -b 1500k -vcodec wmv2 -acodec wmav2 output
請注意 -b 標記。對於大多數 480p 影片,輸出略微畫素化,但仍然易於觀看。這將建立 Windows Media Video 8 影片和音訊檔案流,因為 Windows Media Video 9 的編碼器尚未完全正常工作。[2]
確保包含 -acodec 標記,否則預設值將不是 wmav2,也不會包含在輸出影片中。如果輸入音訊擁有超過兩個通道(比如環繞聲),編碼器無法處理更多通道,將會丟擲 "通道過多" 錯誤。使用 -ac 標記手動將通道數設定為 2。