Skip to content

WebM 轉 MP4 完整指南:4 種方法比較與 FFmpeg 實戰指令

用 Chrome 螢幕錄影功能錄了影片得到 WebM 檔案,但 iPhone 播放不了。或想上傳到只接受 MP4 的平台。WebM 適合網頁,但 MP4 還是通用標準。這裡介紹 4 種可靠的轉換方法和詳細 FFmpeg 指令。

WebM vs MP4:差別在哪

特性WebMMP4
容器格式WebMMPEG-4 Part 14
視訊編碼VP8、VP9、AV1H.264、H.265、AV1
音訊編碼Vorbis、OpusAAC、MP3
起源Google(2010 年)MPEG(2001 年)
專利授權免費H.264/H.265 需授權
檔案大小(同畫質)較小較大
瀏覽器支援Chrome、Firefox、Edge(Safari 有限)所有瀏覽器
iOS 支援
剪輯軟體支援有限普及

重點: WebM 更有效率,但 MP4 更相容。要最大相容性(行動裝置、舊瀏覽器、剪輯軟體),轉成 H.264 視訊和 AAC 音訊的 MP4。

編碼器差異詳見 H.264 vs H.265 vs AV1 編碼器比較

方法 1:FFmpeg(命令列,推薦)

FFmpeg 是最強大的影片處理工具。先安裝:

bash
# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Windows: 從 ffmpeg.org 下載並加入 PATH

基本轉換

bash
ffmpeg -i input.webm -c:v libx264 -crf 23 -c:a aac output.mp4

參數解析:

  • -i input.webm:輸入檔案
  • -c:v libx264:視訊編碼器(H.264,最相容)
  • -crf 23:畫質(18=視覺無損,23=平衡,28=高壓縮)
  • -c:a aac:音訊編碼器(AAC,通用)
  • output.mp4:輸出檔案

高畫質轉換

bash
ffmpeg -i input.webm -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4
  • -crf 18:視覺無損畫質
  • -preset slow:更好壓縮(編碼較慢)
  • -b:a 192k:高音訊位元率

小檔案轉換

bash
ffmpeg -i input.webm -c:v libx264 -crf 28 -preset slow -c:a aac -b:a 96k output.mp4

H.265 轉換(更小檔案)

bash
ffmpeg -i input.webm -c:v libx265 -crf 28 -c:a aac output.mp4

H.265(HEVC)同畫質比 H.264 小 30-50%,但瀏覽器支援有限且有專利授權問題。詳見 影片壓縮完整指南

保持解析度和幀率

bash
ffmpeg -i input.webm -c:v libx264 -crf 23 -c:a aac -movflags +faststart output.mp4

-movflags +faststart 把 moov atom 移到前面,讓網頁漸進式播放。

方法 2:VLC 媒體播放器(GUI)

VLC 是免費媒體播放器,也能轉檔:

  1. 開啟 VLC → 媒體 → 轉換/儲存
  2. 點「加入」選擇 WebM 檔案
  3. 點「轉換/儲存」
  4. 設定檔下拉選「Video - H.264 + MP3 (MP4)」
  5. 點扳手圖示自訂設定
  6. 選擇輸出檔案路徑
  7. 點「開始」

VLC 內部用 FFmpeg,畫質和命令列差不多,但參數控制較少。

方法 3:線上轉換器

線上轉換器在瀏覽器中運作,免安裝:

優點:

  • 免安裝
  • 任何有瀏覽器的裝置都能用
  • 小檔案免費

缺點:

  • 檔案大小限制(通常 100-500MB)
  • 上傳/下載耗時
  • 隱私疑慮(影片送到伺服器)

注重隱私的替代方案,用 WebM to MP4 線上工具,所有處理在瀏覽器內用 WebAssembly 完成,檔案不離開你的裝置。

方法 4:瀏覽器端 FFmpeg.wasm

FFmpeg.wasm 把 FFmpeg 編譯成 WebAssembly,完全在瀏覽器執行:

  • 免安裝
  • 不上傳檔案到伺服器
  • 隱私保護
  • 比原生 FFmpeg 慢 30-50%

本站所有影片工具都用 FFmpeg.wasm。批次處理或大檔案,原生 FFmpeg 更可靠。

畫質最佳化技巧

選擇適當 CRF 值

CRF(Constant Rate Factor)控制畫質:

CRF 值畫質檔案大小使用場景
0無損巨大母片封存
18視覺無損高畫質
23(預設)一般使用
28可接受網頁、郵件
32+非常小低位元率串流

選擇適當 preset

preset 控制編碼速度和壓縮效率:

preset速度壓縮使用場景
ultrafast最快最差直播
fast快速測試
medium(預設)一般使用
slow更好封存
veryslow最慢最高最終交付

解析度和幀率

改解析度:

bash
# 縮放至 720p,保持比例
ffmpeg -i input.webm -vf "scale=-1:720" -c:v libx264 -crf 23 -c:a aac output.mp4

# 縮放至 1080p
ffmpeg -i input.webm -vf "scale=-1:1080" -c:v libx264 -crf 23 -c:a aac output.mp4

改幀率:

bash
# 30fps
ffmpeg -i input.webm -r 30 -c:v libx264 -crf 23 -c:a aac output.mp4

常見問題

問題原因解決方案
MP4 沒聲音音訊編碼不相容-c:a aac
檔案巨大CRF 太低用 CRF 23-28
轉換慢preset 太慢-preset mediumfast
MP4 在 iPhone 播放不了用了 H.265 編碼用 H.264(-c:v libx264
黑畫面幀率不一致-r 30
跨來源播放失敗moov atom 在結尾-movflags +faststart

總結

用 FFmpeg 把 WebM 轉成 MP4 很簡單。基本指令 ffmpeg -i input.webm -c:v libx264 -crf 23 -c:a aac output.mp4 涵蓋 90% 場景。要最大跨裝置和平台相容性,永遠用 MP4 容器配 H.264 視訊和 AAC 音訊。

快速參考:

  • 通用相容: MP4 配 H.264 + AAC
  • 基本指令: ffmpeg -i input.webm -c:v libx264 -crf 23 -c:a aac output.mp4
  • 高畫質: -crf 18 -preset slow
  • 小檔案: -crf 28
  • 免安裝: 用瀏覽器版 WebM to MP4 工具

參考資料

Last updated: