萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

SWF 轉影片格式完整指南:工具比較、避坑與最佳實務

許多經典 Flash 動畫、互動教材、網頁遊戲皆為 SWF 格式,但現代瀏覽器已停止支援 Flash Player,且社群平台 (Facebook、Instagram、微博等) 不接受 SWF 上傳。將 SWF 轉為 MP4、MOV、AVI、WebM 等通用影片格式,成為保存與分享的必要步驟。本文實測比較主流工具,提供最佳轉檔流程與常見問題解決方案。

為何不直接用 Flash/Animate 匯出?

  • 原生匯出 不支援 MovieClip (MC) 動畫,MC 內容會變成靜止畫面。
  • ActionScript 3.0 互動邏輯、程式碼控制的動畫無法匯出。
  • 向量邊緣在光柵化時易產生鋸齒,需高解析度輸出再縮放。

➡️ 結論:必須使用第三方錄製/轉檔工具,實際「播放並錄製」畫面與聲音。

主流 SWF 轉影片工具實測比較 (Windows)

工具授權支援格式MC/AS3 支援音訊處理穩定度評價
Swivel免費/開源MP4, WebM, PNG 序列✅ 完美 (需啟用 Stage3D)✅ 內建混音⭐⭐⭐⭐⭐目前最強推薦,命令列可批次
Flash Player Projector + OBS/螢幕錄影免費任意編碼器✅ 完美✅ 系統音訊⭐⭐⭐⭐最通用、無版本限制,適合互動式 SWF
Amor SWF to Video Converter免費版有浮水印AVI, MP4, MOV, FLV, GIF⚠️ 部分 MC 失效⚠️ 需啟用「立體聲混音」⭐⭐⭐介面直覺,但免費版有限制
SWF to Video Converter Pro付費多種⚠️ 較好❌ 音訊常異常⭐⭐音訊問題嚴重,常需音視分離後合成
Magic Swf2Avi共享軟體AVI 為主⚠️ 基礎❌ 無壓縮 AVI 失敗⭐⭐舊工具,相容性差
Adobe Animate (匯出影片)訂閱制MP4, MOV❌ 不支援 MC/程式碼✅⭐⭐僅適合單純時間軸動畫

推薦最佳流程:Swivel (命令列) + FFmpeg 後處理

步驟 1:安裝 Swivel

# Windows (Chocolatey)
choco install swivel

# 或下載 Release zip 解壓,將 swivel.exe 加入 PATH

步驟 2:單檔轉檔 (自動偵測幀率、解析度)

swivel input.swf -o output.mp4

步驟 3:進階參數 (互動式 SWF 需手動錄製)

# 指定解析度、幀率、編碼器
swivel input.swf -o output.mp4 --width 1920 --height 1080 --fps 60 --codec libx264 --crf 18

# 若 SWF 需要互動 (點擊、鍵盤),改用「錄製模式」
swivel input.swf -o output.mp4 --record --record-time 30

步驟 4:FFmpeg 後處理 (壓縮、加水印、轉 WebM)

# 無損壓縮 (CRF 18 視覺近無損)
ffmpeg -i output.mp4 -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k final.mp4

# 轉 WebM (VP9, 適合網頁嵌入)
ffmpeg -i output.mp4 -c:v libvpx-vp9 -b:v 2M -c:a libopus final.webm

替代方案:Flash Player Projector + OBS Studio (零成本、全相容)

  1. 下載 Flash Player Projector (獨立播放器)。
  2. 安裝 OBS Studio。
  3. OBS 新增「視窗捕獲」來源,選擇 Flash Player 視窗。
  4. 設定輸出:MP4、NVENC/VCE/QuickSync 硬體編碼、CBR 8000–15000 Kbps、音訊 192 kbps AAC。
  5. 播放 SWF → 開始錄製 → 結束 → 自動產生 MP4。

✅ 優點:支援所有 AS3/MC/Stage3D/互動內容、可即時預覽、可同時錄製麥克風解說、無時間限制。
⚠️ 缺點:需即時播放 (1:1 時間)、需手動操作互動式內容。

常見問題與解決

  • 轉出來沒聲音:
    • Swivel:確認 SWF 內音訊為時間軸音效 (Stream) 而非事件音效 (Event);Event 音效需用錄製模式。
    • OBS:確認「桌面音訊」未靜音、Flash Player 音量開最大。
  • 畫面閃爍/黑畫面:SWF 使用 Stage3D (GPU 加速) → Swivel 加參數 --swf-version 23 或改用 OBS 關閉硬體加速。
  • 向量邊緣鋸齒:Swivel 指定高解析度輸出 (如 2× 或 3× 原始舞台尺寸) 再用 FFmpeg 縮放銳化。
  • 檔案過大:調高 CRF 值 (20–23)、降低解析度/幀率、改用 HEVC/H.265 (需播放器支援)。
  • 批次轉檔資料夾:
    for %f in (*.swf) do swivel "%f" -o "%~nf.mp4" --width 1280 --height 720 --fps 30
    

線上轉檔服務 (小檔案、無敏感資料)

  • CloudConvert:支援 Swivel 引擎,單檔 1GB 免費額度。
  • FreeConvert:介面友善,可調解析度/品質。

⚠️ 隱私提醒:含個人資料/商業機密的 SWF 請勿上傳雲端,務必本機離線轉檔。

總結建議

  1. 單純時間軸動畫、批次量大 → Swivel CLI + FFmpeg (最快、品質最穩)。
  2. 互動式/遊戲/AS3 複雜邏輯 → Flash Projector + OBS 錄製 (唯一 100% 相容)。
  3. 不想安裝軟體、檔案小、無隱私 → CloudConvert/FreeConvert 線上轉檔。
  4. 轉檔後統一用 FFmpeg 統一編碼為 H.264 MP4 (CRF 18–20),相容性最廣、體積品質平衡最佳。

掌握這套流程,無論是保存童年 Flash 回憶、轉換教學教材、還是整理舊專案素材,都能輕鬆將 SWF 煥新生為通用影片格式。

copyright © 萬盛學電腦網 all rights reserved