Linux: aviutl を wine で動かした話(H.264 エンコードもできる)

aviutl が wine でも動くことは解ると思いますが,32bit wine だと何故かエンコードに失敗します.

rigaya34589.blog.fc2.com

対して,バニラの 64bit wine だとエンコードはできるのですが,何故かエンコードの設定画面でフリーズします.

エンコードの設定画面でフリーズさせない方法が見つかったので,報告します.

環境など

OS

  • ArchLinux

wine バージョン

  • ArchLinuxでのリリース版

その他

  • winetricks

やったこと

winetricks

  • fakejapanese(日本語のソフトならやっておくものとして)
  • dotnet45 (aviutl は dotnet40 があれば問題ないらしい)
    • これがないとx264の設定を出した時点でフリーズする

パッケージマネージャ(マルチメディア関連)

  • mpg123 (昔にセットアップしすぎて,本当に必要かは不明)

まとめ

これでうまく動くと思われる.

ほぼ dotnet45 のおかげ.

余談

wine では全般的に 32bit のほうがうまく動くと言われているが,これについては 64bit がうまく行った.

たぶん,エンコードだからlinuxに入っているエンコーダとか使うのかな?

それがなくて 32bit だと失敗するのかな?(ふんわり)

あと,エフェクトや動画をイチからつくるなら aviutl の代替が見当たらないのでこうするしかない.

aviutl レベルの柔軟さとシンプルさを持ち合わせたエディタがあればぜひコメントに.

以上

Works : VR 機材を使わずにフェイストラッキングを行うアプリケーションを作る

動機

私は Linux 使いです. Windows もありますが Linux も使います.

VTuber を初めとした V の者の活動を支援するツールは Windows にはいっぱいあります.

あとは解ると思いますが Linux にはほぼありません. (あるかもしれませんが, ちょっと探したぐらいでは見つからないぐらいにはありません)

これでは Linux をメインに活動する際に支障が出ます.

なので自分で作ることにしました.

続きを読む

プログラミング: fontconfig を C言語で使う

概要

fontconfig とは linux をはじめとするシステムに於いてインストールされているフォントを管理する機能である.

fontconfig を用いることによってフォントを必要とするプログラムに於いて, フォントのパス指定が必要なくなる. また, スタイルや文字セットなどの指定から最適なフォントを選択することもできる.

続きを読む

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ビューワー(Linux + Qt)

qlmarkdownみたいな手軽さでMarkdownを見られたら良いなと思ってqtで作成したものです.
今回は紹介だけで, ビルド可能なパッケージはまだ準備出来ていません.

追記:準備ができました.

続きを読む