2024/4/17 追記
なんかL-SMASHプラグイン作ってる人がAviUtlをスマホで動かしてたよ
こっちのほうが信頼できるからこっちでやってみて
https://scrapbox.io/Mr-Ojii/Android%E7%AB%AF%E6%9C%AB%E3%81%A7AviUtl%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86
…あ、ここから飛んてきた????
2024/7/16 追記
Mr-Ojii様の記事を参考に、大幅に簡略化しました。
編集ログを遡れば、過去の方法を見られると思います。
大 前 提
これはAndroid専用です。
iPhoneの方は諦めるか自力で頑張りましょう。
俺は絶対やんない
なんでそんなことしようと思ったのか
スマホ用の動画編集アプリって…なんかこう……使いにくくないですか?
数値を直接指定できなかったりするし、当然ウィンドウもない。それと、どうしてもマウスが欲しくなる。
え?俺だけ??
注意事項
こまめにキャッシュを削除しても最終的にマジで4GB消費します。
ストレージと時間とネットに余裕がある時にやりましょう。
やり方
Step 0
まずはTermuxをインストールしましょう。
GooglePlayでもリリースされていますが、GooglePlayの仕様変更のせいで互換性が大幅に落ちています。
なにか特殊な事情がない限りF-Droidからインストールしましょう。
真っ先に水色の大きなボタンで「F-DROIDをダウンロード」と出ていますが、Termuxを入れるだけであれば不要です。
下の方にある「APKをダウンロード」というリンクで、Termuxを直接ダウンロードできます。
それとお好きなVNCクライアントもインストールしておいてください。
個人的にはRealVNC Viewerが使いやすいです。
Step 1
Termuxにパッケージをインストールします。
yes|pkg update
pkg install proot-distro pulseaudio -y
PulseAudioを設定して起動します。
echo "load-module module-native-protocol-tcp auth-anonymous=true" >> $PREFIX/etc/pulse/default.pa
echo "exit-idle-time = -1" >> $PREFIX/etc/pulse/daemon.conf
pulseaudio --start
Termux内から、Androidのファイルへアクセスできるようにします。
termux-setup-storage
このコマンドを実行すると、ダイアログが表示されるので許可します。
Ubuntuをインストールしてログインします。
べつにUbuntuじゃなくDebianでもいいと思いますが大して変わらないと思ってます。
proot-distro install ubuntu
proot-distro login ubuntu
とりあえずこれでスマホからラズパイのLinuxくらいに格上げされました。
Step 2
Ubuntuに必要なパッケージたちをインストールしていきます
apt update && apt upgrade -y
apt install wget tigervnc-standalone-server jwm -y
途中でタイムゾーンの設定が入って、「Please select the geographic area in which you live. (あなたが住んでいる地域を選択してください。)」と聞かれます。
「5. Asia」と「78. Tokyo」を選択しましょう。
Hangoverをインストールします。
このソフトは、WineとBox64とFEX-Emuを組み合わせたもので、Windows x86のアプリをLinux arm64で動作させることができます。
こちらから、最新バージョンのHangoverをダウンロードしてください。
https://github.com/AndreRH/hangover/releases/latest
ダウンロードしたものを、解凍してインストールします。
mkdir hangover
tar xf /sdcard/Download/hangover_*.tar -C hangover
apt install ./hangover/*.deb -y
環境変数を設定します。
echo "export WINEDEBUG=-all" >> .profile
echo "export DISPLAY=:1" >> .profile
echo "export PULSE_SERVER=localhost" >> .profile
source .profile
VNCサーバーを起動します
vncserver -geometry 1280x720 -xstartup jwm -SecurityTypes None :1
Wineを起動します。
wine cmd /c $'echo WINEPREFIX\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\uff01'
少し待つと、「WINEPREFIXが作成されました!」と表示されます。
とりあえずこれで最低限Windowsのアプリは動くようになりました。
しかし、このままだと日本語のソフトは文字化けしてまともに使えません。
Step 3
ということで日本語化していきます。
apt install language-pack-ja fonts-noto-cjk -y
echo "export LANG=ja_JP.UTF8" >> .profile
source .profile
一度
date
というコマンドを実行してみてください。
表示が日本語になっていれば成功です。
Wineにも日本語のフォントをインストールします。
wget "https://gist.githubusercontent.com/nogajun/6095ed8488ef9449e63dc1ce578ae55e/raw/85ced2a3dd8a8ed960e3de96b2127f960cfc1de6/wine-japanese.reg"
sed -i "s/Ume Gothic/Noto Sans CJK JP/g" wine-japanese.reg
sed -i "s/Ume Mincho/Noto Serif CJK JP/g" wine-japanese.reg
sed -i "s/Ume P Gothic/Noto Sans CJK JP/g" wine-japanese.reg
sed -i "s/Ume P Mincho/Noto Serif CJK JP/g" wine-japanese.reg
sed -i "s/Ume UI Gothic/Noto Sans CJK JP/g" wine-japanese.reg
sed -i "s/Ume UI Mincho/Noto Serif CJK JP/g" wine-japanese.reg
wine regedit wine-japanese.reg
終わったら、いよいよAviUtlをダウンロードしましょう。
せっかくなんで(あと面倒なんで)Linuxのコマンドでダウンロードして解凍しちゃいましょう。
# TermuxのunzipはShift-JISを処理できないので、ubuntuのunzipを使う
apt install unzip -y
exec bash -l
wget http://spring-fragrance.mints.ne.jp/aviutl/aviutl110.zip
unzip -O sjis -d aviutl110 aviutl110.zip
wget http://spring-fragrance.mints.ne.jp/aviutl/exedit92.zip
unzip -O sjis -d aviutl110/plugins exedit92.zip
これでAviUtlがダウンロードできました。
Step 4
これでおそらくAviUtlが起動するはずです………。
wine aviutl110/aviutl.exe
# 起動しなかった場合、ダメ元でFEX-Emuで実行してみてください。
# ただしBox64の倍重いです。
# env HODLL=libwow64fex.dll wine aviutl110/aviutl.exe
VNCクライアントを開いて確認してください。
うまく行ったなら、スマホでAviUtlを動かすのは成功です!
次回起動する場合
以下のコマンドを実行してください。
proot-distro login ubuntu
vncserver -geometry 1280x720 -xstartup jwm -SecurityTypes None :1
wine aviutl110/aviutl.exe
おまけ
GPUエンコード
無理です。
Androidには、Java用のGPUエンコードAPIはありますが、Linuxソフトには公開されていません。
なのでマジでどうしようもないです。
(そもそもArm64向けのGPUエンコードAPIに対応してるとは思えないが)
L-SMASH Works
入れれば普通に使えます。
https://github.com/Mr-Ojii/L-SMASH-Works-Auto-Builds/releases/latest
ここからL-SMASH-Works_[バージョン]_Mr-Ojii_Mr-Ojii.zip
をダウンロードします。
プラグインのフォルダに解凍します。
unzip -O sjis -d aviutl110/plugins /sdcard/Download/L-SMASH-Works*.zip
これで、いろんなコーデックのデータを読み込めるようになります。
patch.aul
入れれば普通に使えます。
しかし、OpenCLは使用できません。(Wine環境の中にOpenCL.dll
が無い)
また、AVX2最適化はx86用のものなので、arm64ではあまり性能向上は期待できないと思います。
とはいえメインはバグ修正なので入れる価値は大いにあります。
https://scrapbox.io/nazosauna/Visual_C++_%E5%86%8D%E9%A0%92%E5%B8%83%E5%8F%AF%E8%83%BD%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B
これに従ってVisual C++ランタイムをインストールしてください。
https://github.com/nazonoSAUNA/patch.aul/releases/latest
ここから最新のpatch.aulをダウンロードします。
プラグインのフォルダに解凍します。
unzip -d aviutl110/plugins/ /sdcard/Download/patch.aul_*.zip
# 警告ポップアップを止めたいとき
# 一度起動して設定ファイルが作成されたあと、AviUtlが閉じているときに書き換える必要があります
sed -i 's/"fast.cl" : true,/"fast.cl" : false,/' aviutl110/plugins/patch.aul.json
Boostプラグイン
なんと使えます。ちゃんと爆速になります。patch.aulもDirectXかVulkanで高速化してほしかったなぁ
https://aviutl.techblog.jp/archives/aviutl_plugin_boost.html
ただし、いろいろ面倒な作業が必要です。
https://github.com/MastaG/mesa-turnip-ppa
Termux:X11とTurnip Vulkanドライバーをインストールして、
https://github.com/doitsujin/dxvk?tab=readme-ov-file#how-to-use
DXVKをインストールして、
これで使えるようになります。
全部書いたら記事の長さが倍になるので説明はしません。
AVI出力(マルチスレッド)
動作はしますが効果があるコーデックは使えません。
拡張x264出力
使用できません。
.NET FrameworkおよびMonoをインストールできないため、GUIを表示しようとするとエラーになります。
出力しようとするとフリーズします。
かんたんmp4出力
これも無理でした。
ffmpegOut
起動さえしません。
AVI出力コーデック
出力テストに使用した動画
https://youtu.be/miW9MVahIIA
x264 AACで78MB程度です。
無圧縮
できないわけ無いですが、信じられないくらいサイズが大きくなります。
720p30FPSの動画で1分あたり5GBになります。
上の動画では18GBくらいのサイズになりました。
YUY2
無圧縮よりは小さくなります。
11GBくらいのサイズになりました。
x264 VFW
インストールすれば普通に使えます。GUI設定も開きました。
インストールするのは32bitだけで大丈夫だと思います。
Ultrafast, CRF23で221MB程度のサイズになりました。
HuffYUV
認識されませんでした。
Ut Video Codec Suite
インストールすれば普通に使えます。
2.5GBくらいのサイズになりました。
Lagarith Lossless Video Codec
インストールすれば普通に使えます。
1.7GBくらいのサイズになりました。
MLC Codec
インストールできませんでした。
使用しているオブジェクトやエフェクトによると思いますが、無圧縮とx264以外の各種エンコーダで出力の速度は変わりませんでした。(Snapdragon 8 Gen 2で7~11FPS程度)
x264の場合、Ultrafastで7~9FPS程度でした。Mediumでは4~6FPS程度です。
日本語入力
コピペでどうにかなりますが、LinuxのIMEも使用できます。
簡単にインストールできるのはFcitx Anthyです。
apt install fcitx-anthy -y
echo "export GTK_IM_MODULE=fcitx" >> .profile
echo "export XMODIFIERS=@im=fcitx" >> .profile
echo "export QT_IM_MODULE=fcitx" >> .profile
echo "export DefaultIMModule=fcitx" >> .profile
echo "fcitx-autostart &> /dev/null &" >> .profile
source .profile
しかしAnthyは非常に…使いにくいので、どうにかしてMozcを入れたほうがいいです。(すまほ→酢真帆 みたいな感じでとにかくすごい)
そんなに難しくないのでやりたい方は自力でどうぞ。
さいごに
PC使ったほうがいいのは確かにそうです。
でも世の中にはPC持って無くてスマホしか渡されてない人もいるんです。
そんな人の、ちょっとした踏み台になれればな〜と思ってます。
参考