【Mac自動化】Real-ESRGANとAppleScriptで動画を高画質化!FFmpeg連携で一気に縦型1080pへ書き出す方法

低画質な動画をAIで美しく蘇らせる「Real-ESRGAN」。 しかし、動画を扱うには「動画を画像に分解→AI処理→動画に再結合」という手間のかかる工程が必要です。

今回は、この一連の作業をAppleScriptで完全自動化しました。ボタン一つで、AIによるアップスケールから、YouTubeショートやTikTokに最適な1080×1920(9:16縦型Portrait)の動画書き出しまで完了します!

目次

スポンサーリンク

Real-ESRGanとは? 強力な無料の画像補正AI

Real-ESRGANってご存知の方も多いかと思いますが、非常に強力な画像修正機能を持っているAIモジュールです。 前回の記事ではPixelmator Proの機能を使ってアップスケールしましたが、今回はReal-ESRGANを使って完全無料でアップスケールしてみましょう。

こちらが高画質化前
猫の顔が若干ぼんやりしているのがわかります。

こちらが高画質化後
全体的にくっきりしてモヤモヤ感がなくなっていますね。

1. はじめに

低画質な動画をAIで美しく蘇らせる「Real-ESRGAN」。 しかし、動画を扱うには「動画を画像に分解→AI処理→動画に再結合」という手間のかかる工程が必要です。

今回は、この一連の作業をAppleScriptで完全自動化しました。ボタン一つで、AIによるアップスケールから、YouTubeショートやTikTokに最適な1080×1920(9:16)の動画書き出しまで完了します。

2. 事前準備

このスクリプトを動かすには、以下のツールがMacにインストールされている必要があります。

  • FFmpeg: 動画の分解・結合に使用。
  • Real-ESRGAN (ncnn-vulkan): AIアップスケールの本体。

FFmpegは過去記事でつかっていますので、インストールはそちらを参考にしていただけるといいでしょう。

Real-ESRGanはGithubからダウンロードしてわかりやすい場所に解凍しておいてください。リンクは↓

3. AppleScriptコード

自動化スクリプトはScript Editerから新規作成してみましょう。下のスクリプトをコピペして

set realEsrganDir to “/Users/YOUR_NAME/realesrgan-ncnn-vulkan-20220424-macos”
上記の行のダブルコーテーションで囲った部分にReal-ESRGanのrealesrgan-ncnn-vulkanが入っている
フォルダーの場所を上書きすればOKです。

set realEsrganDir to “/Users/YOUR_NAME/realesrgan-ncnn-vulkan-20220424-macos”
ダブルコーテーション内は必ずご自身の環境に合わせて上書きしてください。

-- 1. 動画ファイルの選択
set sourceVideo to (choose file with prompt "アップスケールしたい動画を選択してください")
set posixSource to POSIX path of sourceVideo

-- 2. 作業用フォルダのパス設定(デスクトップに自動作成)
set desktopPath to POSIX path of (path to desktop)
set workFolder to desktopPath & "Upscale_Work/"
set inFolder to workFolder & "tmp_frames/"
set outFolder to workFolder & "tmp_outframes/"

-- 3. フォルダの実作成とクリーンアップ
do shell script "mkdir -p " & quoted form of inFolder
do shell script "mkdir -p " & quoted form of outFolder
do shell script "rm -f " & quoted form of inFolder & "*.png"
do shell script "rm -f " & quoted form of outFolder & "*.png"

-- 4. 実行パスの設定(環境に合わせて変更してください)
set ffmpegPath to "/opt/homebrew/bin/ffmpeg"
set realEsrganDir to "/Users/YOUR_NAME/realesrgan-ncnn-vulkan-20220424-macos"

-- 5. 動画を連番画像に分解
do shell script ffmpegPath & " -i " & quoted form of posixSource & " -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 " & quoted form of (inFolder & "frame%08d.png")

-- 6. Real-ESRGANで一括アップスケール(x4plusモデル使用)
do shell script "cd " & quoted form of realEsrganDir & " && ./realesrgan-ncnn-vulkan -i " & quoted form of inFolder & " -o " & quoted form of outFolder & " -n realesrgan-x4plus -s 4"

-- 7. 縦型1080p(9:16)動画に再結合
set outputVideo to workFolder & "Final_RealESRGAN_1080p.mp4"
do shell script ffmpegPath & " -framerate 24 -i " & quoted form of (outFolder & "frame%08d.png") & " -vf scale=1080:1920 -c:v libx264 -pix_fmt yuv420p -crf 18 " & quoted form of outputVideo

-- 8. 完了通知
display dialog "処理が完了しました!" buttons {"フォルダを開く", "閉じる"} default button "フォルダを開く"
if button returned of result is "フォルダを開く" then
    do shell script "open " & quoted form of workFolder
end if

4. スクリプトの重要ポイント解説

  • 動画の分解と結合: FFmpegを介することで、Real-ESRGAN単体では難しい「動画」のアップスケールを可能にしています。
  • 縦型(Portrait)への最適化: 手順7の -vf scale=1080:1920 によって、どんな動画もSNSに最適なアスペクト比で出力されるよう調整しています。横型に変更したい場合はこの箇所を書き換えればOK
  • 作業ディレクトリの移動cd コマンドを挟むことで、実行ファイルと同じ階層にあるモデルデータを確実に読み込ませる工夫をしています。

Pixelmator Proとの違い

Pixelmator Proの「ML超解像」と何が違うの?

Macで画像を高画質化するなら、有名アプリ「Pixelmator Pro」のML Super Resolutionを思い浮かべる方も多いはず。実は、今回のReal-ESRGANとは以下のような違いがあります。

比較項目Pixelmator Pro (ML Super)Real-ESRGAN (今回のスクリプト)
得意な対象写真、ノイズの少ない綺麗な画像劣化した動画、アニメ、古い写真
補完の質自然でマイルドな補完クッキリとエッジを強調する補完
動画対応基本1枚ずつ(手動)全自動で動画1本丸ごと処理
コストアプリ購入が必要(有料)完全無料 (オープンソース)
手軽さGUIでボタンを押すだけスクリプトの準備が必要

1. 「質感」のPixelmator、 「復元」のReal-ESRGAN

Pixelmator Proは、AppleのCore MLエンジンを使い、写真としての自然さを保ったまま拡大するのが得意です。一方で、Real-ESRGANはGAN(敵対的生成ネットワーク)という仕組みを使っており、「失われたディテールをAIが想像して描き足す」力が非常に強力です。

古いガサガサした動画や、少しぼやけたアニメ素材などを「パキッ」とさせたいなら、Real-ESRGANに軍配が上がります。

2. 有料か無料かが決定的な差

Pixelmator Proは有料ですが、Real-ESRGANはGANは無料ですのでそこが大きな差です。

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

システム開発SE・アプリ開発・デバッガー等々なんでもやる猫の下僕です。現在は凶暴猫にカタカタ動く手を狙われながらキーボードを打っています。かなりゆるい性格なのでコメントやメッセージお気軽に〜お仕事のご依頼もお気軽にぃ〜

スポンサーリンク

コメント

コメントする

CAPTCHA


目次