FLYING

/* TODO: 気の利いた説明を書く */

SWFをニコニコ向けにエンコードする覚え書き

昔のやり方

  • Flash側でMOV書き出し
  • QTConverterで無圧縮AVIに変換
  • お好きなエンコーダに突っ込む
  • FlashからAVIへの書き出しがうまくいかないのでこんな方法でやってた気がします
  • QTConverterで変換する段階で無視できないレベルの音ズレが発生する模様
  • 音ズレの発生しない方法を以下に書きます

今のやり方

導入
手順
  • Aviutlにファイルを読み込む
    • SWFをAviutlに読み込む
    • BGMは別途WAVに変換してAviutlに音声として読み込む
  • フィルター設定
    • UVダウンサンプリングを有効にする
      • オプションでパラメータNを2または3に設定(理由後述)
      • オプションでYUV420のチェックボックスを有効にする
    • AVI出力で書き出し
      • 映像:未圧縮
      • 音声:PCM/44.1kHz/2ch
  • 出力したAVIをつんでれんこに突っ込む
    • 設定はお好きなように。つんでれんこかわいい
注意点

AVIの動画データはRGB色空間,x264の動画データはYUV420色空間で表現される関係で,エンコード時に色空間の変換が行われる。これにより黒字に赤で書いた文字などが滲むことがある。上記のプラグイン「UVダウンサンプリング」を適用することでこの現象が多少低減される。らしい。

疑問点

MovieClipやActionScriptを利用したSWFファイルの場合,どこまでAVIに反映されるのか?

ためになるリンク集

r_Effect blog:swf (avi)を高画質でmp4に変換・エンコードする手順
√Effectさんの図解付きまとめ記事
Aviutlでx264GUIを使用したh264mp4エンコードをする場合の注意点について - えむえむでえ
x264を利用してエンコードした際に発生する色にじみについてのまとめ記事