Linux: aviutl を wine で動かした話(H.264 エンコードもできる)
aviutl が wine でも動くことは解ると思いますが,32bit wine だと何故かエンコードに失敗します.
対して,バニラの 64bit wine だとエンコードはできるのですが,何故かエンコードの設定画面でフリーズします.
エンコードの設定画面でフリーズさせない方法が見つかったので,報告します.
環境など
OS
- ArchLinux
wine バージョン
- ArchLinuxでのリリース版
その他
- winetricks
やったこと
winetricks
- fakejapanese(日本語のソフトならやっておくものとして)
- dotnet45 (aviutl は dotnet40 があれば問題ないらしい)
- これがないとx264の設定を出した時点でフリーズする
パッケージマネージャ(マルチメディア関連)
- mpg123 (昔にセットアップしすぎて,本当に必要かは不明)
まとめ
これでうまく動くと思われる.
ほぼ dotnet45 のおかげ.
余談
wine では全般的に 32bit のほうがうまく動くと言われているが,これについては 64bit がうまく行った.
たぶん,エンコードだからlinuxに入っているエンコーダとか使うのかな?
それがなくて 32bit だと失敗するのかな?(ふんわり)
ならば 32bit 版のエンコーダを入れれば行けるかもしれない.ただ,64bit で動くならそれに越したことはない.
あと,エフェクトや動画をイチからつくるなら aviutl の代替が見当たらないのでこうするしかない.
aviutl レベルの柔軟さとシンプルさを持ち合わせたエディタがあればぜひコメントに.
以上
tarでまとめるのとそのままではどっちが効率がいい?
タイトルそのままの実験です.
きっかけはBMSの読み込みが長いこと, しかし, CS版の弐寺ではかなり高速. この違いは何なのか考えた時, BMSはファイルがバラバラだからではないかと考察したのでそれを検証する次第です.
大体全体で60MBぐらいあるBMS曲(厭世アリス - LeaF)をディレクトリにそのまま展開したものとtarアーカイブしたもので用意しpython3で処理してみた.
コード
標準ライブラリで読み出し, ファイルとしてダンプする.
ディレクトリ版 (naive.py)
import os import time out = open("naive.dump", "wb") start = time.time() base = "[clover]LeaF_AliceinMisanthrope" for e in os.listdir(base): buf = open(base + "/" + e, 'rb') out.write(buf.read()) buf.close() span = time.time() - start print(span)
tar版 (tar.py)
import tarfile import time out = open("tar.dump", "wb") start = time.time() handle = tarfile.TarFile.open("ensei_tar.tar") for e in handle.getmembers(): if (e.isfile()): buf = handle.extractfile(e) out.write(buf.read()) buf.close() span = time.time() - start print(span)
結果
単位はいずれも秒
% python3 naive.py 0.22434473037719727
% python3 tar.py 0.4075179100036621
tarのほうが遅い
しかしこれぐらいの差だとあんまり実感がわかないぐらいの差しかない. 読み込み速度の違いには, どうやらこれ以外の要因も関わっているようだ. (デコードとか)
主観だが, ファイル読み込みはオーバーヘッドがそれなりにあると考えていて, 個別ファイルと1ファイルにまとまっているのでは後者のほうが速度的に有利だと考えていた. しかしこれはその予想を裏切ることになっている.
不思議なこと
かなり計測にばらつきが出る. コードを書いて一番初めに実行した時にはかなり時間がかかる(10秒ぐらい). 2回め以降は上記の結果になる. なぜだかわからない.
以上
Works : MarkdownViewerQt : シンプルなMarkdownビューワ
前回の記事raptorcafeterrace.hatenablog.com
で紹介したものの公開準備ができました.
Works : MarkdownViewerQt - Markdownビューワー(Linux + Qt)
qlmarkdownみたいな手軽さでMarkdownを見られたら良いなと思ってqtで作成したものです.
今回は紹介だけで, ビルド可能なパッケージはまだ準備出来ていません.